Selaa lähdekoodia

docs: AGENTS.md 变更记录编号理顺(C-12~C-17 唯一连续)并新增索引表

bob 1 kuukausi sitten
vanhempi
sitoutus
9d1a320f24
1 muutettua tiedostoa jossa 35 lisäystä ja 17 poistoa
  1. 35 17
      AGENTS.md

+ 35 - 17
AGENTS.md

@@ -202,6 +202,9 @@
 
 ## 9. 变更与功能确认记录
 
+> **变更索引(按编号顺序)**:C-01 协作规范 · C-02 蓝色品牌色 · C-03 扁平按钮 · C-04 课程时间排序 · C-05 数字讲师资产库 · C-06 统一创建入口 · C-07 禁止删除已用讲师 · C-08 创建流程优化 · C-09 手机拍照录音 · C-10 独立创建编辑页 · C-11 搜索备注收起 · C-12 照片参考样例 · C-13 待制作队列 · C-14 取消制作详情页 · C-15 平台/用户隔离 · C-16 讲师默认所有者 · C-17 顶部栏管理员匹配与千分位。
+> **验证状态**:C-01 已确认;C-02/C-03 为样式“部分确认”;C-04~C-16 均为功能/修复“部分确认”(仅过 check/build 及接口隔离测试,未做公网与生产库验收)。
+
 ### C-20260923-01|建立项目级协作、决策与功能确认机制
 
 - 日期:2026-09-23
@@ -366,7 +369,7 @@
 - 后续修改提示:接入正式声音质量或时长校验时,需在服务端校验音频真实时长和内容,不能依赖前端绿色提示;若替换参考图,检查手机端两张示例的裁切位置。
 - 关联:C-20260923-09、C-20260923-11。
 
-### C-20260923-12|平台管理员独立待制作课程队列
+### C-20260923-13|平台管理员独立待制作课程队列
 
 - 日期:2026-09-23
 - 类型:功能 / 样式
@@ -379,7 +382,20 @@
 - 后续修改提示:若增加制作状态或团队分工,明确队列纳入条件和权限;讲师照片与录音需继续使用提交快照及受保护文件接口。
 - 关联:C-20260923-05、C-20260923-10。
 
-### C-20260923-14|平台管理员与普通用户身份彻底隔离
+### C-20260923-14|取消平台制作详情页并合并制作操作
+
+- 日期:2026-09-23
+- 类型:功能 / 重构
+- 需求与原因:用户明确要求删除平台管理员现有制作详情页,避免与新待制作页面重复。
+- 修改范围:移除 `/admin/courses/:id` 平台路由及各管理页面对此路径的链接;待制作队列卡片加入完整讲稿、提交人资料,以及接单操作;同页增加“制作中”切换、交付文件上传与下载、实际积分调整和完成交付。全部课程页保留为只读总览。`AdminCourseDetail` 组件仍供组织管理员课程路径使用,不作为平台管理员页面。
+- 保留/新增判断:保留 D-001、D-004、D-005、D-009;平台制作操作集中于 `/admin/production-queue`,受原管理员接口鉴权约束。替代 C-20260923-13 中“完整制作操作仍进入现有课程详情页”的判断。
+- 功能确认状态:部分确认
+- 验证证据:`npm run check`、`npm run build`、`git diff --check` 通过;检索确认平台管理端没有残留指向 `/admin/courses/:id` 的链接,组织管理路径仍引用原组件。
+- 未确认与风险:未用真实平台管理员账号验证接单、上传、积分调整与交付;未部署公网。旧平台详情页中的更多辅助操作未全部迁入新队列,例如删除交付文件、退回待制作和修改已完成课程的交付说明。
+- 后续修改提示:若团队需要恢复辅助操作,应直接在制作队列卡片中补充并验证相应状态及权限,不要重新引入重复的详情页。
+- 关联:C-20260923-13。
+
+### C-20260923-15|平台管理员与普通用户身份彻底隔离
 
 - 日期:2026-09-23
 - 类型:功能 / 数据库 / 修复
