1项目概览
本节呈现项目定位、核心目标与整体规模。
定位与目标
平台以家长为核心服务对象,整合联盟内儿童精神科专家资源,重点解决三大痛点:儿童心理问题识别难、优质号源预约难、服务流程不透明。演示程序采用前后端一体架构,内置完整模拟数据,无需对接真实系统即可完整展示所有核心业务逻辑与毫秒级实时联动交互效果。
核心业务闭环
四类服务角色
2技术架构
零构建、全离线、前后端一体的轻量化演示架构。
| 层级 | 技术选型 | 说明 |
|---|---|---|
| 前端框架 | Vue 3(CDN runtime + compiler 一体) | 无构建步骤,单文件 HTML 应用 |
| UI 组件库 | Element Plus(本地 vendor 离线) | 不走 CDN,断网可用 |
| 图表 | ECharts(本地 vendor 离线) | 仪表盘趋势图、统计可视化 |
| 后端 | Node.js 原生 http 模块(无框架) | server.js 单文件 1506 行 |
| 实时推送 | WebSocket(原生实现) | 预约/号源/订单三端毫秒级联动广播 |
| 路由 | Hash 路由(v-if/v-else-if 链式) | 前端无 vue-router,纯条件渲染 |
| 数据存储 | JSON 文件(data/ 目录) | 运行时读写,无需数据库 |
| 依赖 | 仅 Node.js 原生模块 | 无 npm install 步骤 |
| 部署 | GitHub Pages(docs/ 目录)+ Render | PS1 脚本推送同步 |
npm start 或 node server.js → 浏览器访问 http://localhost:3000(或执行 start.bat)。
3目录结构
SJRT/ ├── server.js # 主服务 HTTP + WebSocket(端口 3000) ├── package.json # main: server.js ├── start.bat # 本地启动脚本 ├── data/ # 业务模拟数据 JSON(17 个文件) │ ├── doctors.json hospitals.json schools.json teachers.json │ ├── students.json patients.json admin-users.json │ ├── appointments.json schedules.json slot-applications.json │ ├── assessments.json scales.json reviews.json favorites.json │ ├── articles.json announcements.json follow-ups.json │ ├── green-channels.json activities.json artworks.json treehouse.json ├── public/ # 本地开发 Web 文件 │ ├── index.html # 统一演示首页(4 角色入口) │ ├── mobile/index.html # C端 H5(家长/教师/学生,~3030 行单文件) │ ├── admin/index.html # 后台管理端(~1616 行单文件) │ ├── css/ # mobile.css + tokens.css + 背景图 │ └── vendor/ # vue / element-plus / echarts 离线包 ├── docs/ # GitHub Pages 发布目录(与 public/ 同步) ├── project-docs/ # 项目文档(迭代计划/需求/修正记录) ├── scripts/ # 推送/校验/HTML 结构检查脚本 └── .memory/ # AI 项目记忆文档
4业务模块全景
平台共 4 类终端、36 个前端页面、13 个后台管理模块。
🚪4.1 统一演示首页
程序启动唯一入口,提供 4 张角色卡片:家长服务端、学生端、心理老师专区、管理后台。底部标注「本程序为功能演示原型,所有数据均为模拟数据」。支持 URL 参数 ?role=student / ?role=teacher 自动跳转对应登录页。
👨👩👧4.2 C 端 · 家长服务端(H5 移动端)
🏠 首页
四大功能卡片(心理科普 / 门诊预约 / 我的测评 / 我的预约)+ 推荐区(科普视频、精选文章、推荐专家)
📚 心理科普
图文/视频列表,按分类(情绪行为/学习困难/亲子关系/发育问题/睡眠问题)筛选,收藏,详情页推荐 3 位对应医生
🧠 心理测评
量表选择(年龄×问题双维筛选)→ 逐题答题 → 报告(得分/风险等级)→ 高风险红色预警 → 一键预约专家
🏥 门诊预约
就诊人管理(最多 5 个)+ 两条挂号流程(南湖院区专用 / 联盟机构通用)
👤 个人中心
我的就诊人、我的收藏、我的测评、我的预约、我的评价五大入口
⭐ 我的评价
待评价列表、星级评分 + 文字评价、平台意见留言、历史评价记录
📌 门诊预约 · 两条流程(重要)
| 流程 | 适用机构 | 步骤 |
|---|---|---|
| 流程一 · 专用 | 盛京医院(南湖院区) 列表第一位 |
选科室(儿童心理门诊 / 专家专科门诊)→ 选医生(带日期横滑标签,满号/候补标注)→ 选号源 → 挂号确认 → 模拟支付 → 成功页返回首页 |
| 流程二 · 通用 | 其他联盟机构 | 选医生时段 → 选就诊人 + 预问诊(6 道题)→ 确认提交 |
🧑🏫4.3 教师专区
心理老师专属端,登录后进入。8 个核心服务卡片 + 联络医生模块。
| 路由 | 功能 | 说明 |
|---|---|---|
/teacher-login | 登录 | 演示账号 teacher01 |
/teacher-home | 首页 | 8 张 svc-card(绿色通道/随访/公告/作品/班级/号源申请/咨询记录/联系医生)+ 科普精选 |
/teacher-green-channel | 绿色通道 | 为需转介学生提交绿色通道申请 |
/teacher-follow-up | 随访追踪 | 填写/查看学生随访记录 |
/teacher-announcements | 公告 | 查看平台/医院下发的通知公告 |
/teacher-artwork · /teacher-artwork-upload | 学生作品 | 查看 / 上传学生心理主题作品 |
/teacher-class | 班级管理 | 学生列表、申请定向号源入口、学生简要信息展开 |
/teacher-slot-apply | 号源申请 | 为学生申请定向加号(医院/医生/日期/时段/理由) |
/teacher-consult-list | 咨询记录 迭代三+ | 咨询列表、类型筛选、历史查看、弹窗详情 + 标记已读 |
/teacher-consult | 发起咨询 迭代三+ | Step1 选医生 → Step2 选类型填内容 → Step3 成功(模拟 1s 提交) |
🧑🎓4.4 学生端
| 路由 | 功能 | 说明 |
|---|---|---|
/student-login · /student-register | 登录/注册 | 绿色主题,演示账号 student1 |
/student-home | 首页 | 2×3 功能卡片:心理科普 / 心理测评 / 我的预约 / 心灵树洞 / 个人中心 |
/student-appointments | 定向号源预约 | 顶部「定向号源」标签页,展示老师代为申请的号源卡片(含有效期倒计时),确认预约进入预问诊,或放弃号源 |
/treehouse | 心灵树洞 | 匿名发帖(500 字 + 情绪标签)+ 危险词库前端检测(关爱弹窗)+ 树洞广场(已审核匿名卡片 + 点亮心灯 🕯️) |
🖥️4.5 后台管理端(PC)
双角色登录:盛京医院主用户(完整后台)与 联盟机构用户(精简后台,仅自有医生 + 号源管理)。共 13 个管理菜单:
admin实时运营仪表盘
数据卡片 + 趋势图 + 实时动态列表 + 待办事项,WebSocket 实时更新
admin科普知识内容管理
图文/视频 CRUD、发布/审核/下架、分类管理
全角色医生 / 医院管理
医生/医院信息增删改查、配置擅长领域头像
全角色出诊号源管理
周/月视图排班、批量排班、实时监控(≤3 预警)、停诊
admin预约订单管理
实时列表、筛选、确认/取消/改期、Excel 导出
admin心理测评分析
量表统计、风险等级分布、趋势分析、高危列表
admin/doctor绿色通道审核
审核教师提交的绿色通道转介申请
admin/doctor随访反馈管理
查看管理学生随访记录
admin/doctor通知公告管理
面向教师/学生下发通知公告
admin/doctor活动作品管理
审核管理学生提交的心理主题作品
NEW教师加号审批
审批教师定向加号申请,通过后分配号源并推送给学生端
NEW树洞管理
统计卡片 + 帖子审核(通过/驳回)+ 高关注处理记录
NEW学校管理
联盟学校与教师信息维护
5核心业务规则
必须严格实现的实时联动机制与预约约束。
实时联动机制(WebSocket 广播)
| 场景 | 联动说明 |
|---|---|
| 预约-号源-订单 | C 端提交预约 → 后端原子操作(号源 −1 + 生成订单)→ 推送更新至 C 端医生详情页、后台号源监控页、后台订单列表页;取消则反向 +1 |
| 内容发布 | 后台点击发布 → 内容状态更新 → 推送至 C 端 → 科普列表立即显示新内容 |
| 收藏操作 | C 端收藏/取消 → 后端更新 → 同步至我的收藏页与后台收藏数 |
| 定向加号审批 | 后台审批通过 → 号源 −1 → 学生端「我的预约」出现定向号源卡片 |
预约限制与儿童专属规则
- 预约频次:同一儿童同一医生 7 天内最多预约 2 次
- 取消规则:就诊前 24 小时可免费取消,24 小时内不可取消(需二次确认)
- 号源释放:号源每日 0 点自动释放次日号源
- 就诊人上限:一个账号最多 5 个儿童就诊人,必须填写紧急联系人
- 儿童专属:所有内容/量表/预问诊均针对 0–18 岁;医生列表默认优先展示擅长儿童心理的专家
6API 与数据
后端 server.js 提供覆盖全业务的 RESTful 风格 API。
主要 API 分组(56+ 路由)
| 分组 | 代表路由 | 用途 |
|---|---|---|
| 通用 | /api/health /api/bootstrap | 健康检查、初始化引导数据 |
| 内容 | /api/articles /api/favorites | 科普列表、收藏增删 |
| 医疗资源 | /api/doctors /api/hospitals /api/schools | 医生/医院/学校 |
| 就诊人/测评 | /api/patients /api/scales /api/assessments | 就诊人 CRUD、量表、测评提交与查询 |
| 预约/评价 | /api/appointments /api/reviews | 预约提交/取消、评价 |
| 教师端 | /api/teacher/login /api/teacher/green-channels /api/teacher/follow-ups /api/teacher/announcements /api/teacher/artworks /api/teacher/students /api/teacher/slot-applications | 教师全部业务 |
| 学生端 | /api/student/login /api/student/register /api/student/slot-applications | 学生登录注册、定向号源查询/确认/放弃 |
| 后台 | /api/admin/*(dashboard/articles/doctors/hospitals/schedules/appointments/export/assessments/green-channels/follow-ups/announcements/artworks/slot-applications/treehouse/teachers/schools) | 13 个后台模块对应接口 |
| 树洞 | /api/treehouse(GET 公开 / POST 提交 / 点亮心灯) | 心灵树洞公共接口 |
数据文件(17 个 JSON)
覆盖医生、医院、学校、教师、学生、就诊人、预约、排班、量表、测评、评价、收藏、科普、公告、随访、绿色通道、加号申请、活动、作品、树洞等全部业务实体。
7最新一次迭代内容说明
本次迭代为「迭代三 + 迭代三+」,覆盖 Bug 修复、付费解读、线上问诊、视频复诊、学生端、定向加号闭环、心灵树洞、教师联络医生等。
① 已提交修复(最近提交)
| 提交 | 内容 | 说明 |
|---|---|---|
5ab5b00 | 后台菜单错别字 | 「绶色」→「绿色通道审核」文案修正 |
9a7e1a5 | 路由跳转回滚 + 刷新 | 路由切换自动回滚顶部,挂号后刷新预约数据 |
6ca1933 | 挂号确认页间距 | 三个 card 补加 padding 修复文字贴边 |
5164b46 | 挂号流程修复 | 支付按钮(register.patientId 自动预填)、Step4 样式、医生头像改图片 |
a596d27 | 首页优化 | 移除紧急求助按钮 |
② 全量 UI 更新(9cb1e83,主体改动 4114+ 行)
- Banner / 登录页 UI 重设计,新增
bg.png背景图(1.4MB) - 教师首页科普精选模块上线
- 表单演示数据全面补充:医生 +179 行、排班 +298 行、活动 +84、作品 +107、随访 +80、绿色通道 +87、预约 +113 等
- 新增管理用户(
admin-users.json)支持双角色登录 - 后台 +699 行扩展(菜单、面板、审批流)
③ 迭代三 · 新增业务功能
P0Bug 修复 ×3
南湖院区挂号支付无反应(patientId 预填)、确认页就诊人间距、医生头像改图片头像 — 均已修复
P1测评报告付费解读
付费量表报告页模糊遮罩 + ¥19.9 解锁流程(支付方式选择 → 1.5s → 解锁动画 → 完整解读渐显,sessionStorage 记忆)
P1线上问诊
报告页/高风险弹窗入口 → /online-consult 三步(选医生 → 选图文/视频 → 填内容)→ /consult-success 成功页
P2视频复诊演示
/video-consult 全屏模拟视频通话(连接中 3s → 通话中计时 → 静音/关摄像头/结束通话)
④ 迭代三+ · 学生端 / 教师闭环 / 树洞 / 联络医生
| 模块 | 新增路由/菜单 | 说明 |
|---|---|---|
| 学生端 | /student-login /student-home /student-appointments /student-register | 学生注册登录、首页、定向号源预约(确认/放弃) |
| 教师闭环 | /teacher-class /teacher-slot-apply | 班级管理 + 为学生申请定向加号表单 |
| 定向加号审批 | 后台菜单「教师加号审批」 | 教师申请 → 后台审批通过分配号源 → 学生端定向号源卡片(WebSocket 推送) |
| 心灵树洞 | /treehouse + 后台「树洞管理」 | 匿名发帖 + 危险词检测(10 词库)关怀弹窗 + 点亮心灯 + 后台审核/高关注处理 |
| 教师联络医生 | /teacher-consult-list /teacher-consult | 咨询记录列表(筛选/弹窗详情/标记已读)+ 发起咨询三步流程(含 3 条 mock 含医生回复) |
| 后台扩展 | 「树洞管理」「教师加号审批」「学校管理」 | 后台菜单由 10 个扩展至 13 个 |
| 数据层 | 新建 4 个 JSON | students.json(8 条)、slot-applications.json、treehouse.json(5 条)、schools.json |
⑤ 文件改动概览
| 文件 | 改动类型 | 说明 |
|---|---|---|
public/mobile/index.html | 大量新增 | 新增 ~10 个页面路由、Vue data/methods 扩展(付费解锁/线上问诊/视频复诊/学生端/树洞/教师联络) |
public/admin/index.html | 新增菜单与面板 | 3 个新菜单(树洞/加号审批/学校)及对应管理面板 |
server.js | 新增 API | 学生、加号申请、树洞、学校等 ~15 条新路由 + WebSocket 广播扩展 |
data/*.json | 新建 + 扩展 | 4 个新文件 + doctors/schedules/teachers/scales 等字段扩展 |
docs/ | 同步 | 与 public/ 保持一致以发布 GitHub Pages |
8迭代历史
平台演进时间线。
9已知问题与状态
截至本次迭代的项目状态。
| 状态 | 问题 | 位置 |
|---|---|---|
| 已修复 | 南湖院区挂号支付无反应(patientId 未预填) | mobile/index.html |
| 已修复 | 挂号确认页就诊人区域文字间距异常 | mobile/index.html |
| 已修复 | 挂号流程医生头像显示为字母而非真实头像 | mobile/index.html |
| 已修复 | Vue compiler-30(插入 svc-card 时误删 <div class="card-stack"> 导致 v-else-if 失配) | mobile/index.html |
| 备注 | 本次迭代新功能(学生端/树洞/加号审批/联络医生)位于工作区,尚未提交 git | — |
public/ 与 docs/ 必须同步(改动后 Copy 到 docs);② ECharts 在 v-if 切换后须用 echarts.getInstanceByDom(el) || echarts.init(el) 避免图表空白;③ vendor 全部离线,不走 CDN。