Ver Fonte

feat:增加文档

jilei há 3 semanas atrás
pai
commit
1d69d99056
3 ficheiros alterados com 297 adições e 0 exclusões
  1. 90 0
      BUSINESS.md
  2. 113 0
      NOTES.md
  3. 94 0
      TECHNICAL.md

+ 90 - 0
BUSINESS.md

@@ -0,0 +1,90 @@
+# 铂林青少年视力筛查系统业务文档
+
+## 业务概述
+
+铂林青少年视力筛查系统是一个面向学校、家长和医疗机构的视力健康管理平台。通过该系统可以实现对学生视力状况的录入、跟踪、分析和预警,帮助及时发现视力问题并采取相应措施。
+
+## 核心业务模块
+
+### 1. 用户登录模块
+- 用户通过微信授权登录系统
+- 系统验证用户身份并分配相应权限
+- 登录后进入主界面查看筛查报告
+
+### 2. 筛查报告模块
+- 展示当前用户相关的所有学生视力筛查记录
+- 提供按时间、学生姓名等条件筛选功能
+- 可查看每个学生的详细视力检查报告
+
+### 3. 学生信息管理模块
+- 添加新学生信息(姓名、性别、年龄、学校等)
+- 编辑现有学生信息
+- 删除不需要的学生记录
+
+### 4. 视力数据分析模块
+- 对学生的历次视力检查数据进行统计分析
+- 通过图表形式直观展示视力变化趋势
+- 提供健康评估和风险预警
+
+### 5. 个人中心模块
+- 展示用户基本信息
+- 提供快捷操作入口
+- 显示系统通知和消息
+
+### 6. 系统设置模块
+- 个人信息设置
+- 系统参数配置
+- 使用帮助和反馈
+
+## 业务流程链路
+
+### 用户使用流程
+1. 用户打开小程序,进行微信授权登录
+2. 登录成功后进入首页,查看筛查报告列表
+3. 可选择查看某个学生的详细报告或添加新学生
+4. 在健康分析页面查看数据统计和趋势图
+5. 通过个人中心进行个人信息管理和系统设置
+
+### 数据流转过程
+1. 前端通过API接口与后端服务交互
+2. 后端服务处理业务逻辑并访问数据库
+3. 数据库存储学生信息、筛查记录等核心数据
+4. 后端将处理结果返回给前端展示
+5. 前端对数据进行可视化展示和交互处理
+
+## 核心业务概念
+
+### 筛查报告
+记录一次完整的视力检查结果,包括:
+- 裸眼视力(左/右眼)
+- 球镜度数(左/右眼)
+- 柱镜度数(左/右眼)
+- 轴位(左/右眼)
+- 瞳距等其他检查指标
+
+### 健康分析
+基于多次筛查报告数据形成的趋势分析:
+- 视力变化曲线图
+- 近视发展速度评估
+- 风险等级判定
+
+### 学生档案
+系统中的核心实体,包含:
+- 基本信息(姓名、性别、出生日期等)
+- 所属学校和班级
+- 历次筛查报告记录
+- 健康状况综合评价
+
+## 权限体系
+
+### 普通用户
+- 查看自己相关的筛查报告
+- 添加和管理自己的学生信息
+- 查看健康分析数据
+- 修改个人设置
+
+## 数据安全与隐私保护
+
+- 所有传输数据均采用HTTPS加密
+- 用户敏感信息如学生身份信息严格保密
+- 符合国家相关法律法规要求

+ 113 - 0
NOTES.md

