Files
rlz/NewCodeLoginActivity密码登录功能说明.md
2026-01-26 15:02:59 +08:00

2.9 KiB
Raw Blame History

NewCodeLoginActivity 密码登录功能扩展

功能概述

NewCodeLoginActivity(验证码登录页面)中扩展了密码登录功能,用户可以在验证码登录和密码登录之间切换。

实现的功能

1. 登录方式切换

  • 默认显示验证码登录
  • 可以通过"密码登录"按钮切换到密码登录
  • 可以通过"验证码登录"按钮切换回验证码登录

2. 密码登录

  • 输入手机号和密码
  • 调用后端 /appLogin 接口
  • 登录成功后跳转到主页

3. 验证码登录(原有功能)

  • 输入手机号
  • 获取验证码
  • 输入验证码登录

代码修改

Java 代码修改

文件: peizhen/app/src/main/java/com/ruilaizi/service/main/activity/NewCodeLoginActivity.java

主要修改:

  1. 添加了密码登录相关的成员变量
  2. 添加了 switchToCodeLogin()switchToPasswordLogin() 方法
  3. 添加了 doPasswordLogin() 方法实现密码登录
  4. 修改了按钮点击事件,支持两种登录方式

布局文件修改

文件: peizhen/app/src/main/res/layout/new_dialog_smscode_input.xml

主要修改:

  1. 为验证码输入区域添加了 id="ll_code_input"
  2. 添加了密码输入区域 ll_password(默认隐藏)
  3. 添加了切换登录方式按钮 tv_switch_login

新增的 UI 元素

  1. 密码输入框 (et_password)

    • 类型:密码输入(inputType="textPassword"
    • 位置:在手机号输入框下方
    • 默认隐藏,切换到密码登录时显示
  2. 切换登录方式按钮 (tv_switch_login)

    • 文本:默认显示"密码登录"
    • 点击后切换登录方式

使用流程

验证码登录(默认)

  1. 输入手机号
  2. 点击"获取验证码"
  3. 输入验证码
  4. 点击"验证登录"

密码登录

  1. 点击"密码登录"按钮
  2. 输入手机号
  3. 输入密码
  4. 点击"登录"按钮

后端接口

  • 密码登录接口: POST /appLogin
  • 参数:
    • username: 手机号
    • password: 密码
  • 返回格式: {code: 200, msg: "", data: {...}}

注意事项

  1. 密码登录使用 NetApiJsonUtils,与 LoginPasswordPresenterImpl 保持一致
  2. 登录成功后会自动保存用户信息和登录状态
  3. 登录失败会显示错误提示
  4. 两种登录方式共享相同的用户信息存储逻辑

测试建议

  1. 测试验证码登录功能是否正常
  2. 测试密码登录功能是否正常
  3. 测试两种登录方式的切换是否流畅
  4. 测试输入验证(手机号格式、密码非空等)
  5. 测试错误处理(网络错误、登录失败等)

相关文件

  • peizhen/app/src/main/java/com/ruilaizi/service/main/activity/NewCodeLoginActivity.java - 主Activity
  • peizhen/app/src/main/res/layout/new_dialog_smscode_input.xml - 布局文件
  • peizhen/app/src/main/java/com/ruilaizi/service/okgonet/NetApi.java - 网络请求工具
  • peizhen/app/src/main/java/com/ruilaizi/service/utils/JsonUtils.java - JSON解析工具