Ver código fonte

1.添加退出登录功能

王鹏鹏 2 anos atrás
pai
commit
2b5ca07084

+ 6 - 1
.idea/misc.xml

@@ -556,8 +556,13 @@
         <entry key="..\:/workspace/hcp-pads/livebroadcast/src/main/res/layout/dialog_game_tasks.xml" value="0.536" />
         <entry key="..\:/workspace/hcp-pads/livebroadcast/src/main/res/layout/item_live_broadcast.xml" value="0.6" />
         <entry key="..\:/workspace/hcp-pads/login/src/main/res/layout/activity_login.xml" value="0.23697916666666666" />
+        <entry key="..\:/workspace/hcp-pads/personalcenter/src/main/res/drawable/bg_common_head_layout.xml" value="0.151" />
+        <entry key="..\:/workspace/hcp-pads/personalcenter/src/main/res/drawable/bg_comprehensive_evaluation.xml" value="0.151" />
+        <entry key="..\:/workspace/hcp-pads/personalcenter/src/main/res/drawable/bg_diagnosis.xml" value="0.151" />
+        <entry key="..\:/workspace/hcp-pads/personalcenter/src/main/res/drawable/bg_login_out.xml" value="0.151" />
+        <entry key="..\:/workspace/hcp-pads/personalcenter/src/main/res/drawable/bg_personal_center.xml" value="0.151" />
         <entry key="..\:/workspace/hcp-pads/personalcenter/src/main/res/drawable/bg_setting_center.xml" value="0.1715" />
-        <entry key="..\:/workspace/hcp-pads/personalcenter/src/main/res/layout/activity_personal_center.xml" value="0.23697916666666666" />
+        <entry key="..\:/workspace/hcp-pads/personalcenter/src/main/res/layout/activity_personal_center.xml" value="0.536" />
         <entry key="..\:/workspace/hcp-pads/personalcenter/src/main/res/layout/activity_setting.xml" value="0.23697916666666666" />
         <entry key="..\:/workspace/hcp-pads/personalcenter/src/main/res/layout/activity_version_record.xml" value="0.23697916666666666" />
         <entry key="..\:/workspace/hcp-pads/personalcenter/src/main/res/layout/layout_setting_item.xml" value="0.23697916666666666" />

+ 5 - 0
baselib/src/main/java/com/yingyangfly/baselib/utils/RxBusCodes.kt

@@ -118,4 +118,9 @@ object RxBusCodes {
      * 添加消息监听
      */
     const val ADDIMMSGLISTENER = "addIMMsgListener"
+
+    /**
+     * 退出登录
+     */
+    const val LOGINOUT = "LoginOut"
 }

+ 0 - 4
baselib/src/main/java/com/yingyangfly/baselib/utils/User.kt

@@ -57,10 +57,6 @@ object User {
         }
     }
 
-    fun logout() {
-        saveToken("")
-    }
-
     /**
      * 保存患者性别
      */

+ 7 - 0
home/src/main/java/com/yingyangfly/home/activity/HomeActivity.kt

@@ -641,6 +641,13 @@ class HomeActivity : BaseMVVMActivity<ActivityHomeBinding, HomeViewModel>(),
         LiveEventBusUtil.observer<String>(this, RxBusCodes.ADDIMMSGLISTENER) {
             addSimpleMsgListener()
         }
+
+        //退出登录
+        LiveEventBusUtil.observer<String>(this, RxBusCodes.LOGINOUT) {
+            runOnUiThread {
+                finish()
+            }
+        }
     }
 
     /**

+ 1 - 0
login/src/main/AndroidManifest.xml

@@ -8,6 +8,7 @@
         <activity
             android:name="com.yingyang.login.ui.login.LoginActivity"
             android:configChanges="keyboardHidden|orientation|screenSize"
+            android:launchMode="singleTask"
             android:screenOrientation="landscape"
             android:windowSoftInputMode="adjustPan" />
 

+ 1 - 0
login/src/main/manifest/AndroidManifest.xml

@@ -8,6 +8,7 @@
         <activity
             android:name="com.yingyang.login.ui.login.LoginActivity"
             android:configChanges="keyboardHidden|orientation|screenSize"
+            android:launchMode="singleTask"
             android:screenOrientation="landscape"
             android:windowSoftInputMode="adjustPan" />
 

+ 1 - 0
personalcenter/build.gradle

@@ -14,6 +14,7 @@ android {
 }
 
 dependencies {
+    api project(path: ':tuichat')
     implementation project(path: ':baselib')
     implementation(rootProject.ext.androidx.kotlin_lib)
     implementation(rootProject.ext.androidx.kotlin_core)

+ 6 - 0
personalcenter/src/main/java/com/yingyang/personalcenter/net/PersonalCenterApiService.kt

@@ -18,4 +18,10 @@ interface PersonalCenterApiService {
      */
     @POST("app/selectAllVersion")
     suspend fun getSelectAllVersion(): BaseResp<List<VersionBean>>
