Przeglądaj źródła

1.修改登录页面布局和登录接口。

2.修改登录校验接口。
3.添加第三方App登录后关联信息接口。
4.添加登录信息切换广播接收器。
5.修改应用拉起的时机。
2025_1_7x505f
wangwanlei 1 miesiąc temu
rodzic
commit
4d934fd28a

+ 8
- 0
app/src/main/AndroidManifest.xml Wyświetl plik

@@ -130,6 +130,14 @@
130 130
                 <action android:name="com.xhly.manageapp.loginout" />
131 131
             </intent-filter>
132 132
         </receiver>
133
+        <receiver
134
+            android:name="com.xhly.manageapp.broadcastreceiver.XhlyLoginEditReceiver"
135
+            android:enabled="true"
136
+            android:exported="true">
137
+            <intent-filter>
138
+                <action android:name="com.xhly.manageapp.loginedit" />
139
+            </intent-filter>
140
+        </receiver>
133 141
         <receiver
134 142
             android:name="com.xhly.manageapp.broadcastreceiver.XhlyUpdeteStrategyReceiver"
135 143
             android:enabled="true"

+ 2
- 2
app/src/main/java/com/xhly/manageapp/bean/login/LoginBean.kt Wyświetl plik

@@ -2,8 +2,8 @@ package com.xhly.manageapp.bean.login
2 2
 
3 3
 //用于登录
