退出登录
This commit is contained in:
@@ -13,6 +13,7 @@ import com.example.defenseapplication.R
|
||||
import com.example.defenseapplication.bean.UserInfoBean
|
||||
import com.example.defenseapplication.databinding.PersonalFragmentBinding
|
||||
import com.example.defenseapplication.liveVideo.LinkedUserActivity
|
||||
import com.example.defenseapplication.personal.FaceManagementActivity
|
||||
import com.example.defenseapplication.personal.PasswordManagementActivity
|
||||
import com.example.defenseapplication.personal.PersonalProfileActivity
|
||||
import com.example.defenseapplication.utils.LanguageUtil
|
||||
@@ -87,6 +88,35 @@ class PersonalFragment : Fragment() {
|
||||
val intent= Intent(requireContext(), PasswordManagementActivity::class.java)
|
||||
startActivity(intent)
|
||||
}
|
||||
//人脸管理点击事件跳转人脸管理页面
|
||||
binding.itemFaceManage.setOnClickListener {
|
||||
val intent= Intent(requireContext(), FaceManagementActivity::class.java)
|
||||
startActivity(intent)
|
||||
}
|
||||
// 退出登录点击事件
|
||||
binding.btnLogout.setOnClickListener {
|
||||
CoroutineScope(Dispatchers.IO).launch {
|
||||
try {
|
||||
val response = RetrofitNetwork.getNetworkService().logout()
|
||||
withContext(Dispatchers.Main) {
|
||||
if (response.code == 200) {
|
||||
UserinfoUtil.clearUserInfo()
|
||||
val intent = Intent(requireContext(), com.example.defenseapplication.login.LoginActivity::class.java)
|
||||
intent.flags = Intent.FLAG_ACTIVITY_NEW_TASK or Intent.FLAG_ACTIVITY_CLEAR_TASK
|
||||
startActivity(intent)
|
||||
requireActivity().finish()
|
||||
} else {
|
||||
Toast.makeText(requireContext(), getString(R.string.logout_fail), Toast.LENGTH_SHORT).show()
|
||||
}
|
||||
}
|
||||
} catch (e: Exception) {
|
||||
e.printStackTrace()
|
||||
withContext(Dispatchers.Main) {
|
||||
Toast.makeText(requireContext(), getString(R.string.logout_fail), Toast.LENGTH_SHORT).show()
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
fetchCurrentFamily()
|
||||
return binding.root
|
||||
}
|
||||
|
||||
@@ -7,8 +7,14 @@ import android.widget.Toast
|
||||
import androidx.appcompat.app.AppCompatActivity
|
||||
import com.blankj.utilcode.util.SPUtils
|
||||
import com.example.defenseapplication.R
|
||||
import com.example.defenseapplication.bean.UpdateUserInfo
|
||||
import com.example.defenseapplication.databinding.OperationPasswordActivityBinding
|
||||
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 OperationPasswordActivity : AppCompatActivity() {
|
||||
@@ -41,10 +47,28 @@ class OperationPasswordActivity : AppCompatActivity() {
|
||||
Toast.makeText(this, getString(R.string.operation_password_enabled), Toast.LENGTH_SHORT).show()
|
||||
}
|
||||
false -> {
|
||||
binding.etPassword.isEnabled = false
|
||||
binding.etConfirmPassword.isEnabled = false
|
||||
SPUtils.getInstance().remove("operation_password")
|
||||
Toast.makeText(this, getString(R.string.operation_password_disabled), Toast.LENGTH_SHORT).show()
|
||||
CoroutineScope(Dispatchers.IO).launch {
|
||||
try {
|
||||
val response = RetrofitNetwork.getNetworkService().updateUserInfo(UpdateUserInfo(optionPassword = ""))
|
||||
withContext(Dispatchers.Main) {
|
||||
if (response.code == 200) {
|
||||
binding.etPassword.isEnabled = false
|
||||
binding.etConfirmPassword.isEnabled = false
|
||||
SPUtils.getInstance().remove("operation_password")
|
||||
Toast.makeText(this@OperationPasswordActivity, getString(R.string.operation_password_disabled), Toast.LENGTH_SHORT).show()
|
||||
finish()
|
||||
} else {
|
||||
binding.swOperationPassword.isChecked = true
|
||||
Toast.makeText(this@OperationPasswordActivity, response.msg ?: "操作失败", Toast.LENGTH_SHORT).show()
|
||||
}
|
||||
}
|
||||
} catch (e: Exception) {
|
||||
withContext(Dispatchers.Main) {
|
||||
binding.swOperationPassword.isChecked = true
|
||||
Toast.makeText(this@OperationPasswordActivity, getString(R.string.network_error), Toast.LENGTH_SHORT).show()
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -55,7 +79,6 @@ class OperationPasswordActivity : AppCompatActivity() {
|
||||
override fun onTextChanged(s: CharSequence?, start: Int, before: Int, count: Int) {}
|
||||
|
||||
override fun afterTextChanged(s: Editable?) {
|
||||
autoValidatePassword()
|
||||
}
|
||||
})
|
||||
|
||||
@@ -65,21 +88,54 @@ class OperationPasswordActivity : AppCompatActivity() {
|
||||
override fun onTextChanged(s: CharSequence?, start: Int, before: Int, count: Int) {}
|
||||
|
||||
override fun afterTextChanged(s: Editable?) {
|
||||
autoValidatePassword()
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
private fun autoValidatePassword() {
|
||||
val password = binding.etPassword.text.toString()
|
||||
val confirmPassword = binding.etConfirmPassword.text.toString()
|
||||
binding.btnConfirmReset.setOnClickListener {
|
||||
val password = binding.etPassword.text.toString()
|
||||
val confirmPassword = binding.etConfirmPassword.text.toString()
|
||||
|
||||
if (password.length == 6 && confirmPassword.length == 6) {
|
||||
if (password == confirmPassword) {
|
||||
SPUtils.getInstance().put("operation_password", password)
|
||||
Toast.makeText(this, getString(R.string.operation_success), Toast.LENGTH_SHORT).show()
|
||||
} else {
|
||||
if (password.isEmpty()) {
|
||||
Toast.makeText(this, getString(R.string.password_cannot_empty), Toast.LENGTH_SHORT).show()
|
||||
return@setOnClickListener
|
||||
}
|
||||
|
||||
if (password.length != 6) {
|
||||
Toast.makeText(this, getString(R.string.password_must_be_6_digits), Toast.LENGTH_SHORT).show()
|
||||
return@setOnClickListener
|
||||
}
|
||||
|
||||
if (confirmPassword.isEmpty()) {
|
||||
Toast.makeText(this, getString(R.string.please_confirm_password), Toast.LENGTH_SHORT).show()
|
||||
return@setOnClickListener
|
||||
}
|
||||
|
||||
if (password != confirmPassword) {
|
||||
Toast.makeText(this, getString(R.string.password_mismatch), Toast.LENGTH_SHORT).show()
|
||||
return@setOnClickListener
|
||||
}
|
||||
|
||||
binding.btnConfirmReset.isEnabled = false
|
||||
|
||||
CoroutineScope(Dispatchers.IO).launch {
|
||||
try {
|
||||
val response = RetrofitNetwork.getNetworkService().updateUserInfo(UpdateUserInfo(optionPassword = password))
|
||||
withContext(Dispatchers.Main) {
|
||||
binding.btnConfirmReset.isEnabled = true
|
||||
if (response.code == 200) {
|
||||
SPUtils.getInstance().put("operation_password", password)
|
||||
Toast.makeText(this@OperationPasswordActivity, getString(R.string.operation_success), Toast.LENGTH_SHORT).show()
|
||||
finish()
|
||||
} else {
|
||||
Toast.makeText(this@OperationPasswordActivity, response.msg ?: "操作失败", Toast.LENGTH_SHORT).show()
|
||||
}
|
||||
}
|
||||
} catch (e: Exception) {
|
||||
withContext(Dispatchers.Main) {
|
||||
binding.btnConfirmReset.isEnabled = true
|
||||
Toast.makeText(this@OperationPasswordActivity, getString(R.string.network_error), Toast.LENGTH_SHORT).show()
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -164,6 +164,12 @@ interface ApiService {
|
||||
suspend fun verifyOptionPassword(@Body request: VerifyOptionPasswordRequest): GetCodeBean<Any>
|
||||
|
||||
|
||||
/**
|
||||
* 退出登录
|
||||
*/
|
||||
@POST("/app/logout")
|
||||
suspend fun logout(): GetCodeBean<Any>
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -25,4 +25,9 @@ object UserinfoUtil {
|
||||
return gson.fromJson(string, LoginBean::class.java)
|
||||
}
|
||||
|
||||
fun clearUserInfo() {
|
||||
SPUtils.getInstance().remove(KEY_USER)
|
||||
ApiConfig.updateAuthToken("")
|
||||
}
|
||||
|
||||
}
|
||||
@@ -104,7 +104,16 @@
|
||||
android:textColorHint="@color/gray"
|
||||
android:textSize="16sp" />
|
||||
|
||||
|
||||
<!-- 确定重设密码按钮 -->
|
||||
<android.widget.Button
|
||||
android:id="@+id/btnConfirmReset"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="40dp"
|
||||
android:layout_marginTop="32dp"
|
||||
android:background="@drawable/rounded_blue_bg"
|
||||
android:text="@string/confirm_reset_password_btn"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="16sp" />
|
||||
|
||||
</LinearLayout>
|
||||
</ScrollView>
|
||||
|
||||
@@ -195,6 +195,7 @@
|
||||
<string name="version">版本</string>
|
||||
<string name="logout">退出登录</string>
|
||||
<string name="logout_confirm">确定要退出登录吗?</string>
|
||||
<string name="logout_fail">退出登录失败</string>
|
||||
<string name="warning_voice_playback">警告语音播放</string>
|
||||
<string name="warning_voice_content">警告语音内容</string>
|
||||
<string name="enter_warning_voice_content_system_will_generate_voice_automatically">请输入警告语音内容,系统将自动生成语音</string>
|
||||
|
||||
@@ -186,6 +186,7 @@
|
||||
<string name="version">Version</string>
|
||||
<string name="logout">Logout</string>
|
||||
<string name="logout_confirm">Are you sure you want to logout?</string>
|
||||
<string name="logout_fail">Logout failed</string>
|
||||
<string name="warning_voice_playback">Warning Voice Playback</string>
|
||||
<string name="warning_voice_content">Warning Voice Content</string>
|
||||
<string name="enter_warning_voice_content_system_will_generate_voice_automatically">Enter warning voice content, system will generate voice automatically.</string>
|
||||
|
||||
Reference in New Issue
Block a user