deotalandAi/.trae/documents/修改登录注册邀请码逻辑.md

2.3 KiB
Raw Blame History

实施计划

1. 分析当前代码结构

  • PhoneLogin.vue:手机号登录页面主组件,包含登录卡片和子组件调用

  • PhoneLoginForm.vue:登录表单组件,包含登录方式切换和表单字段

  • login.js包含登录相关的API调用方法sendPhoneCodephoneLoginCode

2. 修改PhoneLoginForm.vue组件

模板部分修改

  • 更新登录模式切换:将现有的三种模式(密码登录、注册、重置密码)改为仅保留登录相关的模式

  • 添加密码/验证码登录切换:在登录模式下,添加一个新的切换开关,允许用户在密码登录和验证码登录之间切换

  • 调整表单字段显示:根据选择的登录方式显示相应的表单字段

脚本部分修改

  • 添加登录方式状态:添加loginMethod ref用于跟踪用户选择的是密码登录还是验证码登录

  • 设置默认登录方式:将默认登录方式设置为验证码登录

  • 更新表单验证逻辑:根据选择的登录方式调整验证规则

  • 更新发送验证码逻辑:发送登录验证码时传递purpose: 'login'

  • 更新表单提交逻辑:验证码登录时调用phoneLoginCode函数

3. 修改PhoneLogin.vue组件

  • 更新handleLogin方法:确保根据登录方式调用正确的登录函数

4. 实施细节

PhoneLoginForm.vue修改点

  • 第155行:将默认loginMode改为'code'

  • 第38-70行:添加密码/验证码登录切换按钮

  • 第256-285行:更新handleSendCode方法确保发送验证码时传递正确的purpose

  • 第288-316行:更新handleSubmit方法,处理验证码登录逻辑

PhoneLogin.vue修改点

  • 第79-81行:更新handleLogin方法,根据登录方式调用正确的登录函数

5. 预期行为

  • 用户默认看到验证码登录界面

  • 用户可以在密码登录和验证码登录之间切换

  • 发送登录验证码时,传递purpose: 'login'

  • 验证码登录调用phoneLoginCode函数

  • 密码登录保持原有功能不变

6. 需要修改的文件

  • d:\work\Aiproject\DeotalandAi\apps\frontend\src\components\auth\PhoneLoginForm.vue

  • d:\work\Aiproject\DeotalandAi\apps\frontend\src\views\Login\PhoneLogin.vue