4 4
 class LoginBean {
5
-    var loginname = ""
6
-    var loginpwd = ""
5
+    /*var loginname = ""
6
+    var loginpwd = ""*/
7 7
     var sn = ""
8 8
     //设备名
9 9
     var device: String? = null

+ 51
- 0
app/src/main/java/com/xhly/manageapp/bean/login/LoginStudentBean.kt Wyświetl plik

@@ -0,0 +1,51 @@
1
+package com.xhly.manageapp.bean.login
2
+
3
+/**
4
+ * userid	number
5
+ * 非必须
6
+ * 用户id
7
+ * mock: 1
8
+ *
9
+ * regionid	number
10
+ * 必须
11
+ * 区域id
12
+ * mock: 2
13
+ *
14
+ * classname	string
15
+ * 必须
16
+ * 班级名称
17
+ * mock: 班级1
18
+ *
19
+ * schoolname	string
20
+ * 必须
21
+ * 学校名称
22
+ * mock: 学校1
23
+ *
24
+ * username	string
25
+ * 必须
26
+ * 姓名
27
+ * mock: xxx
28
+ *
29
+ * userphone	string
30
+ * 必须
31
+ * studentno	string
32
+ * 必须
33
+ * cardid	string
34
+ * 必须
35
+ * usersex	number
36
+ * 必须
37
+ * 性别0保密1男2女
38
+ * mock: 1
39
+ */
40
+  //用于传递学生登录信息
41
+class LoginStudentBean {
42
+    var userid: Long = 0
43
+    var regionid: Long = 0
44
+    var classname: String? = null
45
+    var schoolname: String? = null
46
+    var username: String? = null
47
+    var userphone: String? = null
48
+    var studentno: String? = null
49
+    var cardid: String? = null
50
+    var usersex: Int = 0
51
+}

+ 39
- 0
app/src/main/java/com/xhly/manageapp/bean/user/McUserBean.kt Wyświetl plik

@@ -0,0 +1,39 @@
1
+package com.xhly.manageapp.bean.user
2
+
3
+//传递给管控的登录信息
4
+/**
5
+ * classname	string
6
+ * 必须
7
+ * 班级名称
8
+ * mock: 班级1
9
+ *
10
+ * schoolname	string
11
+ * 必须
12
+ * 学校名称
13
+ * mock: 学校1
14
+ *
15
+ * username	string
16
+ * 必须
17
+ * 姓名
18
+ * mock: xxx
19
+ *
20
+ * userphone	string
21
+ * 必须
22
+ * studentno	string
23
+ * 必须
24
+ * cardid	string
25
+ * 必须
26
+ * usersex	number
27
+ * 必须
28
+ * 性别0保密1男2女
29
+ * mock: 1
30
+ */
31
+class McUserBean {
32
+    var classname: String? = null
33
+    var schoolname: String? = null
34
+    var username: String? = null
35
+    var userphone: String? = null
36
+    var studentno: String? = null
37
+    var cardid: String? = null
38
+    var usersex: Int = 0
39
+}

+ 22
- 0
app/src/main/java/com/xhly/manageapp/broadcastreceiver/XhlyLoginEditReceiver.kt Wyświetl plik

@@ -0,0 +1,22 @@
1
+package com.xhly.manageapp.broadcastreceiver
2
+
3
+import android.content.BroadcastReceiver
4
+import android.content.Context
5
+import android.content.Intent
6
+import android.os.Bundle
7
+import android.util.Log
8
+import com.xhly.corelib.Const
9
+import com.xhly.corelib.eventbus.UIEvent
10
+
11
+class XhlyLoginEditReceiver : BroadcastReceiver() {
12
+    override fun onReceive(context: Context, intent: Intent) {
13
+        /*UIEvent(Const.ACCOUNTLOGINOUT).post()*/
14
+        //用来处理第三方登录信息
15
+        val stringExtra = intent.getStringExtra("loginEdit")
16
+        val bundle=Bundle()
17
+        if (stringExtra!=null){
18
+            bundle.putString("loginEdit",stringExtra)
19
+        }
20
+        UIEvent(Const.THIRDLOGINSUCCESS).setBundle(bundle).post()
21
+    }
22
+}

+ 2
- 1
app/src/main/java/com/xhly/manageapp/broadcastreceiver/XhlyLoginOutReceiver.kt Wyświetl plik

@@ -3,12 +3,13 @@ package com.xhly.manageapp.broadcastreceiver
3 3
 import android.content.BroadcastReceiver
4 4
 import android.content.Context
5 5
 import android.content.Intent
6
+import android.os.Bundle
6 7
 import android.util.Log
7 8
 import com.xhly.corelib.Const
8 9
 import com.xhly.corelib.eventbus.UIEvent
9 10
 
10 11
 class XhlyLoginOutReceiver : BroadcastReceiver() {
11 12
     override fun onReceive(context: Context, intent: Intent) {
12
-        UIEvent(Const.ACCOUNTLOGINOUT).post()
13
+        UIEvent(Const.LOGINOUTTOMAINACTIVITY).post()
13 14
     }
14 15
 }

+ 15
- 2
app/src/main/java/com/xhly/manageapp/network/UriAdress.kt Wyświetl plik

@@ -67,13 +67,26 @@ object UriAdress {
67 67
      */
68 68
     const val ULOGIN_LOGIN = "/ulogin/login"
69 69
 
70
+    /**
71
+     * 登录校验接口
72
+     */
73
+    const val ULOGIN_CHECK_LOGIN = "/ulogin/check_login"
70 74
 
75
+    /**
76
+     * sn登录接口
77
+     */
78
+    const val ULOGIN_LOGIN_SN = "/ulogin/login_sn"
71 79
 
80
+    /**
81
+     * SN登录校验接口
82
+     */
83
+    const val ULOGIN_CHECK_LOGIN_SN = "/ulogin/check_rsn"
72 84
 
73 85
     /**
74
-     * 登录校验接口
86
+     * 更新登录用户信息
75 87
      */
76
-    const val ULOGIN_CHECK_LOGIN = "/ulogin/check_login"
88
+    const val ULOGIN_EDIT = "/ulogin/edit"
89
+
77 90
 
78 91
     /**
79 92
      * 退出登录接口

+ 4
- 11
app/src/main/java/com/xhly/manageapp/ui/login/activity/LoginActivity.kt Wyświetl plik

@@ -232,27 +232,20 @@ class LoginActivity : BaseActivity<LoginViewModel, ActivityLoginBinding>() {
232 232
     }
233 233
 
234 234
     private fun login() {
235
-        val account = mBinding.accountEt.text.toString()
236
-        val code = mBinding.codeEt.text.toString()
235
+        val regioncodeStr = mBinding.accountEt.text.toString()
237 236
         LogShow("sn=="+ ManageApplication.getDeviceInfo())
238
-        if (account.isNullOrBlank()) {
239
-            Toast(getString(R.string.accountnoempty))
240
-            return
241
-        }
242
-        if (code.isNullOrBlank()) {
243
-            Toast(getString(R.string.codenoempty))
237
+        if (regioncodeStr.isNullOrBlank()) {
238
+            Toast("区域码不能为空")
244 239
             return
245 240
         }
246 241
         val loginBean= LoginBean()
247
-        loginBean.loginname=account
248
-        loginBean.loginpwd=code
242
+        loginBean.regionCode=regioncodeStr
249 243
         loginBean.device= Build.BRAND
250 244
         loginBean.deviceModel=Build.MODEL
251 245
         loginBean.romVersion=Build.DISPLAY
252 246
         ManageApplication.getDeviceInfo(1)?.let{mac->
253 247
             loginBean.deviceMac=mac
254 248
         }
255
-        loginBean.regionCode=regioncode
256 249
         loginBean.clientVersion=SystemUtil.getAppVersionName(this,packageName)
257 250
         ManageApplication.getDeviceInfo()?.let {
258 251
             loginBean.sn=it

+ 11
- 2
app/src/main/java/com/xhly/manageapp/ui/login/netservice/LoginService.kt Wyświetl plik

@@ -3,6 +3,7 @@ package com.xhly.manageapp.ui.login.netservice
3 3
 import com.xhly.corelib.network.bean.ResponseData
4 4
 import com.xhly.manageapp.bean.login.CheckLoginBean
5 5
 import com.xhly.manageapp.bean.login.LoginBean
6
+import com.xhly.manageapp.bean.login.LoginStudentBean
6 7
 import com.xhly.manageapp.bean.scheme.AutoAppBean
7 8
 import com.xhly.manageapp.bean.user.UserBean
8 9
 import com.xhly.manageapp.network.UriAdress
@@ -14,14 +15,21 @@ interface LoginService {
14 15
     @GET("/status/info")
15 16
     suspend fun getTest(): ResponseData<String>
16 17
 
17
-    @POST(UriAdress.ULOGIN_LOGIN)
18
+    @POST(UriAdress.ULOGIN_LOGIN_SN)
18 19
     suspend fun postLogin(@Body loginBean: LoginBean): ResponseData<UserBean>
19 20
     /*
20 21
      登录校验
21 22
      */
22
-    @POST(UriAdress.ULOGIN_CHECK_LOGIN)
23
+    @POST(UriAdress.ULOGIN_CHECK_LOGIN_SN)
23 24
     suspend fun postLoginCheck(@Body map:HashMap<String,Any>): ResponseData<CheckLoginBean>
24 25
 
26
+
27
+    /*
28
+     更新用户信息
29
+ */
30
+    @POST(UriAdress.ULOGIN_EDIT)
31
+    suspend fun postLoginEdit(@Body loginStudentBean: LoginStudentBean): ResponseData<UserBean>
32
+
25 33
     /**
26 34
      * 退出登录接口参数 userid	number 用户id
27 35
      * loginpwd	string 密码
@@ -29,6 +37,7 @@ interface LoginService {
29 37
     @POST(UriAdress.ULOGIN_LOGIN_OUT)
30 38
     suspend fun postLoginOut(@Body map:HashMap<String,Any>): ResponseData<Any>
31 39
 
40
+
32 41
     /**
33 42
      * 解除当前锁屏
34 43
      */

+ 104
- 10
app/src/main/java/com/xhly/manageapp/ui/main/activity/MainActivity.kt Wyświetl plik

@@ -19,7 +19,9 @@ import android.graphics.drawable.ColorDrawable
19 19
 import android.graphics.drawable.Drawable
20 20
 import android.net.ConnectivityManager
21 21
 import android.os.Build
22
+import android.os.Bundle
22 23
 import android.provider.Settings
24
+import android.util.Log
23 25
 import android.util.TypedValue
24 26
 import android.view.KeyEvent
25 27
 import android.view.MotionEvent
@@ -74,9 +76,11 @@ import com.xhly.manageapp.bean.app.AppModel
74 76
 import com.xhly.manageapp.bean.log.LogPushBean
75 77
 import com.xhly.manageapp.bean.log.LogdOperateBean
76 78
 import com.xhly.manageapp.bean.log.UpdateBean
79
+import com.xhly.manageapp.bean.login.LoginStudentBean
77 80
 import com.xhly.manageapp.bean.scheme.AutoAppBean
78 81
 import com.xhly.manageapp.bean.school.SchoolDeviceSetBean
79 82
 import com.xhly.manageapp.bean.strategy.StrategyBean
83
+import com.xhly.manageapp.bean.user.McUserBean
80 84
 import com.xhly.manageapp.bean.user.UserBean
81 85
 import com.xhly.manageapp.broadcastreceiver.AppInstallReceiver
82 86
 import com.xhly.manageapp.broadcastreceiver.BLEStateReceiver
@@ -84,8 +88,10 @@ import com.xhly.manageapp.broadcastreceiver.NetConnectReceiver
84 88
 import com.xhly.manageapp.broadcastreceiver.SDReceiver
85 89
 import com.xhly.manageapp.broadcastreceiver.ScreenReceiver
86 90
 import com.xhly.manageapp.broadcastreceiver.USBReceiver
91
+import com.xhly.manageapp.broadcastreceiver.XhlyLoginEditReceiver
87 92
 import com.xhly.manageapp.broadcastreceiver.XhlyLoginOutReceiver
88 93
 import com.xhly.manageapp.broadcastreceiver.XhlyUpdeteStrategyReceiver
94
+import com.xhly.manageapp.contentprovider.ZSpProvider
89 95
 import com.xhly.manageapp.service.ManageAccessibilityService
90 96
 import com.xhly.manageapp.service.websocket.AppSocket
91 97
 import com.xhly.manageapp.ui.ManageActivity
@@ -120,6 +126,7 @@ class MainActivity : BaseActivity<MainViewModel, ActivityMainBinding>(), Downloa
120 126
     private var mUSBReceiver: USBReceiver? = null
121 127
     private var mLoginOutReceiver: XhlyLoginOutReceiver? = null
122 128
     private var mXhlyUpdeteStrategyReceiver: XhlyUpdeteStrategyReceiver? = null
129
+    private var mLoginEditReceiver: XhlyLoginEditReceiver? = null
123 130
     private var dataList: ArrayList<AppInfo> = arrayListOf()
124 131
     private var userBean: UserBean? = null
125 132
     private var timer: Timer? = null
@@ -186,6 +193,8 @@ class MainActivity : BaseActivity<MainViewModel, ActivityMainBinding>(), Downloa
186 193
     private var quitFlag=false
187 194
     //处理连续点击电源键的操作
188 195
     private var lastClickPowerTime=0L
196
+    //标记更新了user
197
+    private var updateUser=false
189 198
 
190 199
     override fun getBinding() = ActivityMainBinding.inflate(layoutInflater)
191 200
 
@@ -237,6 +246,7 @@ class MainActivity : BaseActivity<MainViewModel, ActivityMainBinding>(), Downloa
237 246
                 registerUSBReceiver()
238 247
                 registerSDReceiver()
239 248
                 registerLoginOutReceiver()
249
+                registerLoginEditReceiver()
240 250
                 registerXhlyUpdeteStrategyReceiver()
241 251
                 adapter?.userBean=it
242 252
             }
@@ -674,6 +684,36 @@ class MainActivity : BaseActivity<MainViewModel, ActivityMainBinding>(), Downloa
674 684
             }
