nbugs-mobile-select-identity-role
v1.0.54
Published
## 搭建时间:2019 年 09 月 16 日 16:17:11
Downloads
21
Readme
身份角色选择组件: nbugs-mobile-select-identity-roles
搭建时间:2019 年 09 月 16 日 16:17:11
目录结构
├── config
├── mock
├── src
| ├── components
| ├── entries
| │ └── App
| │ ├── App.js
| │ ├── App.less
| │ └── index.js
| ├── index.ejs
| ├── index.js
| ├── models
| │ ├── global.js
| │ └── index.js
| ├── service
| │ ├── example.js
| │ ├── service-utils.js
| │ └── utils.js
| └── utils
| └── request.js
└── readme.md
工程结构、开发流程、注意事项:
https://nbugs.yuque.com/front-end/components/project-readme
文档
- 原型地址: https://lanhuapp.com/web/#/bookmark?pid=960868af-24a0-4e37-be5e-7b58de863386&team_id=f440df2f-8ae2-4c40-830a-c22d70fc279f&bmId=be011bf1-f487-4620-bda4-a6b682079bf7
- 蓝湖地址:https://lanhuapp.com/web/#/item/project/board?pid=00b1ad3b-c473-4c03-a28b-2ec76823f75f
- 接口文档地址:http://yapi.service.xiaoyuanhao.com/project/5/interface/api/cat_1649
- wiki 地址:http://121.43.34.186:40188/pages/viewpage.action?pageId=2031982
- jira 任务面板:http://121.43.34.186:40187/secure/RapidBoard.jspa?rapidView=8&projectKey=UC&selectedIssue=UC-18
备注: 因为本组件是与用户中心一起开发,所以所有文档和用户中心是放在一起的
模式
身份选择的方式
- 身份切换
- 角色切换
- 身份+角色切换
渲染的样式
- modal
- actionSheet
版本 V2
身份+组织+角色选择
- 结构: 组织 --> 身份 --> 角色
- 两种渲染模式:
- modal
- actionSheet
根据进入应用入口(单应用||智慧校园工作台)判断使用组件(根据情况判断是否做)
- 根据字段判断使用组件
- 定义两个组件参数的对象字段
开发人员
前端: 刘杰
后端: 少帅
设计: 张力敏
产品: 王俪橦
更新记录
- 2019 年 10 月 17 日 后端记住选中角色的逻辑修改为根据 身份 + 应用,前端修改传参,
- 获取当期身份接口 和 保存身份组织角色接口 增加 appId 参数,
- 获取当期身份接口修改后逻辑:没有 appId 则取最后一次选择的身份,传了则获取这个应用的最后选择的身份
测试场景
身份切换模式
多身份用户选择
- 未选身份 方案: 弹出 modal,让用户选中 ✅
- 已选身份,且已选身份在身份列表中 方案: 不再重新选择,直接通过 onOk 方法将选中信息告诉业务方 ✅
- 已选身份未在身份列表中(举例: 身份被删除了) 方案: 重置选中信息,重置选中状态为未选择,弹出 modal 让用户重新选择 ✅
单身份用户选择
- 未选身份 方案: 单身份,不用选择,直接告诉后端选择结果,再通过 onOk 方法将选中信息告诉业务方 ✅
- 已选身份,且已选身份在身份列表中 方案: 不再重新选择,直接通过 onOk 方法将选中信息告诉业务方 ✅
- 已选身份未在身份列表中(举例: 身份被删除了) 方案: 重置选中信息,重置选中状态为未选择,再走 情况 1 的处理方案,即直接选中唯一的一个身份 ✅
角色切换
传参
- 未传 appId & url 上有 xCAppId 方案: 从当前 url 上获取 xCAppId 字段 ✅
- 传递 appId & url 上有 xCAppId || 传递 appId & url 上没有 xCAppId 方案: 使用传入的 appId ✅
- 未传 appId & url 上没有 xCAppId 方案: 通过 onError 接口向业务方报错,不请求参数 ✅
- 未传 identityType & 获取当前身份信息的接口返回 type 方案: 使用从 获取当前身份信息的接口 返回的 type ✅
- 传递 identityType & 获取当前身份信息的接口返回 identityType || 传递 identityType & 获取当前身份信息的接口没返 type 方案: 使用传入的 identityType ✅
- 未传 identityType & 获取当前身份信息的接口没返回 identityType 方案: 通过 onError 接口向业务方报错,不请求参数 ✅
单角色用户选择
- 未选角色 方案: 单角色,不用选择,直接告诉后端选择结果,再通过 onOk 方法将选中信息告诉业务方 ✅
- 已选角色,且已选角色在角色列表中 方案: 不再重新选择,直接通过 onOk 方法将选中信息告诉业务方 ✅
- 已选角色未在角色列表中(举例: 角色被删除了) 方案: 重置选中信息,重置选中状态为未选择,再走 情况 1 的处理方案,即直接选中唯一的一个角色 ✅
多角色用户选择
- 未选角色 方案: 弹出 modal,让用户选中 ✅
- 已选角色,且已选角色在角色列表中 方案: 不再重新选择,直接通过 onOk 方法将选中信息告诉业务方 ✅
- 已选角色未在角色列表中(举例: 角色被删除了) 方案: 重置选中信息,重置选中状态为未选择,弹出 modal 让用户重新选择