Просмотр исходного кода

1.添加退出登录接口。

master
wangwanlei 11 месяцев назад
Родитель
Сommit
fa4d92f035

+ 1
- 0
app/src/main/java/com/xhly/manageapp/ui/login/activity/LoginActivity.kt Просмотреть файл

@@ -67,6 +67,7 @@ class LoginActivity : BaseActivity<LoginViewModel, ActivityLoginBinding>() {
67 67
         loginBean.loginpwd=code
68 68
         loginBean.device= Build.BRAND
69 69
         loginBean.deviceModel=Build.MODEL
70
+        loginBean.regionCode=regioncode
70 71
         loginBean.clientVersion=SystemUtil.getAppVersionName(this,packageName)
71 72
         ManageApplication.getDeviceInfo()?.let {
72 73
             loginBean.sn=it

+ 7
- 0
app/src/main/java/com/xhly/manageapp/ui/login/netservice/LoginService.kt Просмотреть файл

@@ -14,4 +14,11 @@ interface LoginService {
14 14
 
15 15
     @POST(UriAdress.ULOGIN_LOGIN)
16 16
     suspend fun postLogin(@Body loginBean: LoginBean): ResponseData<UserBean>
17
+
18
+    /**
19
+     * 退出登录接口参数 userid	number 用户id
20
+     * loginpwd	string 密码
21
+     */
22
+    @POST(UriAdress.ULOGIN_LOGIN_OUT)
23
+    suspend fun postLoginOut(@Body map:HashMap<String,Any>): ResponseData<Any>
17 24
 }

+ 27
- 9
app/src/main/java/com/xhly/manageapp/ui/main/activity/MainActivity.kt Просмотреть файл

@@ -16,7 +16,6 @@ import android.widget.EditText
16 16
 import android.widget.TextView
17 17
 import android.widget.Toast
18 18
 import androidx.activity.addCallback
19
-import androidx.multidex.BuildConfig
20 19
 import androidx.recyclerview.widget.GridLayoutManager
21 20
 import androidx.work.PeriodicWorkRequest
22 21
 import androidx.work.WorkManager
@@ -104,6 +103,14 @@ class MainActivity : BaseActivity<MainViewModel, ActivityMainBinding>() {
104 103
                 spUtils.setParam(Const.PADINFOTIMEKEY, System.currentTimeMillis())
105 104
             }
106 105
         }
106
+        viewModel.loginOutData.observe(this) {
107
+            if (it) {
108
+                loginOut()
109
+            }
110
+        }
111
+        viewModel.updateInfoData.observe(this){
112
+            //TODO 需要编写更新代码
113
+        }
107 114
         startWorkManager()
108 115
     }
109 116
 