675 685
         }
676 686
 
687
+        viewModel.mainLoginData.observe(this){userBean->
688
+            if (!updateUser){
689
+                return@observe
690
+            }
691
+            updateUser=false
692
+            if (userBean.xhlyLoginSucess){
693
+                this.userBean=userBean
694
+                val data = LogdOperateBean()
695
+                ManageApplication.getDeviceInfo()?.let {
696
+                    data.sn = it
697
+                }
698
+                data.doEvent = EventLog.ACCOUNTLOGINEVENT
699
+                data.comm=EventLog.ACCOUNTLOGINEVENTSTRING
700
+                viewModel.eventLog(data)
701
+                Const.USERID=userBean.userid
702
+                Const.USERNAME=userBean.username.toString()
703
+                Const.SCHOOLID=userBean.schoolid
704
+                Const.CLASSID=userBean.classid
705
+                spUtils.saveJson(Const.USERINFO,userBean)
706
+                val parseClassToJson = GsonUtils.parseClassToJson(userBean)
707
+                ZSpProvider.save(this,Const.USERINFO,parseClassToJson)
708
+                AppSocket.onDestroy()
709
+                AppSocket.startSocket(ManageApplication.instance)
710
+            }else{
711
+                userBean.xhlyLoginMessage?.let {
712
+                    Toast(it)
713
+                }
714
+            }
715
+        }
716
+
677 717
         lifecycleScope.launch {
678 718
             isCreatFlag = true
679 719
             isDestroyFlag=false
@@ -954,6 +994,15 @@ class MainActivity : BaseActivity<MainViewModel, ActivityMainBinding>(), Downloa
954 994
         super.onResume()
955 995
         userBean?.let {
956 996
             StrategyUtils.initMainResume()
997
+            val name = StringBuffer()
998
+            if (!it.schoolName.isNullOrBlank()) {
999
+                name.append(it.schoolName)
1000
+            }
1001
+            if (!it.classname.isNullOrBlank()) {
1002
+                name.append(it.classname)
1003
+            }
1004
+            mBinding.userschoolTv.text = name.toString()
1005
+            mBinding.usernameTv.text = it.username
957 1006
         }
958 1007
         isResumeFlag = true
959 1008
         Const.startAppStoreFlag = false
@@ -1039,14 +1088,6 @@ class MainActivity : BaseActivity<MainViewModel, ActivityMainBinding>(), Downloa
1039 1088
             Const.USERID = it.userid
1040 1089
             Const.USERNAME = it.username.toString()
1041 1090
             viewModel.postDevicesetDetail(it.schoolid)
1042
-            val name = StringBuffer()
1043
-            if (!it.schoolName.isNullOrBlank()) {
1044
-                name.append(it.schoolName)
1045
-            }
1046
-            if (!it.classname.isNullOrBlank()) {
1047
-                name.append(it.classname)
1048
-            }
1049
-            mBinding.userschoolTv.text = name.toString()
1050 1091
         }
