修改登录密码

This commit is contained in:
2026-05-21 11:52:59 +08:00
parent c31be55fe6
commit 888382f7ce
12 changed files with 345 additions and 7 deletions

View File

@@ -0,0 +1,6 @@
package com.example.defenseapplication.bean
data class UpdatePassword(
val oldPassword: String,
val password: String
)

View File

@@ -0,0 +1,14 @@
package com.example.defenseapplication.bean
import java.io.Serializable
data class UserInfoBean(
val userId: String? = null,
val userName: String? = null,
val nickName: String? = null,
val phonenumber: String? = null,
val avatar: String? = null,
val role: String? = null,
val idCard: String? = null,
val createTime: String? = null
): Serializable

View File

@@ -1,18 +1,24 @@
package com.example.defenseapplication.personal
import android.os.Bundle
import androidx.activity.enableEdgeToEdge
import android.widget.Toast
import androidx.appcompat.app.AppCompatActivity
import androidx.core.view.ViewCompat
import androidx.core.view.WindowInsetsCompat
import bean.LoginRequest
import com.example.defenseapplication.R
import com.example.defenseapplication.bean.UpdatePassword
import com.example.defenseapplication.bean.UserInfoBean
import com.example.defenseapplication.databinding.LoginPasswordActivityBinding
import com.example.defenseapplication.databinding.PasswordManagementActivityBinding
import com.example.defenseapplication.utils.RetrofitNetwork
import com.gyf.immersionbar.ImmersionBar
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch
import kotlinx.coroutines.withContext
//登录密码
//登录密码修改
class LoginPasswordActivity : AppCompatActivity() {
private lateinit var binding: LoginPasswordActivityBinding
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
binding = LoginPasswordActivityBinding.inflate(layoutInflater)
@@ -26,5 +32,45 @@ class LoginPasswordActivity : AppCompatActivity() {
binding.ivBack.setOnClickListener {
finish()
}
binding.btnConfirm.setOnClickListener {
val oldPassword = binding.etOldPassword.text.toString().trim()
val newPassword = binding.etNewPassword.text.toString().trim()
val confirmPassword = binding.etConfirmPassword.text.toString().trim()
if (oldPassword.isEmpty()) {
Toast.makeText(this, getString(R.string.enter_old_password), Toast.LENGTH_SHORT).show()
return@setOnClickListener
}
if (newPassword.isEmpty()) {
Toast.makeText(this, getString(R.string.enter_new_password), Toast.LENGTH_SHORT).show()
return@setOnClickListener
}
if (newPassword != confirmPassword) {
Toast.makeText(this, getString(R.string.password_not_match), Toast.LENGTH_SHORT).show()
return@setOnClickListener
}
CoroutineScope(Dispatchers.IO).launch {
try {
val result = RetrofitNetwork.getNetworkService().updatePassword(UpdatePassword(oldPassword, newPassword))
withContext(Dispatchers.Main) {
if (result.code == 200) {
Toast.makeText(this@LoginPasswordActivity, getString(R.string.password_reset_success), Toast.LENGTH_SHORT).show()
finish()
} else {
Toast.makeText(this@LoginPasswordActivity, result.msg ?: getString(R.string.password_reset_failed), Toast.LENGTH_SHORT).show()
}
}
} catch (e: Exception) {
withContext(Dispatchers.Main) {
Toast.makeText(this@LoginPasswordActivity, getString(R.string.network_error), Toast.LENGTH_SHORT).show()
}
}
}
}
}
}
}

View File

@@ -14,6 +14,7 @@ import com.example.defenseapplication.bean.DeleteDeviceUserRequest
import com.example.defenseapplication.bean.FamilyMembersBean
import com.example.defenseapplication.bean.MessageGroup
import com.example.defenseapplication.bean.SwitchFamilyRequest
import com.example.defenseapplication.bean.UpdatePassword
import com.example.defenseapplication.bean.UpdateUserInfo
import com.example.defenseapplication.bean.UserInfoBean
import retrofit2.http.Body
@@ -143,6 +144,13 @@ interface ApiService {
@PUT("/app/updateUserInfo")
suspend fun updateUserInfo(@Body request: UpdateUserInfo): GetCodeBean<UpdateUserInfo>
/**
* 登录后旧密码修改密码
*/
@PUT("/app/forgotPassword")
suspend fun updatePassword(@Body request: UpdatePassword): GetCodeBean<UpdatePassword>
}

View File

@@ -6,7 +6,6 @@
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/message_bg"
android:padding="16dp"
tools:context=".personal.LoginPasswordActivity">
<!-- 标题栏 -->
@@ -39,6 +38,7 @@
<!-- 旧密码输入框 -->
<EditText
android:layout_margin="16dp"
android:id="@+id/etOldPassword"
android:layout_width="0dp"
android:layout_height="wrap_content"
@@ -57,6 +57,7 @@
<!-- 新密码输入框 -->
<EditText
android:layout_margin="16dp"
android:id="@+id/etNewPassword"
android:layout_width="0dp"
android:layout_height="wrap_content"
@@ -75,6 +76,7 @@
<!-- 再次输入新密码输入框 -->
<EditText
android:layout_margin="16dp"
android:id="@+id/etConfirmPassword"
android:layout_width="0dp"
android:layout_height="wrap_content"
@@ -93,6 +95,7 @@
<!-- 确定重设密码按钮 -->
<android.widget.Button
android:layout_margin="16dp"
android:id="@+id/btnConfirm"
android:layout_width="0dp"
android:layout_height="40dp"

View File

@@ -130,6 +130,7 @@
<string name="current_password">当前密码</string>
<string name="old_password">原密码</string>
<string name="verification_code">验证码</string>
<string name="password_not_match">两次密码不一致</string>
<!-- Face Management -->
<string name="face_management">人脸管理</string>
@@ -436,4 +437,15 @@
<string name="modify_success">修改成功</string>
<string name="modify_failed">修改失败</string>
<string name="network_request_failed">网络请求失败</string>
<string name="code_sent_success">验证码发送成功</string>
<string name="code_send_failed">验证码发送失败</string>
<!-- 登录密码重置 -->
<string name="processing">处理中...</string>
<string name="old_password_error">原密码错误</string>
<string name="password_reset_success">密码重置成功</string>
<string name="password_reset_failed">密码重置失败</string>
<string name="user_not_login">用户未登录</string>
<string name="phone_number_empty">手机号为空</string>
</resources>

View File

@@ -122,6 +122,7 @@
<string name="current_password">Current Password</string>
<string name="old_password">Old Password</string>
<string name="verification_code">Verification Code</string>
<string name="password_not_match">Passwords do not match</string>
<!-- Face Management -->
<string name="face_management">Face Management</string>
@@ -443,4 +444,12 @@
<string name="network_request_failed">Network request failed</string>
<string name="code_sent_success">Verification code sent successfully</string>
<string name="code_send_failed">Failed to send verification code</string>
<!-- Login Password Reset -->
<string name="processing">Processing...</string>
<string name="old_password_error">Old password is incorrect</string>
<string name="password_reset_success">Password reset successful</string>
<string name="password_reset_failed">Password reset failed</string>
<string name="user_not_login">User not logged in</string>
<string name="phone_number_empty">Phone number not found</string>
</resources>