修改登录密码

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>
}