# 小程序首次登录自动跳过身份选择切入信息补充 — 实施计划 > **For agentic workers:** REQUIRED SUB-SKILL: Use superpowers:subagent-driven-development. > Steps use checkbox (`- [ ]`) syntax for tracking. **Goal:** 新用户微信授权后直跳信息补充页(默认 parent),profile/edit 嵌入四级地址选择器 **Architecture:** 修改 login.vue(传参跳过角色选择)+ user-edit.vue(autoParent 模式 + 嵌入 AddressPicker)+ 后端 DTO/Controller/Service 扩展 address 字段 **Tech Stack:** uni-app Vue 2 + Spring Boot 2.7 + MyBatis-Plus --- ### Task 1: 后端 — UpdateUserDTO + Controller + Service 扩展 address 字段 **Files:** - Modify: `cfc-backend/src/main/java/com/etotem/cfc/dto/UpdateUserDTO.java` - Modify: `cfc-backend/src/main/java/com/etotem/cfc/controller/UserController.java` - Modify: `cfc-backend/src/main/java/com/etotem/cfc/service/UserService.java` - [ ] **Step 1: 给 UpdateUserDTO 添加 address 字段** ```java // 在 UpdateUserDTO.java 末尾添加(在 mascot 字段之后) private String address; ``` - [ ] **Step 2: 给 UserController.updateUser 添加 address 参数解析** ```java // 在 UserController.java 的 updateUser 方法中,在 mascot 解析之后、boolean success 之前添加: if (params.containsKey("address")) dto.setAddress((String) params.get("address")); ``` - [ ] **Step 3: 给 UserService.updateUserInfo 添加 address 赋值** ```java // 在 UserService.java 的 updateUserInfo 方法中,在 mascot 处理之后、userMapper.updateById 之前添加: if (dto.getAddress() != null) { user.setAddress(dto.getAddress()); } ``` - [ ] **Step 4: schema.sql 同步 — users 表添加 address 列** ```sql -- 在 CREATE TABLE IF NOT EXISTS users 定义中,在 mascot VARCHAR(20) 行之后添加: address VARCHAR(500) COMMENT '地址', ``` - [ ] **Step 5: 验证编译** ```bash cd cfc-backend && mvn clean compile -q ``` Expected: BUILD SUCCESS --- ### Task 2: 前端 — login.vue 传参 autoParent **Files:** - Modify: `cfc-frontend/pages/login/login.vue` - [ ] **Step 1: 修改 needsRoleSelect 处理逻辑** 将 login.vue 中 `res.data.needsRoleSelect` 为 true 时的跳转从: ```javascript if (res.data.needsRoleSelect) { uni.redirectTo({ url: '/pages/user-edit/user-edit?token=' + res.data.token + '&userId=' + res.data.userId + '&needsRoleSelect=true' }) } ``` 改为: ```javascript if (res.data.needsRoleSelect) { // 新用户:跳过角色选择,默认 parent,直接进入信息补充页 uni.redirectTo({ url: '/pages/user-edit/user-edit?token=' + res.data.token + '&userId=' + res.data.userId + '&autoParent=true' }) } ``` --- ### Task 3: 前端 — user-edit.vue 自动 parent 模式 + 地址选择器 **Files:** - Modify: `cfc-frontend/pages/user-edit/user-edit.vue` - [ ] **Step 1: 引入 AddressPicker 组件** 在 `