1051 1092
         netStrategyDataFlag=true
1052 1093
         viewModel.postWallpaperPad()
@@ -1326,12 +1367,17 @@ class MainActivity : BaseActivity<MainViewModel, ActivityMainBinding>(), Downloa
1326 1367
         LogShow("锁定了吧" + mainLockFlag + "|||" + autoAppFlag)
1327 1368
         //自动退出时优先退出而不是拉起app
1328 1369
         if (autoAppFlag&&!loginoutFlag) {
1329
-            //因为对于学生端app退出登录的处理,所以类型为5(这时认为执行的时机是学生主动退出了登录,所以不拉起)时不执行拉起
1330
-            if (type!=5&&type!=4){
1370
+            /*//因为对于学生端app退出登录的处理,所以类型为5(这时认为执行的时机是学生主动退出了登录,所以不拉起)时不执行拉起
1371
+            if (type!=5){
1331 1372
                 userBean?.let {
1332 1373
                     netAutoAppFlag=true
1333 1374
                     viewModel.postAutoAppDetail(it.regionid)
1334 1375
                 }
1376
+            }*/
1377
+            //没有单点登录所以不再判断
1378
+            userBean?.let {
1379
+                netAutoAppFlag=true
1380
+                viewModel.postAutoAppDetail(it.regionid)
1335 1381
             }
1336 1382
         }
1337 1383
     }
