diff --git a/app/src/main/java/com/casic/birmm/inspect/base/BaseActivity.kt b/app/src/main/java/com/casic/birmm/inspect/base/BaseActivity.kt index b6b9f53..9affee1 100644 --- a/app/src/main/java/com/casic/birmm/inspect/base/BaseActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/base/BaseActivity.kt @@ -3,11 +3,14 @@ import android.os.Bundle import androidx.appcompat.app.AppCompatActivity import com.qmuiteam.qmui.util.QMUIStatusBarHelper +import kotlinx.coroutines.CoroutineScope +import kotlinx.coroutines.MainScope +import kotlinx.coroutines.cancel /** - * 无网络请求等普通页面的基础类 + * 普通页面的基础类 * */ -abstract class BaseActivity : AppCompatActivity() { +abstract class BaseActivity : AppCompatActivity(), CoroutineScope by MainScope() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(initLayoutView()) @@ -36,4 +39,12 @@ * 初始化业务逻辑 */ abstract fun initEvent() + + /** + * 取消协程 + * */ + override fun onDestroy() { + cancel() + super.onDestroy() + } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/base/BaseActivity.kt b/app/src/main/java/com/casic/birmm/inspect/base/BaseActivity.kt index b6b9f53..9affee1 100644 --- a/app/src/main/java/com/casic/birmm/inspect/base/BaseActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/base/BaseActivity.kt @@ -3,11 +3,14 @@ import android.os.Bundle import androidx.appcompat.app.AppCompatActivity import com.qmuiteam.qmui.util.QMUIStatusBarHelper +import kotlinx.coroutines.CoroutineScope +import kotlinx.coroutines.MainScope +import kotlinx.coroutines.cancel /** - * 无网络请求等普通页面的基础类 + * 普通页面的基础类 * */ -abstract class BaseActivity : AppCompatActivity() { +abstract class BaseActivity : AppCompatActivity(), CoroutineScope by MainScope() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(initLayoutView()) @@ -36,4 +39,12 @@ * 初始化业务逻辑 */ abstract fun initEvent() + + /** + * 取消协程 + * */ + override fun onDestroy() { + cancel() + super.onDestroy() + } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/base/BaseViewModelActivity.kt b/app/src/main/java/com/casic/birmm/inspect/base/BaseViewModelActivity.kt index ee93c84..e3a6c03 100644 --- a/app/src/main/java/com/casic/birmm/inspect/base/BaseViewModelActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/base/BaseViewModelActivity.kt @@ -12,7 +12,7 @@ /** * MV ViewModel 架构 * - * 有网络请求等普通页面的基础类 + * 单个网络请求页面的基础类 */ abstract class BaseViewModelActivity : AppCompatActivity(), CoroutineScope by MainScope() { diff --git a/app/src/main/java/com/casic/birmm/inspect/base/BaseActivity.kt b/app/src/main/java/com/casic/birmm/inspect/base/BaseActivity.kt index b6b9f53..9affee1 100644 --- a/app/src/main/java/com/casic/birmm/inspect/base/BaseActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/base/BaseActivity.kt @@ -3,11 +3,14 @@ import android.os.Bundle import androidx.appcompat.app.AppCompatActivity import com.qmuiteam.qmui.util.QMUIStatusBarHelper +import kotlinx.coroutines.CoroutineScope +import kotlinx.coroutines.MainScope +import kotlinx.coroutines.cancel /** - * 无网络请求等普通页面的基础类 + * 普通页面的基础类 * */ -abstract class BaseActivity : AppCompatActivity() { +abstract class BaseActivity : AppCompatActivity(), CoroutineScope by MainScope() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(initLayoutView()) @@ -36,4 +39,12 @@ * 初始化业务逻辑 */ abstract fun initEvent() + + /** + * 取消协程 + * */ + override fun onDestroy() { + cancel() + super.onDestroy() + } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/base/BaseViewModelActivity.kt b/app/src/main/java/com/casic/birmm/inspect/base/BaseViewModelActivity.kt index ee93c84..e3a6c03 100644 --- a/app/src/main/java/com/casic/birmm/inspect/base/BaseViewModelActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/base/BaseViewModelActivity.kt @@ -12,7 +12,7 @@ /** * MV ViewModel 架构 * - * 有网络请求等普通页面的基础类 + * 单个网络请求页面的基础类 */ abstract class BaseViewModelActivity : AppCompatActivity(), CoroutineScope by MainScope() { diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitService.kt b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitService.kt index 41348ab..63a1b8d 100644 --- a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitService.kt +++ b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitService.kt @@ -11,6 +11,6 @@ /** * PublicKey校验 */ - @GET("/pan-tilt/config/baseConfig") + @GET("/config/baseConfig") suspend fun obtainPublicKeyAsync(): PublicKeyBean } \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/base/BaseActivity.kt b/app/src/main/java/com/casic/birmm/inspect/base/BaseActivity.kt index b6b9f53..9affee1 100644 --- a/app/src/main/java/com/casic/birmm/inspect/base/BaseActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/base/BaseActivity.kt @@ -3,11 +3,14 @@ import android.os.Bundle import androidx.appcompat.app.AppCompatActivity import com.qmuiteam.qmui.util.QMUIStatusBarHelper +import kotlinx.coroutines.CoroutineScope +import kotlinx.coroutines.MainScope +import kotlinx.coroutines.cancel /** - * 无网络请求等普通页面的基础类 + * 普通页面的基础类 * */ -abstract class BaseActivity : AppCompatActivity() { +abstract class BaseActivity : AppCompatActivity(), CoroutineScope by MainScope() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(initLayoutView()) @@ -36,4 +39,12 @@ * 初始化业务逻辑 */ abstract fun initEvent() + + /** + * 取消协程 + * */ + override fun onDestroy() { + cancel() + super.onDestroy() + } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/base/BaseViewModelActivity.kt b/app/src/main/java/com/casic/birmm/inspect/base/BaseViewModelActivity.kt index ee93c84..e3a6c03 100644 --- a/app/src/main/java/com/casic/birmm/inspect/base/BaseViewModelActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/base/BaseViewModelActivity.kt @@ -12,7 +12,7 @@ /** * MV ViewModel 架构 * - * 有网络请求等普通页面的基础类 + * 单个网络请求页面的基础类 */ abstract class BaseViewModelActivity : AppCompatActivity(), CoroutineScope by MainScope() { diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitService.kt b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitService.kt index 41348ab..63a1b8d 100644 --- a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitService.kt +++ b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitService.kt @@ -11,6 +11,6 @@ /** * PublicKey校验 */ - @GET("/pan-tilt/config/baseConfig") + @GET("/config/baseConfig") suspend fun obtainPublicKeyAsync(): PublicKeyBean } \ No newline at end of file diff --git a/app/src/main/java/com/casic/birmm/inspect/view/LoginActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/LoginActivity.kt index bdb3f2d..2dc5b76 100644 --- a/app/src/main/java/com/casic/birmm/inspect/view/LoginActivity.kt +++ b/app/src/main/java/com/casic/birmm/inspect/view/LoginActivity.kt @@ -1,29 +1,29 @@ package com.casic.birmm.inspect.view import android.text.Editable +import android.text.TextUtils import android.text.TextWatcher -import android.util.Log import android.view.KeyEvent import android.view.inputmethod.EditorInfo import android.widget.EditText import android.widget.TextView import androidx.lifecycle.Observer +import androidx.lifecycle.ViewModelProvider import com.casic.birmm.inspect.R -import com.casic.birmm.inspect.base.BaseViewModelActivity +import com.casic.birmm.inspect.base.BaseActivity import com.casic.birmm.inspect.utils.* import com.casic.birmm.inspect.vm.AuthenticateViewModel import com.casic.birmm.inspect.widgets.InputDialog import kotlinx.android.synthetic.main.activity_login.* -class LoginActivity : BaseViewModelActivity() { +class LoginActivity : BaseActivity() { companion object { private const val Tag = "LoginActivity" } - override fun createViewModelByClass(): Class? = - AuthenticateViewModel::class.java + private lateinit var viewModel: AuthenticateViewModel override fun initLayoutView(): Int = R.layout.activity_login @@ -32,14 +32,27 @@ } override fun initData() { + // 实例化ViewModel + viewModel = ViewModelProvider(this).get(AuthenticateViewModel::class.java) // 监听数据变化,从而显示数据在页面 viewModel.keyBean.observe(this, Observer { if (it.isSuccess) { - Log.d(Tag, "${it.data!!.publicKey}") - val keyString = it.data!!.publicKey - val publicKey = RSAUtils.keyStrToPublicKey(keyString) + val publicKey = RSAUtils.keyStrToPublicKey(it.data!!.publicKey) + val account = userNameView.text.toString() val userPassword = userPasswordView.text.toString() + if (TextUtils.isEmpty(account)) { + OtherUtils.showTipsDialog(this, "用户名不能为空", userNameView) + return@Observer + } + if (TextUtils.isEmpty(userPassword)) { + OtherUtils.showTipsDialog(this, "密码不能为空", userPasswordView) + return@Observer + } + val dataByPublicKey = + RSAUtils.encryptDataByPublicKey(userPassword.toByteArray(), publicKey!!) + //登录并获取Token,POST请求 +// loginPresenter.onReadyRetrofitRequest(account, dataByPublicKey) } else { OtherUtils.showTipsDialog(this, it.message!!, loginButton) }