Commit Graph

129 Commits

Author SHA1 Message Date
iven
a63043f447 fix(miniprogram): 深度审查修复多个功能问题
Some checks failed
CI / security-audit (push) Has been cancelled
CI / rust-check (push) Has been cancelled
CI / rust-test (push) Has been cancelled
CI / frontend-build (push) Has been cancelled
- settings: 清除缓存不再错误读取明文 token,改由 auth store restore 恢复
- appointment: 移除多余的 detail_cache Storage 写入
- reports: 未选择就诊人时显示引导提示而非空白
- health/input: 血压录入验证舒张压必填
- followups: tab 切换时不再清空列表导致闪烁
2026-04-24 18:36:56 +08:00
iven
81cc84e4b2 fix(miniprogram): 修复 project.config.json 配置
Some checks failed
CI / rust-check (push) Has been cancelled
CI / rust-test (push) Has been cancelled
CI / frontend-build (push) Has been cancelled
CI / security-audit (push) Has been cancelled
添加 miniprogramRoot: dist/ 指向 Taro 编译产物目录,
修复微信开发者工具无法加载小程序代码的问题。
更新 appid 为真实值,启用生产构建选项。
2026-04-24 17:47:29 +08:00
iven
b4e8399194 feat(miniprogram): 文章分享功能 onShareAppMessage
Some checks failed
CI / rust-check (push) Has been cancelled
CI / rust-test (push) Has been cancelled
CI / frontend-build (push) Has been cancelled
CI / security-audit (push) Has been cancelled
- 文章详情页注册微信分享(分享标题 + 路径带 article id)
- 分享时触发 article_share 埋点事件
2026-04-24 13:03:02 +08:00
iven
030afb8213 feat(miniprogram): 埋点事件追踪服务
Some checks failed
CI / rust-check (push) Has been cancelled
CI / rust-test (push) Has been cancelled
CI / frontend-build (push) Has been cancelled
CI / security-audit (push) Has been cancelled
- 新增 analytics.ts:trackEvent/trackPageView/flushEvents
- 事件队列本地缓存,批量上报到 /analytics/batch
- 首页 page_view、预约创建、随访提交、健康数据录入四个关键埋点
2026-04-24 13:02:08 +08:00
iven
afc307e373 feat(miniprogram): 用户协议 + 隐私政策页面,登录需勾选同意
Some checks failed
CI / rust-check (push) Has been cancelled
CI / rust-test (push) Has been cancelled
CI / frontend-build (push) Has been cancelled
CI / security-audit (push) Has been cancelled
- 新增 legal/user-agreement 和 legal/privacy-policy 页面
- 登录页增加协议勾选复选框(未勾选时拦截登录/绑定)
- 协议链接可点击跳转查看全文
- RichText 渲染 HTML 格式协议内容
2026-04-24 12:58:27 +08:00
iven
60a8a591a8 feat(miniprogram): Token XOR 混淆存储
Some checks failed
CI / rust-check (push) Has been cancelled
CI / rust-test (push) Has been cancelled
CI / frontend-build (push) Has been cancelled
CI / security-audit (push) Has been cancelled
- 新增 secure-storage 工具:XOR + Base64 混淆 token 存储
- request.ts 和 auth.ts 中所有 access_token/refresh_token 存取
  均通过 secure-storage,避免明文暴露在 Storage 中