@@ -1673,9 +1719,47 @@ class MainActivity : BaseActivity<MainViewModel, ActivityMainBinding>(), Downloa
1673 1719
             Const.STARTLOCATION -> {
1674 1720
                 getLocation()
1675 1721
             }
1722
+            Const.THIRDLOGINSUCCESS->{
1723
+                 loginEdit(uiEvent.bundle)
1724
+            }
1725
+            Const.LOGINOUTTOMAINACTIVITY->{
1726
+                loginoutFlag=true
1727
+            }
1728
+        }
1729
+    }
1730
+
1731
+    private fun loginEdit(bundle: Bundle?) {
1732
+        bundle?.let {
1733
+            val string = it.getString("loginEdit")
1734
+            if (string!=null){
1735
+                try {
1736
+                    val mcUserBean = GsonUtils.parseJsonWithGson(string, McUserBean::class.java)
1737
+                    val loginStudentBean=LoginStudentBean()
1738
+                    userBean?.let {
1739
+                        loginStudentBean.userid=it.userid
1740
+                        loginStudentBean.regionid=it.regionid
1741
+                    }
1742
+                    loginStudentBean.username=mcUserBean?.username
1743
+                    loginStudentBean.studentno=mcUserBean?.studentno
1744
+                    loginStudentBean.cardid=mcUserBean?.cardid
1745
+                    loginStudentBean.classname=mcUserBean?.classname
1746
+                    loginStudentBean.schoolname=mcUserBean?.schoolname
1747
+                    loginStudentBean.userphone=mcUserBean?.userphone
1748
+                    if (mcUserBean?.usersex==1){
1749
+                        loginStudentBean.usersex=1
1750
+                    }else{
1751
+                        loginStudentBean.usersex=0
1752
+                    }
1753
+                    updateUser=true
1754
+                    viewModel.editLogin(loginStudentBean)
1755
+                }catch (e:Exception){
1756
+                    Log.d("修改登录信息失败",e.toString())
1757
+                }
1758
+            }
1676 1759
         }
1677 1760
     }
