# 肠愈同行患者关爱 - 后端服务 肠愈同行患者关爱项目后端,提供管理后台和小程序 API 接口。基于 ThinkJS 3.x 开发。 ## 技术栈 - ThinkJS 3.x (Node.js) + Nunjucks 模板 - MySQL (腾讯云 CynosDB),数据库:`pap_cytx` - Redis 缓存(端口 6319) - 腾讯云 COS 文件存储 - 腾讯云 OCR / 人脸核身 / 短信 - Puppeteer(协议签署截图) - PM2 进程管理,端口 8361 ## 功能模块 ### 管理后台 - 控制台:统计卡片、趋势图、最近记录 - 患者管理:列表/详情/审核/导出,按瘤种/地区/状态筛选 - 内容管理:首页内容配置 - 系统管理:用户、角色权限、操作日志、短信记录、文件上传 ### 小程序 API - 微信登录 / 手机号绑定 / 修改手机号 - 实名认证(OCR + 人脸核身 + 短信验证) - 患者资料提交与编辑 - 协议签署(Puppeteer 截图生成) - 消息中心 - 订阅消息通知(审核结果推送) - 头像上传 ## 目录结构 ``` ├── src/ │ ├── config/ # 配置(adapter/router/middleware/cos/ocr/sms/faceid) │ ├── controller/ │ │ ├── admin/ # 后台管理(dashboard/patient/content/auth/upload) │ │ │ └── system/ # 系统管理(user/role/log/sms) │ │ ├── base.js # 基础控制器(JWT认证/权限/日志/短信) │ │ ├── common.js # 公共接口(地区数据) │ │ └── mp.js # 小程序 API │ ├── model/ # 数据模型 │ └── service/ # 服务层(wechat/screenshot) ├── view/admin/ # 后台 Nunjucks 模板 ├── www/static/ # 静态资源 └── sql/ # 数据库脚本 ``` ## 快速开始 ```bash # 安装依赖 pnpm install # 开发环境 npm start # ESLint 修复 npm run lint-fix # 生产部署 pm2 startOrReload pm2.json ``` ## 数据库 按顺序执行 `sql/` 目录下的脚本: 1. `init.sql` - 基础表(用户/角色/患者/内容等) 2. `wechat_user.sql` - 微信用户表 3. `verify.sql` - 实名认证相关字段 4. `myinfo.sql` - 患者资料扩展字段 5. `sign.sql` - 协议签署字段 6. `content.sql` - 内容数据 7. `message.sql` - 消息表 8. `subscribe.sql` - 订阅消息记录表 ## 访问地址 - 后台管理:http://localhost:8361/admin/dashboard.html - 小程序 API:http://localhost:8361/mp/*