@@ -0,0 +1,113 @@
+# 铂林青少年视力筛查系统注意事项文档
+
+## 开发注意事项
+
+### 代码规范
+1. 遵循UniApp开发规范
+2. 统一使用Vuex进行状态管理
+3. 组件命名采用帕斯卡命名法(PascalCase)
+4. 变量命名采用驼峰命名法(camelCase)
+5. CSS类名采用短横线分隔命名法(kebab-case)
+
+### 项目结构规范
+1. 页面文件统一放在[pages](file:///d:/work/bolinscreening/pages.json)目录下,每个页面作为一个独立文件夹
+2. 公共组件放在[components](file:///d:/work/bolinscreening/components/u-charts/config-echarts.js)目录下
+3. 公共资源(样式、工具函数等)放在[common](file:///d:/work/bolinscreening/common/utils/http.js)目录下
+4. 静态资源放在[static](file:///d:/work/bolinscreening/static/h5/echarts.min.js)目录下
+
+### 数据请求规范
+1. 所有API请求需通过[common/apis](file:///d:/work/bolinscreening/common/apis/index.js)目录下的接口封装文件发起
+2. 请求拦截器中统一处理token等认证信息
+3. 响应拦截器中统一处理错误提示和异常情况
+
+### 样式规范
+1. 全局样式变量定义在[uni.scss](file:///d:/work/bolinscreening/uni.scss)中
+2. 页面私有样式写在各自的样式文件中
+3. 尽量使用flex布局实现响应式设计
+
+## 实施部署注意事项
+
+### 环境配置
+1. 开发环境需要配置对应的API地址,在[env.js](file:///d:/work/bolinscreening/env.js)中切换
+2. 不同环境的配置不应提交到代码仓库中,建议使用环境变量或配置文件忽略机制
+
+### 发布流程
+1. 确保所有功能测试通过后再进行发布
+2. 先在测试环境中验证,再发布到生产环境
+3. 发布前做好数据备份工作
+4. 记录详细的发布日志和变更说明
+
+### 版本控制
+1. 严格按照Git分支模型进行开发和合并
+2. 1.0U版本只在`master`/`develop`分支上操作
+3. 1.0S版本只在`eye`/`eye-dev`分支上操作
+4. 禁止跨版本分支合并操作
+5. 每次提交需编写清晰的commit message
+
+## 性能优化建议
+
+### 图片资源优化
+1. 使用适当的图片格式(jpg/png/webp)
+2. 对大图进行压缩处理
+3. 使用CDN加速静态资源加载
+
+### 网络请求优化
+1. 合理使用缓存机制减少重复请求
+2. 对于频繁调用的接口增加防抖处理
+3. 大数据量接口考虑分页加载
+
+### 渲染性能优化
+1. 长列表使用虚拟滚动技术
+2. 避免不必要的组件重新渲染
+3. 合理使用v-if和v-show指令
+
+## 安全注意事项
+
+### 数据安全
+1. 敏感信息(如身份证号、手机号)需要脱敏显示
+2. 所有网络请求必须使用HTTPS协议
+3. 用户隐私数据不得非法泄露
+
+### 认证鉴权
+1. 前端存储的token需要设置合理的过期时间
+2. 敏感操作需要二次验证
+3. 接口访问需要校验用户权限
+
+### 代码安全
+1. 防止XSS攻击,对用户输入进行过滤和转义
+2. 防止SQL注入,使用参数化查询
+3. 避免在代码中硬编码敏感信息
+
+## 常见问题及解决方案
+
+### 编译问题
+1. 如果遇到编译错误,请检查语法是否正确
+2. 确认依赖包是否完整安装
+3. 清除缓存后重新编译
+
+### 运行时问题
+1. 白屏问题可能由于JavaScript执行错误导致,需要检查控制台输出
+2. 网络请求失败请检查API地址和网络连接状态
+3. 页面渲染异常可能是数据格式不符合预期
+
+### 兼容性问题
+1. 在不同设备上测试确保显示效果一致
+2. 注意微信小程序版本兼容性
+3. 关注UniApp更新带来的兼容性变化
+
+## 最佳实践
+
+### 组件开发
+1. 组件职责单一,提高复用性
+2. 合理设计组件props和events
+3. 组件内部状态尽量通过事件向上抛出
+
+### 状态管理
+1. 多个组件共享的状态放入Vuex中
+2. 页面私有状态可使用组件内部data
+3. 状态变更通过mutation进行,异步操作使用action
+
+### 错误处理
+1. 全局捕获未处理的异常
+2. 网络请求错误需要友好提示用户
+3. 记录关键操作的日志便于问题排查

+ 94 - 0
TECHNICAL.md

@@ -0,0 +1,94 @@
+# 铂林青少年视力筛查系统技术文档
+
+## 项目介绍
+
+铂林青少年视力筛查系统(bolinscreening)是一款专注于青少年视力健康管理的小程序应用,旨在为学校、家长和医疗机构提供便捷的视力筛查和跟踪服务。该系统可以帮助用户记录和追踪学生的视力变化情况,并提供相关的数据分析和可视化图表展示。
+
+## 目录结构
+
+```
+.
+├── common                  # 公共资源目录
+│   ├── apis                # 接口封装
+│   ├── style               # 公共样式
+│   └── utils               # 工具函数
+├── components              # 组件目录
+│   ├── qiun-data-charts    # 图表组件
+│   ├── qiun-error          # 错误处理组件
+│   ├── qiun-loading        # 加载动画组件
+│   ├── u-charts            # uCharts图表库
+│   ├── uni-popup           # 弹出层组件
+│   └── uni-transition      # 动画过渡组件
+├── pages                   # 页面目录
+│   ├── addPatient          # 添加学生页面
+│   ├── chart               # 健康分析图表页面
+│   ├── index               # 首页/筛查报告页面
+│   ├── login               # 登录页面
+│   ├── my                  # 个人中心页面
+│   ├── setting             # 设置页面
+│   └── webview             # WebView页面
+├── static                  # 静态资源目录
+├── store                   # Vuex状态管理
+├── App.vue                 # 应用入口文件
+├── env.js                  # 环境配置文件
+├── main.js                 # 主入口文件
+├── manifest.json           # 项目配置文件
+├── pages.json              # 页面路由配置文件
+└── uni.scss                # 全局样式变量
+```
+
+## 功能模块
+
+1. **筛查报告(index)** - 展示学生的视力筛查结果
+2. **个人中心(my)** - 用户个人信息及操作入口
+3. **添加学生(addPatient)** - 录入新的学生信息
+4. **健康分析(chart)** - 对视力数据进行统计分析并可视化展示
+5. **个人设置(setting)** - 用户个性化设置
+6. **登录(login)** - 用户身份验证入口
+7. **WebView(webview)** - 内嵌网页展示
+
+## 技术栈
+
+- **框架**: UniApp + Vue2/Vue3(兼容)
+- **语言**: JavaScript/HTML/CSS
+- **UI框架**: uni-ui + 自定义组件
+- **状态管理**: Vuex
+- **图表库**: uCharts + ECharts
+- **网络请求**: 自定义HTTP封装
+- **构建工具**: HBuilderX
+- **目标平台**: 微信小程序为主,支持多端发布
+
+## Git分支说明
+
+### 分支模型
+
+1. **1.0U 版本分支**
+   - 生产环境分支:`master`
+   - 测试环境分支:`develop`
+   - 合并规则:只允许从 `develop` 分支合并到 `master`,禁止反向合并
+
+2. **1.0S 版本分支**
+   - 生产环境分支:`eye`
+   - 测试环境分支:`eye-dev`
+   - 合并规则:只允许从 `eye-dev` 分支合并到 `eye`,禁止反向合并
+
+3. **版本隔离**
+   - 1.0U 和 1.0S 版本分支完全独立,互不合并
+   - 两个版本根据不同的业务需求进行开发和维护
+
+## 环境说明
+
+### 测试环境
+- API地址: https://tstscreen.bolineyecare.com
+- 配置方式: 在[env.js](file:///d:/work/bolinscreening/env.js)中将`BASE_ENV`设为`development`
+- 用途: 开发和测试阶段使用
+
+### 生产环境
+- API地址: https://screen.bolineyecare.com
+- 配置方式: 在[env.js](file:///d:/work/bolinscreening/env.js)中将`BASE_ENV`设为`production`
+- 用途: 正式上线环境
+
+## 相关文档
+
+- [业务文档(BUSINESS.md)](file:///d%3A/work/bolinscreening/BUSINESS.md)
+- [注意事项(NOTES.md)](file:///d%3A/work/bolinscreening/NOTES.md)