1678 1761
 
1762
+
1679 1763
     //发送违规事件
1680 1764
     private fun postEventLog(data: LogdOperateBean) {
1681 1765
         try {
@@ -2044,6 +2128,13 @@ class MainActivity : BaseActivity<MainViewModel, ActivityMainBinding>(), Downloa
2044 2128
         registerReceiver(mLoginOutReceiver, filter)
2045 2129
     }
2046 2130
 
2131
+    private fun registerLoginEditReceiver() {
2132
+        val filter = IntentFilter()
2133
+        mLoginEditReceiver = XhlyLoginEditReceiver()
2134
+        filter.addAction("com.xhly.manageapp.loginedit")
2135
+        registerReceiver(mLoginEditReceiver, filter)
2136
+    }
2137
+
2047 2138
     private fun registerXhlyUpdeteStrategyReceiver() {
2048 2139
         val filter = IntentFilter()
2049 2140
         mXhlyUpdeteStrategyReceiver = XhlyUpdeteStrategyReceiver()
@@ -2204,6 +2295,9 @@ class MainActivity : BaseActivity<MainViewModel, ActivityMainBinding>(), Downloa
2204 2295
         mLoginOutReceiver?.let {
2205 2296
             unregisterReceiver(it)
2206 2297
         }
2298
+        mLoginEditReceiver?.let {
2299
+            unregisterReceiver(it)
2300
+        }
2207 2301
         LogShow("MainActivity被销毁")
2208 2302
     }
2209 2303
 

+ 41
- 0
app/src/main/java/com/xhly/manageapp/viewmodel/BaseViewModel.kt Wyświetl plik

@@ -13,7 +13,9 @@ import com.xhly.manageapp.bean.log.LogEventBean
13 13
 import com.xhly.manageapp.bean.log.LogPushBean
14 14
 import com.xhly.manageapp.bean.log.LogPushResultBean
15 15
 import com.xhly.manageapp.bean.log.LogdOperateBean
16
+import com.xhly.manageapp.bean.login.LoginStudentBean
16 17
 import com.xhly.manageapp.bean.scheme.AutoAppBean
18
+import com.xhly.manageapp.bean.user.UserBean
17 19
 import com.xhly.manageapp.network.log.LogService
18 20
 import com.xhly.manageapp.ui.login.netservice.LoginService
19 21
 import kotlinx.coroutines.flow.Flow
@@ -50,6 +52,45 @@ open class BaseViewModel : CommonBaseViewModel() {
50 52
     private val autoAppResult = MutableStateFlow<AutoAppBean?>(null)
51 53
     val autoAppData: Flow<AutoAppBean?> = autoAppResult.asStateFlow()
52 54
 
55
+
56
+    private val mainLoginResult=MutableLiveData<UserBean>()
57
+    val mainLoginData:LiveData<UserBean> =mainLoginResult
58
+    //标记修改登录信息失败,失败3次则不再继续
59
+    var editNum=0
60
+
61
+    //编辑登录信息
62
+    fun editLogin(loginStudentBean: LoginStudentBean){
63
+        launchUI {
64
+            try {
65
+                val postLogin = loginService.postLoginEdit(loginStudentBean)
66
+                if (postLogin.code==0){
67
+                    if (postLogin.obj!=null){
68
+                        mainLoginResult.value=postLogin.obj
69
+                    }
70
+                }else{
71
+                    editNum++
72
+                    if (editNum==3){
73
+                        val userBean=UserBean()
74
+                        userBean.xhlyLoginSucess=false
75
+                        if (postLogin.msg!=null){
76
+                            userBean.xhlyLoginMessage=postLogin.msg
77
+                        }
78
+                        mainLoginResult.value=userBean
79
+                    }else{
80
+                        editLogin(loginStudentBean)
81
+                    }
82
+                }
83
+            }catch (e:Exception){
84
+                val userBean=UserBean()
85
+                userBean.xhlyLoginSucess=false
86
+                mainLoginResult.value=userBean
87
+                LogShow(e.toString())
88
+            }
89
+        }
90
+
91
+    }
92
+
93
+
53 94
     /**
54 95
      * 解除当前锁屏
55 96
      */

+ 3
- 2
app/src/main/java/com/xhly/manageapp/workmanager/TimingWorker.kt Wyświetl plik

@@ -80,10 +80,11 @@ class TimingWorker(context: Context, workerParams: WorkerParameters) :
80 80
             //校验登录
81 81
             userBean?.let {
82 82
                 val map = HashMap<String, Any>()
83
-                map["userid"] = userBean.userid
84
-                map["loginpwd"] = userBean.loginpwd
83
+                map["regionCode"] = userBean.regionCode.toString()
84
+                map["sn"] = ManageApplication.getDeviceInfo()?:""
85 85
                 try {
86 86
                     val postLoginCheck = loginService.postLoginCheck(map)
87
+                    LogShow("sn校验结果"+postLoginCheck.code+"|||"+postLoginCheck.obj.needLogin)
87 88
                     if (postLoginCheck.code == 0 && postLoginCheck.obj.needLogin) {
88 89
                         UIEvent(Const.ACCOUNTLOGINOUT).post()
89 90
                     }

BIN
app/src/main/res/drawable/icon_code_sn.png Wyświetl plik


+ 4
- 41
app/src/main/res/layout/activity_login.xml Wyświetl plik

@@ -32,7 +32,7 @@
32 32
             android:id="@+id/login_sv"
33 33
             android:layout_width="match_parent"
34 34
             android:layout_height="match_parent"
35
-            android:layout_marginTop="72dp">
35
+            android:layout_marginTop="147dp">
36 36
 
37 37
             <androidx.constraintlayout.widget.ConstraintLayout
38 38
                 android:id="@+id/login_clayout"
@@ -74,7 +74,7 @@
74 74
                     android:layout_width="22dp"
75 75
                     android:layout_height="22dp"
76 76
                     android:layout_marginRight="15dp"
77
-                    android:src="@drawable/icon_zhanghao"
77
+                    android:src="@drawable/icon_code_sn"
78 78
                     app:layout_constraintBottom_toBottomOf="@id/account_et"
79 79
                     app:layout_constraintRight_toLeftOf="@id/account_et"
80 80
                     app:layout_constraintTop_toTopOf="@id/account_et" />
@@ -86,7 +86,7 @@
86 86
                     android:layout_marginTop="82dp"
87 87
                     android:background="@null"
88 88
                     android:gravity="center_vertical"
89
-                    android:hint="@string/inputaccount"
89
+                    android:hint="@string/inputregioncode"
90 90
                     android:maxLength="20"
91 91
                     android:singleLine="true"
92 92
                     android:textColor="@color/black"
@@ -105,48 +105,11 @@
105 105
                     app:layout_constraintRight_toRightOf="parent"
106 106
                     app:layout_constraintTop_toBottomOf="@id/account_et" />
107 107
 
108
-                <ImageView
109
-                    android:layout_width="22dp"
110
-                    android:layout_height="22dp"
111
-                    android:layout_marginRight="15dp"
112
-                    android:src="@drawable/icon_mima"
113
-                    app:layout_constraintBottom_toBottomOf="@id/code_et"
114
-                    app:layout_constraintRight_toLeftOf="@id/code_et"
115
-                    app:layout_constraintTop_toTopOf="@id/code_et" />
116
-
117
-                <EditText
118
-                    android:id="@+id/code_et"
119
-                    android:layout_width="300dp"
120
-                    android:layout_height="wrap_content"
121
-                    android:layout_marginTop="165dp"
122
-                    android:background="@null"
123
-                    android:digits="@string/psw_style"
124
-                    android:gravity="center_vertical"
125
-                    android:hint="@string/inputcode"
126
-                    android:inputType="textPassword"
127
-                    android:maxLength="20"
128
-                    android:singleLine="true"
129
-                    android:textColor="@color/black"
130
-                    android:textColorHint="#FFB8C2D9"
131
-                    android:textSize="21sp"
132
-                    app:layout_constraintLeft_toLeftOf="parent"
133
-                    app:layout_constraintRight_toRightOf="parent"
134
-                    app:layout_constraintTop_toTopOf="parent" />
135
-
136
-                <ImageView
137
-                    android:layout_width="387dp"
138
-                    android:layout_height="1dp"
139
-                    android:layout_marginTop="12dp"
140
-                    android:src="#D0DBF4"
141
-                    app:layout_constraintLeft_toLeftOf="parent"
142
-                    app:layout_constraintRight_toRightOf="parent"
143
-                    app:layout_constraintTop_toBottomOf="@id/code_et" />
144
-
145 108
                 <FrameLayout
146 109
                     android:id="@+id/login_btn"
147 110
                     android:layout_width="387dp"
148 111
                     android:layout_height="49dp"
149
-                    android:layout_marginTop="279dp"
112
+                    android:layout_marginTop="167dp"
150 113
                     app:layout_constraintLeft_toLeftOf="parent"
151 114
                     app:layout_constraintRight_toRightOf="parent"
152 115
                     app:layout_constraintTop_toTopOf="parent">

+ 8
- 0
corelib/src/main/java/com/xhly/corelib/Const.kt Wyświetl plik

@@ -141,6 +141,11 @@ object Const {
141 141
      */
142 142
     const val ACCOUNTLOGINOUT = "ACCOUNTLOGINOUT"
143 143
 
144
+    /**
145
+     * 标记第三方主动退到管控页面
146
+     */
147
+    const val LOGINOUTTOMAINACTIVITY = "LOGINOUTTOMAINACTIVITY"
148
+
144 149
     /**
145 150
      * 标记直接退出,不调用接口
146 151
      */
@@ -262,6 +267,9 @@ object Const {
262 267
     //存储学校设置的设备设置
263 268
     const val SCHOOLSETDEVICE = "SCHOOLSETDEVICE"
264 269
 
270
+    //标记第三方登录成功
271
+    const val THIRDLOGINSUCCESS = "THIRDLOGINSUCCESS"
272
+
265 273
     //记录设备策略名称
266 274
     const val DEVICETYPE1 = "摄像头"
267 275
     const val DEVICETYPE2 = "蓝牙"

Ładowanie…
Anuluj
Zapisz