1.9 KiB
Register Protocol Supplement Implementation Plan
For Claude: REQUIRED SUB-SKILL: Use superpowers:executing-plans to implement this plan task-by-task.
Goal: 让注册页的“服务条款”和“隐私政策”链接打开可阅读的协议内容。
Architecture: 把登录页已有 CTMS 协议文案抽到前端共享模块,登录页与注册页共同引用。注册页只增加弹窗状态与打开/关闭逻辑,不新增后端接口、路由或持久化配置。
Tech Stack: Vue 3 SFC、Element Plus、Vitest。
Task 1: 共享协议文案
Files:
- Create:
frontend/src/content/authProtocol.ts - Modify:
frontend/src/views/Login.vue - Test:
frontend/src/views/Login.test.ts
Step 1: Write failing test
验证登录页引用共享模块,不再内联维护 protocolSections。
Step 2: Run test to verify it fails
Run: npm run test:unit -- src/views/Login.test.ts
Step 3: Write minimal implementation
创建共享协议模块并让登录页导入。
Step 4: Run test to verify it passes
Run: npm run test:unit -- src/views/Login.test.ts
Task 2: 注册页协议弹窗
Files:
- Modify:
frontend/src/views/Register.vue
Step 1: Write failing test
验证注册页两个协议按钮有 @click 行为、弹窗根据当前类型展示服务条款或隐私政策、确认按钮关闭弹窗。
Step 2: Run test to verify it fails
Run: npm run test:unit
Step 3: Write minimal implementation
添加 protocolDialogVisible、activeProtocolType、activeProtocolTitle、activeProtocolSections、openProtocolDialog、closeProtocolDialog,模板新增 el-dialog。
Step 4: Run test to verify it passes
Run: npm run test:unit
Task 3: Final verification
Run:
npm run test:unit -- src/views/Login.test.tsnpm run type-check
不执行 git commit,遵循用户指令。