167 lines
		
	
	
		
			4.5 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			167 lines
		
	
	
		
			4.5 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
| # 企业级办公App
 | ||
| 
 | ||
| 一个基于UniApp开发的企业级办公移动应用,提供完整的办公功能解决方案。
 | ||
| 
 | ||
| ## 功能特性
 | ||
| 
 | ||
| ### 🏠 工作台
 | ||
| - **数据概览**: 待审批数量、考勤状态、报销进度等关键数据展示
 | ||
| - **快捷操作**: 自定义快捷功能入口,支持拖拽排序
 | ||
| - **常用工具**: 计算器、通讯录、文件传输等辅助工具
 | ||
| 
 | ||
| ### 💬 消息
 | ||
| - **会话管理**: 支持单聊和群聊,消息预览和未读提醒
 | ||
| - **通知中心**: 按类型分组的系统通知,支持分类查看
 | ||
| - **消息搜索**: 全局搜索会话和通知内容
 | ||
| 
 | ||
| ### ⚙️ 功能
 | ||
| - **人事管理**: 考勤打卡、请假申请、加班申请、调休记录
 | ||
| - **财务报销**: 报销提交、进度查询、历史记录
 | ||
| - **工作协同**: 任务管理、会议预订、项目协作
 | ||
| - **资源管理**: 客户目录、企业文件库、权限管理
 | ||
| 
 | ||
| ### 👤 我的
 | ||
| - **个人信息**: 头像、姓名、部门、工号等基础信息
 | ||
| - **数据概览**: 考勤率、任务完成数、待报销金额
 | ||
| - **账号安全**: 密码修改、手机绑定、账号注销
 | ||
| - **APP设置**: 消息提醒、主题切换、缓存清理、版本更新
 | ||
| - **帮助反馈**: 常见问题、意见反馈、客服联系
 | ||
| 
 | ||
| ## 技术架构
 | ||
| 
 | ||
| ### 前端技术栈
 | ||
| - **框架**: UniApp (Vue 3 + Vite)
 | ||
| - **状态管理**: Pinia + 持久化插件
 | ||
| - **UI组件**: uView UI 2.0
 | ||
| - **样式**: SCSS + 响应式设计
 | ||
| - **构建工具**: Vite
 | ||
| 
 | ||
| ### 项目结构
 | ||
| ```
 | ||
| mobile/
 | ||
| ├── pages/                 # 页面文件
 | ||
| │   ├── index/            # 工作台
 | ||
| │   ├── message/          # 消息
 | ||
| │   ├── function/         # 功能
 | ||
| │   └── profile/          # 我的
 | ||
| ├── src/
 | ||
| │   ├── store/            # 状态管理
 | ||
| │   ├── components/       # 通用组件
 | ||
| │   ├── utils/            # 工具函数
 | ||
| │   └── api/              # API接口
 | ||
| ├── static/               # 静态资源
 | ||
| │   └── tabbar/           # TabBar图标
 | ||
| ├── App.vue               # 应用入口
 | ||
| ├── main.js               # 主文件
 | ||
| ├── pages.json            # 页面配置
 | ||
| ├── manifest.json         # 应用配置
 | ||
| └── vue.config.js         # Vite配置
 | ||
| ```
 | ||
| 
 | ||
| ## 核心设计理念
 | ||
| 
 | ||
| ### 1. 用户体验优先
 | ||
| - **3步内触达**: 确保用户3步内可触达任意功能
 | ||
| - **个性化定制**: 支持快捷操作自定义和主题切换
 | ||
| - **智能提醒**: 未读消息红点提示,避免信息遗漏
 | ||
| 
 | ||
| ### 2. 功能模块化
 | ||
| - **分类聚合**: 按业务场景分类,避免功能杂乱
 | ||
| - **权限控制**: 基于角色的功能权限管理
 | ||
| - **流程跟踪**: 申请流程实时进度跟踪
 | ||
