瀏覽代碼

1.添加登录接口。

master
wangwanlei 11 月之前
父節點
當前提交
9b601470b1

+ 8
- 0
app/src/main/java/com/xhly/manageapp/bean/LoginBean.kt 查看文件

@@ -0,0 +1,8 @@
1
+package com.xhly.manageapp.bean
2
+
3
+//用于登录
4
+class LoginBean {
5
+    var loginname = ""
6
+    var loginpwd = ""
7
+    var sn = ""
8
+}

+ 6
- 0
app/src/main/java/com/xhly/manageapp/network/app/AppService.kt 查看文件

@@ -3,6 +3,7 @@ package com.xhly.manageapp.network.app
3 3
 import com.xhly.corelib.network.bean.ResponseData
4 4
 import com.xhly.manageapp.bean.AppModel
5 5
 import com.xhly.manageapp.bean.ListAppBean
6
+import com.xhly.manageapp.bean.UpdateBean
6 7
 import com.xhly.manageapp.network.UriAdress
7 8
 import retrofit2.http.Body
8 9
 import retrofit2.http.POST
@@ -14,4 +15,9 @@ interface AppService {
14 15
     @POST(UriAdress.LIST_APP)
15 16
     suspend fun postListApp(@Body listapp: ListAppBean): ResponseData<ArrayList<AppModel>>
16 17
 
18
+    /**
19
+     * 获得版本更新
20
+     */
21
+    @POST(UriAdress.CLIENT_ADD)
22
+    suspend fun postClientAdd(@Body updateBean: UpdateBean): ResponseData<Any>
17 23
 }

+ 32
- 2
app/src/main/java/com/xhly/manageapp/ui/login/activity/LoginActivity.kt 查看文件

@@ -9,7 +9,12 @@ import androidx.activity.addCallback
9 9
 import com.kongzue.dialogx.dialogs.CustomDialog
10 10
 import com.kongzue.dialogx.interfaces.OnBindView
11 11
 import com.xhly.corelib.Const
12
+import com.xhly.corelib.utils.GsonUtils
13
+import com.xhly.manageapp.ManageApplication
12 14
 import com.xhly.manageapp.R
15
+import com.xhly.manageapp.bean.LoginBean
16
+import com.xhly.manageapp.bean.user.UserBean
17
+import com.xhly.manageapp.contentprovider.ZSpProvider
13 18
 import com.xhly.manageapp.databinding.ActivityLoginBinding
14 19
 import com.xhly.manageapp.ui.login.viewmodel.LoginViewModel
15 20
 import com.xhly.manageapp.ui.main.activity.MainActivity
@@ -19,7 +24,15 @@ class LoginActivity : BaseActivity<LoginViewModel, ActivityLoginBinding>() {
19 24
     override fun getBinding() = ActivityLoginBinding.inflate(layoutInflater)
20 25
 
21 26
     override fun initData() {
22
-
27
+       viewModel.loginData.observe(this){
28
+           if (it.xhlyLoginSucess){
29
+               loginSucess()
30
+           }else{
31
+               it.xhlyLoginMessage?.let {
32
+                   Toast(it)
33
+               }
34
+           }
35
+       }
23 36
     }
24 37
 
25 38
     override fun initView() {
@@ -46,12 +59,29 @@ class LoginActivity : BaseActivity<LoginViewModel, ActivityLoginBinding>() {
46 59
             Toast(getString(R.string.codenoempty))
47 60
             return
48 61
         }
49
-        viewModel.getTest()
62
+        val loginBean=LoginBean()
63
+        loginBean.loginname=account
64
+        loginBean.loginpwd=code
65
+        ManageApplication.getDeviceInfo()?.let {
66
+            loginBean.sn=it
67
+        }
68
+        viewModel.login(loginBean)
69
+    }
70
+
71
+    private fun loginSucess(){
50 72
         spUtils.setParam("user", "user")
73
+        val userBean=UserBean()
74
+        userBean.schoolid=1
75
+        userBean.userid=1
76
+        userBean.regionid=1
77
+        spUtils.saveJson(Const.USERINFO,userBean)
78
+        val parseClassToJson = GsonUtils.parseClassToJson(userBean)
79
+        ZSpProvider.save(this,"user",parseClassToJson)
51 80
         startIntentActivity(MainActivity().javaClass)
52 81
         finish()
53 82
     }
54 83
 
84
+
55 85
     private fun showEditDialog() {
56 86
         CustomDialog
57 87
             .build()

+ 9
- 1
app/src/main/java/com/xhly/manageapp/ui/login/netservice/LoginService.kt 查看文件

@@ -1,9 +1,17 @@
1 1
 package com.xhly.manageapp.ui.login.netservice
2 2
 
3 3
 import com.xhly.corelib.network.bean.ResponseData
4
+import com.xhly.manageapp.bean.LoginBean
5
+import com.xhly.manageapp.bean.user.UserBean
6
+import com.xhly.manageapp.network.UriAdress
7
+import retrofit2.http.Body
4 8
 import retrofit2.http.GET
9
+import retrofit2.http.POST
5 10
 
6 11
 interface LoginService {
7 12
     @GET("/status/info")
8
-    suspend fun getTest():ResponseData<String>
13
+    suspend fun getTest(): ResponseData<String>
14
+
15
+    @POST(UriAdress.ULOGIN_LOGIN)
16
+    suspend fun postLogin(@Body loginBean: LoginBean): ResponseData<UserBean>
9 17
 }

+ 24
- 1
app/src/main/java/com/xhly/manageapp/ui/login/viewmodel/LoginViewModel.kt 查看文件

@@ -1,17 +1,40 @@
1 1
 package com.xhly.manageapp.ui.login.viewmodel
2 2
 
3
+import androidx.lifecycle.LiveData
4
+import androidx.lifecycle.MutableLiveData
3 5
 import com.xhly.corelib.base.viewmodel.CommonBaseViewModel
4 6
 import com.xhly.corelib.network.RetrofitService
5 7
 import com.xhly.corelib.utils.LogShow
8
+import com.xhly.manageapp.bean.LoginBean
9
+import com.xhly.manageapp.bean.user.UserBean
6 10
 import com.xhly.manageapp.ui.login.netservice.LoginService
7 11
 
8 12
 class LoginViewModel: CommonBaseViewModel() {
9 13
     private var service=RetrofitService.create<LoginService>()
10
-
14
+    private val loginResult=MutableLiveData<UserBean>()
15
+    val loginData:LiveData<UserBean> =loginResult
11 16
     fun getTest(){
12 17
         launchUI {
13 18
             val test = service.getTest()
14 19
             LogShow(test.toString()+"|||"+test.msg)
15 20
         }
16 21
     }
22
+
23
+    fun login(loginBean: LoginBean){
24
+        launchUI {
25
+            val postLogin = service.postLogin(loginBean)
26
+            if (postLogin.code==0){
27
+                if (postLogin.obj!=null){
28
+                    loginResult.value=postLogin.obj
29
+                }
30
+            }else{
31
+                val userBean=UserBean()
32
+                userBean.xhlyLoginSucess=false
33
+                if (postLogin.msg!=null){
34
+                    userBean.xhlyLoginMessage=postLogin.msg
35
+                }
36
+                loginResult.value=userBean
37
+            }
38
+        }
39
+    }
17 40
 }

+ 3
- 0
corelib/src/main/java/com/xhly/corelib/Const.kt 查看文件

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

Loading…
取消
儲存