@@ -151,7 +158,7 @@ class MainActivity : BaseActivity<MainViewModel, ActivityMainBinding>() {
151 158
         //每天请求一次app更新接口
152 159
         try {
153 160
             var userBean = spUtils.getFromJson(Const.USERINFO, UserBean().javaClass) as UserBean
154
-            //获得pad信息提交时间,如果为同一天则不在上传,不然继续上传
161
+            //存储pad更新请求时间,如果为同一天则不在上传,不然继续上传
155 162
             val padTime = spUtils.getParam(Const.PADUPDATETIMEKEY, 0L) as Long
156 163
             val instance = Calendar.getInstance()
157 164
             val currentYear = instance.get(Calendar.YEAR)
@@ -167,9 +174,9 @@ class MainActivity : BaseActivity<MainViewModel, ActivityMainBinding>() {
167 174
                 val packageInfo =
168 175
                     packageManager.getPackageInfo(packageName, PackageManager.GET_META_DATA)
169 176
                 updateBean.cversion = packageInfo.versionName
170
-                updateBean.schoolid=userBean.schoolid
171
-                updateBean.userid=userBean.userid
172
-                updateBean.regionid=userBean.regionid
177
+                updateBean.schoolid = userBean.schoolid
178
+                updateBean.userid = userBean.userid
179
+                updateBean.regionid = userBean.regionid
173 180
                 viewModel.updateMcApp(updateBean)
174 181
             }
175 182
         } catch (e: Exception) {
@@ -433,8 +440,19 @@ class MainActivity : BaseActivity<MainViewModel, ActivityMainBinding>() {
433 440
                     editText.hint = getString(R.string.inputcode)
434 441
                     titleTv.text = getString(R.string.exit)
435 442
                     enterTv.setOnClickListener {
436
-                        dialog.dismiss()
437
-                        loginOut()
443
+                        val code = editText.text
444
+                        if (!code.isNullOrBlank()) {
445
+                            dialog.dismiss()
446
+                            try {
447
+                                val userBean = spUtils.getFromJson(
448
+                                    Const.USERINFO,
449
+                                    UserBean().javaClass
450
+                                ) as UserBean
451
+                                viewModel.loginOut(userBean.userid.toString(), code.toString())
452
+                            } catch (e: Exception) {
453
+
454
+                            }
455
+                        }
438 456
                     }
439 457
                     cancelTv.setOnClickListener {
440 458
                         dialog.dismiss()
@@ -495,8 +513,8 @@ class MainActivity : BaseActivity<MainViewModel, ActivityMainBinding>() {
495 513
     private fun startWorkManager() {
496 514
         WorkManager.getInstance(this).cancelAllWork()
497 515
         // 周期性任务时间最少15分钟 所以除以实际周期的时间  看需要加入几个任务
498
-        /*val taskList = arrayListOf(5, 10)*/
499
-        for (taskNo in 1..10) {
516
+        val taskList = arrayListOf(5, 10)
517
+        for (taskNo in taskList) {
500 518
             val request = PeriodicWorkRequest
501 519
                 // 最少15分钟 PeriodicWorkRequest
502 520
                 .Builder(TimingWorker::class.java, 15, TimeUnit.MINUTES)

+ 21
- 0
app/src/main/java/com/xhly/manageapp/ui/main/viewmodel/MainViewModel.kt Просмотреть файл

@@ -14,9 +14,11 @@ import com.xhly.manageapp.bean.strategy.StrategyBean
14 14
 import com.xhly.manageapp.network.app.AppService
15 15
 import com.xhly.manageapp.network.log.LogService
16 16
 import com.xhly.manageapp.network.strategy.StrategyService
17
+import com.xhly.manageapp.ui.login.netservice.LoginService
17 18
 
18 19
 class MainViewModel : CommonBaseViewModel() {
19 20
     private val appService by lazy { RetrofitService.create<AppService>() }
21
+    private val loginService by lazy { RetrofitService.create<LoginService>() }
20 22
     private val strategyService by lazy { RetrofitService.create<StrategyService>() }
21 23
     private var logService = RetrofitService.create<LogService>()
22 24
     private val listData = MutableLiveData<ArrayList<AppModel>>()
@@ -29,6 +31,9 @@ class MainViewModel : CommonBaseViewModel() {
29 31
     val padInfoData: LiveData<Boolean> = padInfo
30 32
     private val updateInfo = MutableLiveData<Boolean>()
31 33
     val updateInfoData: LiveData<Boolean> = updateInfo
34
+    private val loginOut = MutableLiveData<Boolean>()
35
+    val loginOutData: LiveData<Boolean> = loginOut
36
+
32 37
     fun getAppList() {
33 38
         launchUI {
34 39
             val postListApp = appService.postListApp(ListAppBean())
@@ -101,4 +106,20 @@ class MainViewModel : CommonBaseViewModel() {
101 106
             }
102 107
         }
103 108
     }
109
+
110
+    fun loginOut(userid: String, loginpwd: String) {
111
+        launchUI {
112
+            val map = HashMap<String, Any>()
113
+            map["userid"] = userid
114
+            map["loginpwd"] = loginpwd
115
+            val postLoginOut = loginService.postLoginOut(map)
116
+            if (postLoginOut.code == 0) {
117
+                loginOut.value=true
118
+            } else {
119
+                if (postLoginOut.msg != null) {
120
+                    netMessage.value = postLoginOut.msg
121
+                }
122
+            }
123
+        }
124
+    }
104 125
 }

+ 1
- 1
corelib/src/main/java/com/xhly/corelib/Const.kt Просмотреть файл

@@ -95,7 +95,7 @@ object Const {
95 95
     //存储pad信息提交时间,如果为同一天则不在上传,不然继续上传
96 96
     const val PADINFOTIMEKEY = "PADINFOTIMEKEY"
97 97
 
98
-    //存储pad更新请求时间,如果为同一天则不在上传,不然继续上传
98
+    //存储pad更新请求时间,如果为同一天则不在请求更新,不然继续请求更新
99 99
     const val PADUPDATETIMEKEY = "PADUPDATETIMEKEY"
100 100
 
101 101
     //存储用户信息

Загрузка…
Отмена
Сохранить