2.9 KiB
2.9 KiB
NewCodeLoginActivity 密码登录功能扩展
功能概述
在 NewCodeLoginActivity(验证码登录页面)中扩展了密码登录功能,用户可以在验证码登录和密码登录之间切换。
实现的功能
1. 登录方式切换
- 默认显示验证码登录
- 可以通过"密码登录"按钮切换到密码登录
- 可以通过"验证码登录"按钮切换回验证码登录
2. 密码登录
- 输入手机号和密码
- 调用后端
/appLogin接口 - 登录成功后跳转到主页
3. 验证码登录(原有功能)
- 输入手机号
- 获取验证码
- 输入验证码登录
代码修改
Java 代码修改
文件: peizhen/app/src/main/java/com/ruilaizi/service/main/activity/NewCodeLoginActivity.java
主要修改:
- 添加了密码登录相关的成员变量
- 添加了
switchToCodeLogin()和switchToPasswordLogin()方法 - 添加了
doPasswordLogin()方法实现密码登录 - 修改了按钮点击事件,支持两种登录方式
布局文件修改
文件: peizhen/app/src/main/res/layout/new_dialog_smscode_input.xml
主要修改:
- 为验证码输入区域添加了
id="ll_code_input" - 添加了密码输入区域
ll_password(默认隐藏) - 添加了切换登录方式按钮
tv_switch_login
新增的 UI 元素
-
密码输入框 (
et_password)- 类型:密码输入(
inputType="textPassword") - 位置:在手机号输入框下方
- 默认隐藏,切换到密码登录时显示
- 类型:密码输入(
-
切换登录方式按钮 (
tv_switch_login)- 文本:默认显示"密码登录"
- 点击后切换登录方式
使用流程
验证码登录(默认)
- 输入手机号
- 点击"获取验证码"
- 输入验证码
- 点击"验证登录"
密码登录
- 点击"密码登录"按钮
- 输入手机号
- 输入密码
- 点击"登录"按钮
后端接口
- 密码登录接口:
POST /appLogin - 参数:
username: 手机号password: 密码
- 返回格式:
{code: 200, msg: "", data: {...}}
注意事项
- 密码登录使用
NetApi和JsonUtils,与LoginPasswordPresenterImpl保持一致 - 登录成功后会自动保存用户信息和登录状态
- 登录失败会显示错误提示
- 两种登录方式共享相同的用户信息存储逻辑
测试建议
- 测试验证码登录功能是否正常
- 测试密码登录功能是否正常
- 测试两种登录方式的切换是否流畅
- 测试输入验证(手机号格式、密码非空等)
- 测试错误处理(网络错误、登录失败等)
相关文件
peizhen/app/src/main/java/com/ruilaizi/service/main/activity/NewCodeLoginActivity.java- 主Activitypeizhen/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解析工具