@@ -390,22 +406,9 @@
 - 验证证据:`npm run check`、`npm run build`、`git diff --check` 通过;隔离 PostgreSQL 库验证普通注册、管理员注册手机号拦截、普通登录、管理员登录、交叉登录拒绝、普通会话访问 `/api/me`、管理员会话访问 `/api/me`、普通会话访问后台返回 401、管理员访问后台统计/课程/用户/组织/数字讲师接口成功、管理员退出后会话失效、角色转换接口返回 403;实际操作验证用户创建/重置密码、组织创建/更新、成员授权/移除、组织积分、申请审批、课程制作状态/积分/交付/结单、数字讲师查看/编辑/复制/删除;浏览器实际验证管理员登录后台、管理员退出、普通用户登录课程首页;迁移库验证旧管理员从 `users` 迁入 `platform_admins` 且普通用户表不再保留管理员记录;数据库触发器验证三种手机号/角色越界写入均被拒绝;生产模式服务启动成功。
 - 未确认与风险:未在生产数据库或公网部署;本地隔离测试使用临时数据库和测试账号,临时服务已停止,测试数据库待清理;历史管理员若拥有业务数据会按设计阻止自动迁移,需要备份后人工制定归属方案;构建仍有 Vite 大包体积提示,但不影响构建。
 - 后续修改提示:新增平台后台接口必须使用 `adminAuth`,普通用户接口不得接受管理员会话;审计、积分流水、审批和资产事件涉及操作人时应分别写入 `admin_actor_id` 或普通用户字段;不得恢复 `users.role='ADMIN'` 或升降级接口。生产升级前备份数据库和上传目录,并先核对旧管理员是否拥有业务数据。
-- 关联:C-20260923-05、C-20260923-10、C-20260923-13。
+- 关联:C-20260923-05、C-20260923-10、C-20260923-14。
 
-### C-20260923-13|取消平台制作详情页并合并制作操作
-
-- 日期:2026-09-23
-- 类型:功能 / 重构
-- 需求与原因:用户明确要求删除平台管理员现有制作详情页,避免与新待制作页面重复。
-- 修改范围:移除 `/admin/courses/:id` 平台路由及各管理页面对此路径的链接;待制作队列卡片加入完整讲稿、提交人资料,以及接单操作;同页增加“制作中”切换、交付文件上传与下载、实际积分调整和完成交付。全部课程页保留为只读总览。`AdminCourseDetail` 组件仍供组织管理员课程路径使用,不作为平台管理员页面。
-- 保留/新增判断:保留 D-001、D-004、D-005、D-009;平台制作操作集中于 `/admin/production-queue`,受原管理员接口鉴权约束。替代 C-20260923-12 中“完整制作操作仍进入现有课程详情页”的判断。
-- 功能确认状态:部分确认
-- 验证证据:`npm run check`、`npm run build`、`git diff --check` 通过;检索确认平台管理端没有残留指向 `/admin/courses/:id` 的链接,组织管理路径仍引用原组件。
-- 未确认与风险:未用真实平台管理员账号验证接单、上传、积分调整与交付;未部署公网。旧平台详情页中的更多辅助操作未全部迁入新队列,例如删除交付文件、退回待制作和修改已完成课程的交付说明。
-- 后续修改提示:若团队需要恢复辅助操作,应直接在制作队列卡片中补充并验证相应状态及权限,不要重新引入重复的详情页。
-- 关联:C-20260923-12。
-
-### C-20260923-14|数字讲师创建默认所有者且编辑所有者权限收紧
+### C-20260923-16|数字讲师创建默认所有者且编辑所有者权限收紧
 
 - 日期:2026-09-23
 - 类型:功能 / 样式 / 权限
@@ -417,3 +420,18 @@
 - 未确认与风险:未在生产环境或真实公网验证;既有未提交改动继续保留。
 - 后续修改提示:未来若扩展协作者或多人所有权,需在此表单和接口保持只读与管理员授权逻辑一致。
 - 关联:C-20260923-05、C-20260923-10。
+
+### C-20260923-17|顶部栏工作区管理员匹配与积分余额千分位展示
+
+- 日期:2026-09-23
+- 类型:UI / 体验 / 逻辑修复
+- 需求与原因:用户明确要求:右侧“管理员”字样要跟当前工作区严格匹配,只有当前选中的工作区角色为管理员才显示,避免切换到个人工作区或普通组织成员时误显;积分部分文案需写清楚“积分余额:xxx”,且数字格式保持统一每三位用逗号隔开。
+- 修改范围:
+  1. `src/components/Layout.tsx`:将 `isOrgManager` 从全局匹配任一组织角色(`organizations.some`)改为仅匹配当前工作区(`currentOrganization?.role === 'MANAGER'`);若处于个人工作区或非管理员组织,则不渲染管理员徽标;
+  2. `src/components/Layout.tsx`:积分徽章文案更新为“积分余额:xxx”,并使用 `.toLocaleString('zh-CN')` 统一千分位逗号展示;
+  3. `src/pages/OrganizationManage.tsx`:组织积分余额数字同样增加 `.toLocaleString('zh-CN')` 格式化,保持全站一致。
+- 保留/新增判断:遵守 D-001。前台“管理员”徽章必须与当前选中的工作区上下文保持一致,不能泄露或混淆其他工作区的管理权限。
+- 功能确认状态:部分确认
+- 验证证据:`npm run check`、`npm run build`、`git diff --check` 全部通过。
+- 未确认与风险:未在生产环境构建部署。
+- 关联:C-20260923-05。