2026-04-24 12:52:20 +08:00
iven
37ff907815 feat(miniprogram): 用药提醒时间选择器 + 家人编辑功能
Some checks failed
CI / rust-check (push) Has been cancelled
CI / rust-test (push) Has been cancelled
CI / frontend-build (push) Has been cancelled
CI / security-audit (push) Has been cancelled
- 用药提醒页:时间输入改为 Taro TimePicker 原生选择器
- 家人列表页:每个就诊人增加编辑按钮入口
- 家人添加页:支持编辑模式(URL 传 id + Storage 传数据 + updatePatient API)
2026-04-24 12:50:42 +08:00
iven
3a333535ea feat(miniprogram): 随访详情页截止日期倒计时 + 状态色增强
Some checks failed
CI / rust-check (push) Has been cancelled
CI / rust-test (push) Has been cancelled
CI / frontend-build (push) Has been cancelled
CI / security-audit (push) Has been cancelled
- 添加截止日期倒计时(还剩 X 天 / 今天截止 / 已过期 X 天)
- 紧急倒计时(≤3天/已过期)使用红色警告样式
- 状态标签增加颜色区分:已完成(绿)/已过期(红)/待完成(黄)
2026-04-24 12:48:53 +08:00
iven
0fe4cab593 feat(miniprogram): 微信订阅消息引导 + 个人中心消息 badge 占位
Some checks failed
CI / rust-check (push) Has been cancelled
CI / rust-test (push) Has been cancelled
CI / frontend-build (push) Has been cancelled
CI / security-audit (push) Has been cancelled
- 新增 wechat-templates.ts 集中管理模板 ID
- 预约成功后引导用户订阅预约提醒
- 随访记录提交后引导订阅随访提醒
- 个人中心新增消息中心入口 + 未读数 badge(MVP 占位 unreadCount: 0)
2026-04-24 12:47:25 +08:00
iven
38e53efaec feat(appointment): 预约创建页重写 — 宫格科室+周视图日历+时段卡片 2026-04-24 12:42:46 +08:00
iven
487432b4e9 feat(appointment): 新增 StepIndicator 步骤指示器 + WeekCalendar 周视图日历组件 2026-04-24 12:40:59 +08:00
iven
4f2efdb643 feat(health): 表单验证升级为 zod schema + 异常值警告 + 录入后清除缓存
Some checks failed
CI / rust-check (push) Has been cancelled
CI / rust-test (push) Has been cancelled
CI / frontend-build (push) Has been cancelled
CI / security-audit (push) Has been cancelled
2026-04-24 12:39:36 +08:00
iven
a9861a0cde feat(health): 趋势图升级为 ECharts 折线图 + 缓存 TTL 5分钟 2026-04-24 12:38:07 +08:00
iven
7b5b00fbac feat(health): 新增 TrendChart ECharts 折线图组件 2026-04-24 12:36:48 +08:00
iven
fa21bbcadd feat(health): 健康卡片增加状态色(正常绿/异常红)+ 参考范围显示 2026-04-24 12:35:13 +08:00
iven
8dc00fbd9e spike(miniprogram): echarts-taro3-react 在 Taro 4 webpack5 下验证通过,编译正常 2026-04-24 12:33:27 +08:00
iven
6bb3babcb9 chore(miniprogram): stores 层启用 @/ 路径别名 + webpack alias 配置
Some checks failed
CI / rust-check (push) Has been cancelled
CI / rust-test (push) Has been cancelled
CI / frontend-build (push) Has been cancelled
CI / security-audit (push) Has been cancelled
2026-04-24 12:30:02 +08:00
iven
54a0e393ac fix(miniprogram): 首页/健康页/详情页统一使用 Loading 组件 2026-04-24 12:27:16 +08:00
iven
f75bc191e6 fix(miniprogram): 预约详情/随访详情改为 API 获取数据,移除 Storage 缓存传递 2026-04-24 12:24:49 +08:00
iven
74d7efec1f fix(miniprogram): 添加全局 ErrorBoundary,修复 tryRefreshToken 静默吞异常 2026-04-24 12:20:34 +08:00
iven
f3716dbdc5 fix(miniprogram): 删除重复页面 report/followup,修复 EmptyState 导入 bug 2026-04-24 12:19:24 +08:00
iven
d26a847be2 fix(health): 对接今日体征摘要新端点 /health/vital-signs/today 2026-04-24 12:18:23 +08:00
iven
6391a13467 fix(auth+miniprogram): 清除全部审计遗留问题
Some checks failed
CI / rust-check (push) Has been cancelled
CI / rust-test (push) Has been cancelled
CI / frontend-build (push) Has been cancelled
CI / security-audit (push) Has been cancelled
MEDIUM:
- WechatLoginReq/WechatBindPhoneReq 添加 Validate 派生 + 字段校验规则
- handler 中调用 req.validate() 并 map_err 转换
- 新增 AuthError::DbError 变体,wechat_service 所有 DB 错误从 Validation 改为 DbError
- DbError 映射到 AppError::Internal,不再误导前端

LOW:
- fetch_session 改用 reqwest Client.query() 构建参数,自动 URL 编码
- app.tsx PropsWithChildren<any> 改为 Record<string, unknown>
- login handleGetPhone 回调 e: any 改为内联类型
- appointment/create 4 个事件回调 e: any 改为内联类型
- health/input catch (e: any) 改为 catch (e: unknown) + instanceof 守卫
- report/detail Object.entries 去掉 [string, any] 类型断言
- wechat_service 移除 decrypt_phone_placeholder 函数,内联占位注释
2026-04-24 08:16:01 +08:00
iven
ef6d76ef6c fix(miniprogram+auth): 二次审计修复 — 3 HIGH + 2 MEDIUM
Some checks failed
CI / rust-check (push) Has been cancelled
CI / rust-test (push) Has been cancelled
CI / frontend-build (push) Has been cancelled
CI / security-audit (push) Has been cancelled
HIGH:
- wechat_users 迁移补充 created_by/updated_by/version 标准字段
- Entity 同步更新,bind_phone 创建记录时填充新字段
- appointment create 移除 schedule_id 空字符串,改为可选
- appointment list 用 useRef 替代 useCallback 的 loading 依赖,消除 stale closure

