# 项目业务文档 ## 1. 业务概述 本项目是一个医疗问卷调查系统,主要用于医疗机构患者填写各类表单以及查看填写结果。系统通过URL参数实现动态加载不同的问卷内容,并能够与医院挂号系统进行联动,形成完整的医疗服务流程。 ## 2. 核心业务模块 ### 2.1 表单填写模块 (FormVolume) 表单填写是系统的核心功能之一,支持多种布局类型的问卷展示和填写。 #### 主要特点: - 支持多种布局类型(Layout1、Layout2、Layoutileads1) - 提供历史记录查看功能 - 支持复杂的表单验证规则 - 可根据不同业务场景定制表单字段 #### 业务流程: 1. 用户通过特定链接进入系统(携带token、topic_id等参数) 2. 系统根据topic_id加载相应的问卷模板 3. 用户填写问卷内容 4. 提交表单数据至后台 5. 系统保存填写结果并返回结果ID ### 2.2 结果查看模块 (FormResult) 该模块用于展示用户已提交的问卷结果。 #### 主要特点: - 展示已填写问卷的内容和结果 - 支持结果数据的格式化展示 - 可通过result_id直接访问特定结果 #### 业务流程: 1. 用户通过带有result_id的链接访问系统 2. 系统根据result_id获取填写结果 3. 展示格式化的结果内容给用户 ### 2.3 用户管理模块 (Manager) 用户管理模块提供了系统的配置和属性管理功能。 #### 主要特点: - 支持用户个性化设置 - 提供系统配置选项 - 管理用户相关的元数据 ### 2.4 身份认证模块 系统支持两种身份识别方式: #### Token认证 - 通过URL中的token参数识别用户身份 - 系统会将token存储在Cookie中供后续请求使用 #### 手机号认证 - 通过手机号识别用户 - 与医疗机构的用户体系对接 ## 3. 业务链路 ### 3.1 新用户填写表单链路 ```mermaid graph LR A[用户点击链接] --> B[系统解析参数] B --> C{参数验证} C -->|有效| D[加载问卷模板] C -->|无效| E[显示错误页面] D --> F[展示表单] F --> G[用户填写表单] G --> H[提交表单] H --> I[保存结果] I --> J[返回结果ID] ``` ### 3.2 查看结果链路 ```mermaid graph LR A[用户点击结果链接] --> B[系统解析result_id] B --> C{ID有效性检查} C -->|有效| D[加载结果数据] C -->|无效| E[显示错误页面] D --> F[展示结果] ``` ### 3.3 系统集成链路 ```mermaid graph LR A[医院挂号系统] --> B{生成问卷链接} B --> C[包含token/topic_id等参数] C --> D[用户访问链接] D --> E[系统处理请求] E --> F{判断请求类型} F -->|填写表单| G[FormVolume模块] F -->|查看结果| H[FormResult模块] ``` ## 4. 参数说明 ### 4.1 必要参数 | 参数名 | 说明 | 示例 | |--------|------|------| | token | 用户身份标识 | xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx | | topic_id | 问卷主题ID | 10001 | | clinic_id | 医院ID | 20001 | ### 4.2 可选参数 | 参数名 | 说明 | 示例 | |--------|------|------| | result_id | 结果ID | 30001 | | group_id | 组ID | 40001 | | mobile | 手机号 | 13800138000 | ## 5. 业务规则 ### 5.1 数据一致性规则 - 同一用户对同一topic_id只能有一份有效的表单结果 - 表单提交后不可修改,只能重新填写 ### 5.2 权限控制规则 - 用户只能查看自己的表单结果 - 通过token或mobile参数验证用户身份 ### 5.3 数据安全规则 - 敏感操作必须验证token或mobile - URL参数需要进行合法性校验 - 避免XSS攻击风险