| 
 | ||
| ### 3. 数据驱动
 | ||
| - **实时数据**: 工作数据实时更新和同步
 | ||
| - **智能分析**: 使用频率统计,自动优化功能排序
 | ||
| - **离线支持**: 关键数据本地缓存,支持离线使用
 | ||
| 
 | ||
| ## 开发指南
 | ||
| 
 | ||
| ### 环境要求
 | ||
| - Node.js >= 16.0.0
 | ||
| - HBuilderX 或 VS Code + uni-app插件
 | ||
| 
 | ||
| ### 安装依赖
 | ||
| ```bash
 | ||
| npm install
 | ||
| ```
 | ||
| 
 | ||
| ### 开发运行
 | ||
| ```bash
 | ||
| # H5端
 | ||
| npm run dev:h5
 | ||
| 
 | ||
| # 微信小程序
 | ||
| npm run dev:mp-weixin
 | ||
| 
 | ||
| # App端
 | ||
| npm run dev:app
 | ||
| ```
 | ||
| 
 | ||
| ### 构建发布
 | ||
| ```bash
 | ||
| # 构建H5
 | ||
| npm run build:h5
 | ||
| 
 | ||
| # 构建微信小程序
 | ||
| npm run build:mp-weixin
 | ||
| 
 | ||
| # 构建App
 | ||
| npm run build:app
 | ||
| ```
 | ||
| 
 | ||
| ## 配置说明
 | ||
| 
 | ||
| ### 1. API配置
 | ||
| 在 `src/api/index.js` 中修改 `BASE_URL` 为实际的后端API地址。
 | ||
| 
 | ||
| ### 2. 权限配置
 | ||
| 在 `src/store/userStore.js` 中配置用户权限列表。
 | ||
| 
 | ||
| ### 3. 主题配置
 | ||
| 在 `App.vue` 中修改全局样式变量。
 | ||
| 
 | ||
| ### 4. TabBar图标
 | ||
| 将图标文件放置在 `static/tabbar/` 目录下,参考 `static/tabbar/README.md`。
 | ||
| 
 | ||
| ## 功能扩展
 | ||
| 
 | ||
| ### 添加新页面
 | ||
| 1. 在 `pages/` 目录下创建页面文件夹
 | ||
| 2. 在 `pages.json` 中注册页面路由
 | ||
| 3. 如需要TabBar,添加到 `tabBar.list` 配置中
 | ||
| 
 | ||
| ### 添加新组件
 | ||
| 1. 在 `src/components/` 目录下创建组件文件
 | ||
| 2. 在需要使用的页面中导入组件
 | ||
| 3. 遵循Vue 3 Composition API规范
 | ||
| 
 | ||
| ### 添加新API
 | ||
| 1. 在 `src/api/index.js` 中添加API方法
 | ||
| 2. 在页面中导入并使用API
 | ||
| 3. 处理请求和响应拦截器
 | ||
| 
 | ||
| ## 部署说明
 | ||
| 
 | ||
| ### 微信小程序
 | ||
| 1. 在微信公众平台注册小程序
 | ||
| 2. 配置 `manifest.json` 中的 `mp-weixin.appid`
 | ||
| 3. 使用微信开发者工具上传代码
 | ||
| 
 | ||
| ### App端
 | ||
| 1. 配置 `manifest.json` 中的App信息
 | ||
| 2. 使用HBuilderX云打包或本地打包
 | ||
| 3. 生成安装包并分发
 | ||
| 
 | ||
| ### H5端
 | ||
| 1. 构建完成后将 `dist/build/h5` 目录部署到Web服务器
 | ||
| 2. 配置域名和HTTPS证书
 | ||
| 
 | ||
| ## 许可证
 | ||
| 
 | ||
| MIT License
 | ||
| 
 | ||
| ## 联系方式
 | ||
| 
 | ||
| 如有问题或建议,请联系开发团队。
 |