MEDIUM:
- report 页 patientId 从顶层读取改为 useDidShow 内动态获取,就诊人切换后正确刷新
- profile/reports 同上修复
- profile/followups 移除 useDidShow 非法的第二参数
2026-04-24 08:05:58 +08:00
iven
7b7677dfec fix(miniprogram): 审计修复 — P0/P1 共 16 个问题
Some checks failed
CI / rust-check (push) Has been cancelled
CI / rust-test (push) Has been cancelled
CI / frontend-build (push) Has been cancelled
CI / security-audit (push) Has been cancelled
P0 功能阻断:
- 修复 login→bindPhone openid 状态传递断裂
- 首页健康卡片对接 useHealthStore 真实数据
- 血压录入改为收缩压/舒张压双输入
- 快捷服务路径修正(报告→/pages/report、随访→/pages/followup)

P1 类型安全 + 组件:
- 替换所有 <input>/<image>/<textarea> 为 Taro 组件
- service 层 any 类型全部替换(Doctor/DoctorSchedule/IndicatorDetail/FollowUpContent/PatientUpdateInput)
- 预约详情数据传递简化为纯 Storage 缓存
- Article 接口添加 author 字段
2026-04-24 01:37:34 +08:00
iven
0c73927450 feat(miniprogram): 通用组件 + 页面接入 — Chunk 7
Some checks failed
CI / rust-check (push) Has been cancelled
CI / rust-test (push) Has been cancelled
CI / frontend-build (push) Has been cancelled
CI / security-audit (push) Has been cancelled
- 创建 EmptyState/ErrorState/Loading 三个通用组件
- 8个列表页面接入通用组件替换内联空状态/loading
- app.config.ts 添加 login 页面路由
2026-04-24 01:03:23 +08:00
iven
9ef65b9a9f feat(health+miniprogram): 预约/报告/随访/资讯/家庭管理 — Chunk 4-6
Some checks failed
CI / rust-check (push) Has been cancelled
CI / rust-test (push) Has been cancelled
CI / frontend-build (push) Has been cancelled
CI / security-audit (push) Has been cancelled
后端:
- 添加 articles 表迁移 + Entity + Service + Handler
- 健康数据趋势 API (get_mini_trend) 注册路由
- article CRUD (list/get) + DTO

前端 (11个新页面 + 5个服务):
- 预约挂号: 列表/创建向导/详情页
- 报告管理: 列表/详情页
- 随访管理: 任务列表/记录详情页
- 资讯文章: 文章详情页
- 个人中心: 就诊人管理/新增/我的报告/我的随访/用药提醒/设置
- 更新 app.config.ts 注册全部路由
- 更新 profile/article 页面为真实功能
2026-04-24 00:58:40 +08:00
iven
affb3a5578 feat(health+miniprogram): 健康数据录入 + 趋势图
Some checks failed
CI / rust-check (push) Has been cancelled
CI / rust-test (push) Has been cancelled
CI / frontend-build (push) Has been cancelled
CI / security-audit (push) Has been cancelled
后端:
- 新增 GET /health/vital-signs/trend 小程序趋势查询 API
- 通过 JWT user_id 自动关联 patient,支持 range 参数 (7d/30d/90d)
- 新增 MiniTrendQueryParams, MiniTrendResp, DataPoint DTO

前端:
- 实现健康数据首页(今日概览 + 趋势入口 + 录入按钮)
- 实现健康数据录入页(指标选择 + 数值输入 + 提交)
- 实现趋势图页(时间范围切换 + 柱状图 + 数据列表)
- 新增 health service 和 store(趋势缓存 + 今日摘要)
- 修复所有页面相对路径引用问题
2026-04-24 00:36:30 +08:00
iven
0f84c881ef feat(miniprogram): 初始化 Taro 4 + React 小程序项目
Some checks failed
CI / rust-check (push) Has been cancelled
CI / rust-test (push) Has been cancelled
CI / frontend-build (push) Has been cancelled
CI / security-audit (push) Has been cancelled
- 手动创建 Taro 4.2 + React 18 + TypeScript 项目骨架
- 配置 webpack5 编译、SCSS 样式、医疗清新主题
- 实现 API 请求层(JWT 自动注入 + token 刷新)
- 实现 auth store(微信登录 + 手机号绑定 + 就诊人管理)
- 实现登录页(微信一键登录 + 手机号授权绑定)
- 实现首页(问候栏 + 今日健康卡片 + 快捷服务 + 即将到来)
- 实现我的页面(个人信息 + 功能菜单 + 退出登录)
- 健康/预约/资讯占位页
- TabBar 5 个入口:首页/健康/预约/资讯/我的
2026-04-24 00:28:38 +08:00