|
|
@@ -4,6 +4,41 @@
|
|
|
|
|
|
---
|
|
|
|
|
|
+## v1.0.2216 (2026-11-08)
|
|
|
+
|
|
|
+### 文档
|
|
|
+- 研发负责人汇报 2026-11-08 18:16(第70轮·guhe_v2/diet 14 RED 入池 + 场景覆盖矩阵 15/241)
|
|
|
+- 迁移方案追加 T7 会话恢复 --resume 子命令落地状态
|
|
|
+- 浠艾福平台程序修改计划 v1.0(guhe_v2 兼容·知识库低侧口径·专家同步)——入池溯源锚点
|
|
|
+- 迁移方案追加 T6 填槽并入 --auto 落地状态(池空提示 + 巡检 prompt 对齐 fill_slots)
|
|
|
+
|
|
|
+### 新功能
|
|
|
+- 发布后异步预生成朗读音频 + 正文变更作废旧音频
|
|
|
+- 规划师(teacher)按 roles 列表判定身份,修复主角色为 parent 的认证规划师看不到服务中心入口
|
|
|
+
|
|
|
+### 其他
|
|
|
+- - 文章更新时:朗读文本变化,或朗读文本为空时正文变化,均作废旧音频并异步重新生成
|
|
|
+- - 生成中并发保护:发布预生成与用户点听文章不重复合成,点播短暂等待缓存
|
|
|
+- - 新增单元测试:发布预生成 3 例 + 作废规则 8 例
|
|
|
+-
|
|
|
+- - 新增 RolesUtil:hasTeacherRole(role, roles) 按完整角色列表判定规划师身份;
|
|
|
+- effectiveRoles(user) 保证签发 token 时首位恒为主角色(role claim 不变)、roles claim 携带完整角色集
|
|
|
+- - 小程序 token 签发(UserService×10、InviteCardService×4)改为携带完整 roles
|
|
|
+- - 40 处原 !"teacher".equals(role) 守卫改为 !RolesUtil.hasTeacherRole(role, roles),
|
|
|
+- 涉及 guide/planner/health-plan/assessment/growth/article 相关控制器及 GuideFamilyAccessGuard
|
|
|
+- - GuidePlanReviewController/GuideFamilyQueryController 调用方透传 roles
|
|
|
+- - 既有契约测试补 roles=null(语义等价旧断言);新增 RolesUtilTest 与
|
|
|
+- GuideFamilyAccessGuardTest roles 放行用例;123 个受影响单测通过
|
|
|
+- 前端(需人工重新打包小程序):
|
|
|
+- - api.js: 修正 getUserRoles/switchRole URL(/api/family/user/...),
|
|
|
+- 新增 getTeacherInfo/getTeacherPendingTasks(指向 dashboard-stats)/getTeacherUnreadCount
|
|
|
+- - profile-main: loadTeacherIdentity 按 roles 探测规划师身份,服务中心入口/待审核提示
|
|
|
+- 改用 isTeacherUser,写 teacherStatus/userRoles 至 storage
|
|
|
+- - service-center: initRole 按 roles 判定 + 状态兜底拉取,解析 dashboard-stats 待办/服务家庭数,
|
|
|
+- 新增「培训认证」入口(打通 certification-center 唯一入口)
|
|
|
+-
|
|
|
+
|
|
|
+
|
|
|
## v1.0.2215 (2026-11-08)
|
|
|
|
|
|
### 文档
|