# 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` - Test: `frontend/src/views/Register.test.ts` **Step 1: Write failing test** 验证注册页两个协议按钮有 `@click` 行为、弹窗根据当前类型展示服务条款或隐私政策、确认按钮关闭弹窗。 **Step 2: Run test to verify it fails** Run: `npm run test:unit -- src/views/Register.test.ts` **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 -- src/views/Register.test.ts` ### Task 3: Final verification Run: - `npm run test:unit -- src/views/Login.test.ts src/views/Register.test.ts` - `npm run type-check` 不执行 git commit,遵循用户指令。