+
+    /**
+     * 退出登录
+     */
+    @POST("app/logoutn")
+    suspend fun logoutn(): BaseResp<String>
 }

+ 38 - 2
personalcenter/src/main/java/com/yingyang/personalcenter/personalcenter/PersonalCenterActivity.kt

@@ -6,6 +6,8 @@ import android.view.View
 import com.alibaba.android.arouter.facade.annotation.Route
 import com.google.android.flexbox.FlexDirection
 import com.google.android.flexbox.FlexboxLayoutManager
+import com.tencent.imsdk.v2.V2TIMCallback
+import com.tencent.imsdk.v2.V2TIMManager
 import com.yingyang.personalcenter.R
 import com.yingyang.personalcenter.adapter.DiagnosisAdapter
 import com.yingyang.personalcenter.databinding.ActivityPersonalCenterBinding
@@ -15,6 +17,8 @@ import com.yingyangfly.baselib.ext.toast
 import com.yingyangfly.baselib.mvvm.BaseMVVMActivity
 import com.yingyangfly.baselib.router.RouterUrlCommon
 import com.yingyangfly.baselib.utils.JumpUtil
+import com.yingyangfly.baselib.utils.LiveEventBusUtil
+import com.yingyangfly.baselib.utils.RxBusCodes
 import com.yingyangfly.baselib.utils.User
 
 /**
@@ -53,6 +57,8 @@ class PersonalCenterActivity :
             tvEquipmentServices.setOnTouchListener(this@PersonalCenterActivity)
             //设置
             settingLayout.setOnTouchListener(this@PersonalCenterActivity)
+            //退出登录
+            btnLoginOut.setOnTouchListener(this@PersonalCenterActivity)
         }
     }
 
@@ -89,7 +95,7 @@ class PersonalCenterActivity :
         when (event.action) {
             MotionEvent.ACTION_DOWN -> {
                 if (v.id == R.id.layoutHome || v.id == R.id.tvServiceAgreement || v.id == R.id.tvPrivacyPolicy ||
-                    v.id == R.id.tvEquipmentServices || v.id == R.id.settingLayout
+                    v.id == R.id.tvEquipmentServices || v.id == R.id.settingLayout || v.id == R.id.btnLoginOut
                 ) {
                     v.startAnimation(getScaleAnimation())
                 }
@@ -119,11 +125,14 @@ class PersonalCenterActivity :
                         //设置
                         JumpUtil.jumpActivity(RouterUrlCommon.setting, mContext)
                     }
+                    R.id.btnLoginOut -> {
+                        loginOut()
+                    }
                 }
             }
             MotionEvent.ACTION_CANCEL -> {
                 if (v.id == R.id.layoutHome || v.id == R.id.tvServiceAgreement || v.id == R.id.tvPrivacyPolicy ||
-                    v.id == R.id.tvEquipmentServices || v.id == R.id.settingLayout
+                    v.id == R.id.tvEquipmentServices || v.id == R.id.settingLayout || v.id == R.id.btnLoginOut
                 ) {
                     v.startAnimation(getEndAnimation())
                 }
@@ -131,4 +140,31 @@ class PersonalCenterActivity :
         }
         return true
     }
+
+    /**
+     * 退出登录
+     */
+    private fun loginOut() {
+        viewModel.logoutn(fail = {
+            it.toast()
+        }, success = {
+            User.saveUserId("")
+            User.saveName("")
+            User.saveAvatar("")
+            User.saveUserAge("")
+            User.saveUserSex("")
+            User.saveToken("")
+            User.saveTXUserSign("")
+            V2TIMManager.getInstance().logout(object : V2TIMCallback {
+                override fun onSuccess() {
+                }
+
+                override fun onError(p0: Int, p1: String?) {
+                }
+            })
+            LiveEventBusUtil.send(RxBusCodes.LOGINOUT, "")
+            JumpUtil.jumpActivity(RouterUrlCommon.login, mContext)
+            finish()
+        })
+    }
 }

+ 10 - 0
personalcenter/src/main/java/com/yingyang/personalcenter/personalcenter/PersonalCenterViewModel.kt

@@ -18,4 +18,14 @@ class PersonalCenterViewModel : BaseViewModel() {
         success,
         fail
     )
+
+    fun logoutn(
+        fail: ((msg: String) -> Unit)? = null,
+        success: ((success: String?) -> Unit)? = null,
+    ) = launchFlow(true) {
+        PERSONALCENTER_API.logoutn()
+    }.runUI(
+        success,
+        fail
+    )
 }

