## 功能拆分
| 功能 | 功能描述 | 居民端 | 门禁端 | 志愿者端 | 管理员端 |
| ---------------------------------------- | ------------------------------------------------------------ | ------ | ------ | -------- | -------- |
| 社区人员进出入 | 临时访客的进出申请、放行逻辑(待定)。
外出返回居民的进社区提前报备;去外地出行前的提前申请。
扩展:
1. 二维码状态颜色(要和政府健康码颜色保持基本一致)
2. 刷脸、刷卡出入
**居民**:进出入
1. 居民端展示动态二维码,门禁端识别放行
2. 门禁端展示动态二维码,居民端识别放行
(对于行动不便人群提供固定二维码)
**管理员**:查看、管理居民进出入
1. 查看人员进出记录
2. 设置指定居民进出权限 | √ | √ | | √ |
| 体温上报 | 体温/健康信息上报;健康码收集
**居民**:每日上报体温
(每天上报时相同信息默认自动填充,不需要重复填写)
**管理员**:
1. 查看居民体温上报记录
2. 异常记录推送提醒 | √ | | | √ |
| 日常生活物资的调控(买菜团购、药品购置) | 三种策略:团购、正常购买&秒杀(防超买)、预定
物资有限,分配策略很重要(保证每个用户不会总抢不到,也尽量避免总分配给)。
扩展:居民互助交流,物资交换(待定)
**居民端**:
查看生活物资
下单
取消订单
发布求助信息(比如缺少什么物资)
**管理员**:
发布/修改/删除物资信息,设置每人/每户最多买多少
查看当前物资订单状态
查看居民需要的物资求助信息,针对性处理(增补物资等),然后将其标记为已处理/已忽略等 | √ | | √ | √ |
用户账户创建逻辑:
1. 社区预先导入 (1)社区门牌号信息,以及门牌号对应的户主身份信息;(2)临时租户信息;(3)社区流动人员登记信息
2. 用户注册账号,注册后绑定系统中已有户主信息(必要信息:用户的电话号码(方便发送短信以及社区联系),微信号)
系统保证:
1. 某一功能出现问题不影响其他功能
2. 核心功能出现问题要有降级策略,不能完全不可用
3. 用户信息的安全性
更多可以拓展的功能:
1. 大屏展示
2. 与政府健康码信息同步
3. 系统建设后的平滑过渡(从不使用这个系统到推广这个系统)
4. 社区通知模块(管理员可以发布公告,社区居民点开居民端后可以浏览公告信息),也可以定向发布消息(即方便管理员联系社区居民;进一步扩展可以发送短信等)
5. 部分部署(可以只部署需要用到的模块)
## 需要确定的细节
用户是自己注册,还是社区提供账号,或者是社区提供token,用户刷卡实现身份验证?
## 一些需要细想的想法
用户和身份分离:一个用户账号可以绑定多个身份,比如一个社区人员同时可以是志愿者
## 前端系统设计
### 管理员端
### 社区人员端
### 志愿者端
### 门禁端
## 后端模块设计
用户认证模块(用户登录、注册、三方授权登录等)
用户信息模块(用户基本信息<住址,联系方式>)
用户健康状态模块(维护用户的健康状态,与外部系统同步信息)
生活物资模块(维护生活物资商品信息<菜品、药品>)
订单模块(社区人员下单,涉及到秒杀相关,可指定上门派送、自取或者由用户自主选择)
派送模块()
消息推送模块(系统中出现异常信息,例如系统崩溃,出现体温异常居民等,及时推送管理员)
验证码发送模块(用户注册账户,账号信息变更等)