|
|
# 通用功能
|
|
|
|
|
|
> 模块编码:common
|
|
|
> 端侧:小程序
|
|
|
> 关联文档:01-模块划分.md §5.2、02-功能清单-小程序端.md §1、03-业务流转逻辑-小程序端.md §1&10、05-接口规范.md §2、06-项目技术要求.md §4.1
|
|
|
|
|
|
## 功能概览
|
|
|
|
|
|
| 项目 | 说明 |
|
|
|
|------|------|
|
|
|
| 菜单名称 | 通用功能 |
|
|
|
| 子菜单 | 快捷登录、个人信息、消息通知、数据补录申请、版本更新提示、通讯录 |
|
|
|
| 功能编号 | MP-C-01 ~ MP-C-06 |
|
|
|
| 权限编码 | —(通用功能,登录即可用) |
|
|
|
|
|
|
## 页面清单
|
|
|
|
|
|
### 页面1:登录页
|
|
|
|
|
|
- **页面路径**:`/pages/login/index`
|
|
|
- **页面元素**:
|
|
|
- 微信授权登录按钮(获取openid)
|
|
|
- 手机号绑定按钮(微信获取手机号组件)
|
|
|
- 用户协议与隐私政策链接
|
|
|
- 版本号展示
|
|
|
- **界面布局**:
|
|
|
- 顶部:应用Logo + 系统名称
|
|
|
- 中部:微信一键登录按钮(大按钮,居中)
|
|
|
- 底部:版本号 + 协议链接
|
|
|
- **操作按钮**:
|
|
|
| 按钮 | 权限 | 说明 |
|
|
|
|------|------|------|
|
|
|
| 微信一键登录 | — | 触发wx.login()获取code,后端换openid |
|
|
|
| 获取手机号 | — | 微信获取手机号组件,绑定手机号 |
|
|
|
|
|
|
### 页面2:工作台首页
|
|
|
|
|
|
- **页面路径**:`/pages/workbench/index`
|
|
|
- **页面元素**:
|
|
|
- 用户头像 + 姓名 + 角色
|
|
|
- 功能入口网格(根据角色动态渲染)
|
|
|
- 消息通知红点提示
|
|
|
- 今日关键指标简卡
|
|
|
- **查询条件**:无
|
|
|
- **列表字段**:无
|
|
|
- **界面布局**:
|
|
|
- 顶部:用户信息栏(头像 + 姓名 + 角色 + 消息入口)
|
|
|
- 中部:功能入口网格(2列×N行,按角色动态显示)
|
|
|
- 维修人员:我的工单、消息通知
|
|
|
- 巡检人员:今日巡检、异常上报
|
|
|
- 保洁人员:今日保洁、异常反馈
|
|
|
- 主管:工单分配、审批中心、统计概览
|
|
|
- 管理员:报修管理、巡检管理、保洁管理、考勤管理、评价管理、组织架构
|
|
|
- 底部:底部Tab栏(工作台、消息、我的)
|
|
|
- **操作按钮**:
|
|
|
| 按钮 | 权限 | 说明 |
|
|
|
|------|------|------|
|
|
|
| 各功能入口 | 按角色 | 根据权限集动态显示/隐藏 |
|
|
|
|
|
|
### 页面3:个人信息页
|
|
|
|
|
|
- **页面路径**:`/pages/profile/index`
|
|
|
- **页面元素**:
|
|
|
- 头像(可点击查看大图)
|
|
|
- 姓名(只读)
|
|
|
- 手机号(脱敏显示,可修改)
|
|
|
- 所属物业公司(只读)
|
|
|
- 所属班组(只读)
|
|
|
- 角色信息(只读)
|
|
|
- 退出登录按钮
|
|
|
- **查询条件**:无
|
|
|
- **列表字段**:无
|
|
|
- **界面布局**:
|
|
|
- 顶部:头像(居中,大尺寸)
|
|
|
- 中部:信息列表(Label + Value形式)
|
|
|
- 底部:退出登录按钮(红色文字)
|
|
|
- **操作按钮**:
|
|
|
| 按钮 | 权限 | 说明 |
|
|
|
|------|------|------|
|
|
|
| 修改手机号 | — | 弹出微信获取手机号组件 |
|
|
|
| 退出登录 | — | 清除本地token,跳转登录页 |
|
|
|
|
|
|
### 页面4:消息通知列表
|
|
|
|
|
|
- **页面路径**:`/pages/message/list`
|
|
|
- **页面元素**:
|
|
|
- 消息分类Tab(全部 / 工单 / 审批 / 系统)
|
|
|
- 消息列表
|
|
|
- 未读标记红点
|
|
|
- 全部标记已读按钮
|
|
|
- **查询条件**:
|
|
|
| 条件 | 类型 | 说明 |
|
|
|
|------|------|------|
|
|
|
| 分类 | Tab切换 | 全部/工单/审批/系统 |
|
|
|
- **列表字段**:
|
|
|
| 字段 | 说明 |
|
|
|
|------|------|
|
|
|
| 消息标题 | 通知标题 |
|
|
|
| 消息摘要 | 内容前30字 |
|
|
|
| 消息时间 | 相对时间(如"5分钟前") |
|
|
|
| 已读标记 | 红点显示未读 |
|
|
|
| 消息类型图标 | 不同类型不同图标 |
|
|
|
- **界面布局**:
|
|
|
- 顶部:分类Tab
|
|
|
- 中部:消息列表(左图标 + 中标题摘要 + 右时间 + 未读红点)
|
|
|
- 底部:全部标记已读按钮
|
|
|
- **操作按钮**:
|
|
|
| 按钮 | 权限 | 说明 |
|
|
|
|------|------|------|
|
|
|
| 全部标记已读 | — | 将所有未读消息标为已读 |
|
|
|
| 点击消息 | — | 跳转到对应业务详情页 |
|
|
|
|
|
|
### 页面5:数据补录申请页
|
|
|
|
|
|
- **页面路径**:`/pages/supplement/apply`
|
|
|
- **页面元素**:
|
|
|
- 补录模块选择(报修/巡检/保洁/考勤)
|
|
|
- 补录原因(下拉选择:蓝牙失灵/定位失败/系统异常/其他)
|
|
|
- 补录说明(多行文本,最多200字)
|
|
|
- 证明材料上传(照片,最多3张)
|
|
|
- 补录数据表单(根据选择的模块动态渲染)
|
|
|
- **查询条件**:无
|
|
|
- **列表字段**:无
|
|
|
- **界面布局**:
|
|
|
- 顶部:补录模块选择(下拉选择器)
|
|
|
- 中部:补录原因 + 说明 + 上传证明
|
|
|
- 下部:补录数据表单(动态)
|
|
|
- 底部:提交按钮
|
|
|
- **操作按钮**:
|
|
|
| 按钮 | 权限 | 说明 |
|
|
|
|------|------|------|
|
|
|
| 提交申请 | — | 提交补录申请,等待主管审核 |
|
|
|
|
|
|
### 页面6:通讯录页
|
|
|
|
|
|
- **页面路径**:`/pages/contacts/index`
|
|
|
- **页面元素**:
|
|
|
- 搜索框
|
|
|
- 按班组分组显示联系人
|
|
|
- 联系人信息卡片
|
|
|
- **查询条件**:
|
|
|
| 条件 | 类型 | 说明 |
|
|
|
|------|------|------|
|
|
|
| 搜索关键词 | 输入框 | 按姓名/手机号搜索 |
|
|
|
- **列表字段**:
|
|
|
| 字段 | 说明 |
|
|
|
|------|------|
|
|
|
| 头像 | 联系人头像 |
|
|
|
| 姓名 | 联系人姓名 |
|
|
|
| 角色 | 联系人角色 |
|
|
|
| 手机号 | 脱敏显示,点击可拨打 |
|
|
|
| 班组 | 所属班组 |
|
|
|
- **界面布局**:
|
|
|
- 顶部:搜索框
|
|
|
- 中部:按班组分组的联系人列表
|
|
|
- 班组标题(灰色背景)
|
|
|
- 联系人卡片(左头像 + 中姓名角色 + 右手机号图标)
|
|
|
- **操作按钮**:
|
|
|
| 按钮 | 权限 | 说明 |
|
|
|
|------|------|------|
|
|
|
| 拨打电话 | — | 点击手机号直接拨打 |
|
|
|
|
|
|
### 页面7:版本更新提示弹窗
|
|
|
|
|
|
- **页面路径**:弹窗组件(非独立页面)
|
|
|
- **页面元素**:
|
|
|
- 新版本号
|
|
|
- 更新内容说明
|
|
|
- 更新/取消按钮(小版本)
|
|
|
- 强制更新按钮(大版本)
|
|
|
- **界面布局**:
|
|
|
- 居中弹窗
|
|
|
- 顶部:版本号
|
|
|
- 中部:更新说明
|
|
|
- 底部:操作按钮
|
|
|
|
|
|
## 需求追溯
|
|
|
|
|
|
| 功能点编号 | 功能名称 | 文档来源 | 后续服务 | 关联功能 |
|
|
|
|------------|----------|----------|----------|----------|
|
|
|
| MP-C-01 | 快捷登录 | 02-小程序端 §1 | 登录成功→加载权限集→渲染工作台 | 权限管理(角色分配) |
|
|
|
| MP-C-02 | 个人信息 | 02-小程序端 §1 | 修改手机号→更新sys_user | 通讯录 |
|
|
|
| MP-C-03 | 消息通知 | 02-小程序端 §1 | 点击消息→跳转业务详情 | 各业务模块(推送触发) |
|
|
|
| MP-C-04 | 数据补录申请 | 02-小程序端 §1 | 提交→触发补录审核→主管审批 | 各模块补录审核 |
|
|
|
| MP-C-05 | 版本更新提示 | 02-小程序端 §1 | 小版本→提示更新;大版本→强制更新 | 超管系统配置(版本管理) |
|
|
|
| MP-C-06 | 通讯录 | 02-小程序端 §1 | 点击拨打→调起手机拨号 | 组织架构(班组/人员) |
|
|
|
|
|
|
## 业务规则
|
|
|
|
|
|
1. **登录规则**(03-业务流转逻辑-小程序端 §1):
|
|
|
- 首次登录:微信授权获取openid → 绑定手机号 → 系统匹配物业公司+人员信息
|
|
|
- 匹配成功:创建账号,进入工作台
|
|
|
- 匹配失败:提示"未找到关联信息,请联系管理员",无法使用
|
|
|
- 再次登录:读取本地token → 有效则直接进入 → 无效则openid静默登录
|
|
|
|
|
|
2. **权限加载规则**(01-模块划分.md §5.3):
|
|
|
- 登录后获取角色及权限集(四级粒度)
|
|
|
- 根据权限动态渲染:可见菜单项、页面内可见功能点、功能点可用动作、数据范围(行级隔离)
|
|
|
|
|
|
3. **Token管理**(06-项目技术要求.md §4.1):
|
|
|
- 小程序端存本地Storage,2小时过期
|
|
|
- Token失效自动使用openid静默登录,刷新token
|
|
|
|
|
|
4. **版本更新规则**(03-业务流转逻辑-小程序端 §10):
|
|
|
- 启动时调用后台接口获取最新版本号 + 最低兼容版本
|
|
|
- 版本一致:正常使用
|
|
|
- 小版本更新(兼容):提示"发现新版本,是否更新?",用户可取消
|
|
|
- 大版本更新(不兼容):强制更新,引导前往微信更新小程序
|
|
|
- SDK依赖校验:启动时校验蓝牙SDK、微信SDK等关键依赖版本
|
|
|
|
|
|
5. **消息通知规则**(01-模块划分.md §7):
|
|
|
- 通知场景:新工单、催单、审批、完工、异常上报等
|
|
|
- 通知方式:小程序推送
|
|
|
- 点击消息跳转对应业务详情
|
|
|
|
|
|
6. **数据补录规则**(06-项目技术要求.md §4.5):
|
|
|
- 补录数据必须标记 `is_supplement=true`
|
|
|
- 补录申请需主管审核(Web+小程序均可)
|
|
|
- 补录日志单独记录
|
|
|
|
|
|
## 状态流转
|
|
|
|
|
|
### 登录状态流转
|
|
|
|
|
|
```
|
|
|
未登录 ──[微信授权]──▶ 获取openid ──[绑定手机号]──▶ 匹配人员信息
|
|
|
│
|
|
|
┌───匹配成功───┐ ┌───匹配失败───┐
|
|
|
│ │ │ │
|
|
|
创建账号 提示联系管理员
|
|
|
进入工作台 无法使用
|
|
|
```
|
|
|
|
|
|
### 补录申请状态流转
|
|
|
|
|
|
```
|
|
|
草稿 ──[提交]──▶ 待审核 ──[主管通过]──▶ 已通过(数据补录生效)
|
|
|
└──[主管驳回]──▶ 已驳回(通知申请人)
|
|
|
```
|