+ 1 - 1
personalcenter/src/main/res/drawable/bg_common_head_layout.xml

@@ -5,7 +5,7 @@
     tools:ignore="ResourceName">
     <stroke
         android:width="@dimen/divider_1px"
-        android:color="#80BFDAFF" />
+        android:color="@color/color_80BFDAFF" />
     <corners android:radius="@dimen/divider_39px" />
     <solid android:color="@android:color/white" />
 </shape>

+ 2 - 2
personalcenter/src/main/res/drawable/bg_diagnosis.xml

@@ -5,7 +5,7 @@
     tools:ignore="ResourceName">
     <stroke
         android:width="@dimen/divider_1px"
-        android:color="#69B2C5FF" />
+        android:color="@color/color_69B2C5FF" />
     <corners android:radius="@dimen/divider_12px" />
-    <solid android:color="#69B2C5FF" />
+    <solid android:color="@color/color_69B2C5FF" />
 </shape>

+ 11 - 0
personalcenter/src/main/res/drawable/bg_login_out.xml

@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="utf-8"?>
+<shape xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:shape="rectangle"
+    tools:ignore="ResourceName">
+    <stroke
+        android:width="@dimen/divider_1px"
+        android:color="@color/color_FFD3D3D3" />
+    <corners android:radius="@dimen/divider_13px" />
+    <solid android:color="@android:color/white" />
+</shape>

+ 1 - 1
personalcenter/src/main/res/drawable/bg_personal_center.xml

@@ -5,7 +5,7 @@
     tools:ignore="ResourceName">
     <stroke
         android:width="@dimen/divider_12px"
-        android:color="#DBEEF9FF" />
+        android:color="@color/color_DBEEF9FF" />
     <corners android:radius="@dimen/divider_26px" />
     <solid android:color="@android:color/white" />
 

+ 12 - 0
personalcenter/src/main/res/layout/activity_personal_center.xml

@@ -198,6 +198,18 @@
                 tools:listitem="@layout/item_diagnosis" />
         </androidx.constraintlayout.widget.ConstraintLayout>
 
+        <androidx.appcompat.widget.AppCompatButton
+            android:id="@+id/btnLoginOut"
+            android:layout_width="@dimen/divider_498px"
+            android:layout_height="@dimen/divider_59px"
+            android:layout_gravity="center_horizontal"
+            android:layout_marginTop="@dimen/divider_31px"
+            android:background="@drawable/bg_login_out"
+            android:gravity="center"
+            android:text="@string/login_out"
+            android:textColor="@color/color_FF4A76FF"
+            android:textSize="@dimen/divider_24px" />
+
         <androidx.constraintlayout.widget.ConstraintLayout
             android:layout_width="match_parent"
             android:layout_height="@dimen/divider_120px">

+ 4 - 0
personalcenter/src/main/res/values/colors.xml

@@ -8,4 +8,8 @@
     <color name="color_FFF0F0F0" tools:ignore="ResourceName">#FFF0F0F0</color>
     <color name="color_FFB4B4B4" tools:ignore="ResourceName">#FFB4B4B4</color>
     <color name="color_ecf3ff" tools:ignore="ResourceName">#ecf3ff</color>
+    <color name="color_FFD3D3D3" tools:ignore="ResourceName">#FFD3D3D3</color>
+    <color name="color_80BFDAFF" tools:ignore="ResourceName">#80BFDAFF</color>
+    <color name="color_69B2C5FF" tools:ignore="ResourceName">#69B2C5FF</color>
+    <color name="color_DBEEF9FF" tools:ignore="ResourceName">#DBEEF9FF</color>
 </resources>

+ 1 - 0
personalcenter/src/main/res/values/dimens.xml

@@ -2,6 +2,7 @@
 <resources xmlns:tools="http://schemas.android.com/tools">
 
     <dimen name="divider_522px" tools:ignore="ResourceName">522px</dimen>
+    <dimen name="divider_498px" tools:ignore="ResourceName">498px</dimen>
     <dimen name="divider_340px" tools:ignore="ResourceName">340px</dimen>
     <dimen name="divider_270px" tools:ignore="ResourceName">270px</dimen>
     <dimen name="divider_237px" tools:ignore="ResourceName">237px</dimen>

+ 1 - 0
personalcenter/src/main/res/values/strings.xml

@@ -16,4 +16,5 @@
     <string name="help" tools:ignore="ResourceName">使用帮助</string>
     <string name="version_record" tools:ignore="ResourceName">历史版本</string>
     <string name="current_version" tools:ignore="ResourceName">当前版本</string>
+    <string name="login_out" tools:ignore="ResourceName">退出登录</string>
 </resources>