leiyun 2 лет назад
Родитель
Сommit
a75f77833c
4 измененных файлов: 43 добавлений и 8 удалений
  1. +2
    -2
      app/build.gradle
  2. +26
    -1
      app/src/main/java/com/yzx/ebrand/activity/LoginActivity.kt
  3. +5
    -3
      app/src/main/java/com/yzx/ebrand/presenter/LoginPresenter.kt
  4. +10
    -2
      app/src/main/res/layout/activity_login.xml

+ 2
- 2
app/build.gradle Просмотреть файл

@@ -19,8 +19,8 @@ android {
// minSdkVersion 26
minSdkVersion 21
targetSdkVersion 25
versionCode 30003
versionName "3.0.3"
versionCode 30004
versionName "3.0.4"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"

// ndk {


+ 26
- 1
app/src/main/java/com/yzx/ebrand/activity/LoginActivity.kt Просмотреть файл

@@ -30,8 +30,10 @@ import kotlinx.android.synthetic.main.activity_login.pswCheckbox
import kotlinx.android.synthetic.main.activity_login.pswEdit
import kotlinx.android.synthetic.main.activity_login.qrCodeImg
import kotlinx.android.synthetic.main.activity_login.qrLayout
import kotlinx.android.synthetic.main.activity_login.qrRefresh
import kotlinx.android.synthetic.main.activity_login.tabLayout
import org.jetbrains.anko.startActivity
import org.jetbrains.anko.toast

class LoginActivity : BaseActivity<LoginPresenter>(), LoginView {

@@ -43,6 +45,7 @@ class LoginActivity : BaseActivity<LoginPresenter>(), LoginView {

private var mTicket = ""
private var isPageShow = true
private var qrLoading = false

override val inflateId: Int
get() = R.layout.activity_login
@@ -96,6 +99,15 @@ class LoginActivity : BaseActivity<LoginPresenter>(), LoginView {
img1.setSrc(env.LOGO)
LogUtils.d("env.APP_NAME",env.APP_NAME)
img2.setSrc(env.APP_NAME)

qrRefresh.setOnClickListener {
if(qrLoading){
toast("刷新中,请稍后")
return@setOnClickListener
}
qrLoading = true
mPresenter?.getWXQrCode(true)
}
}

private fun doLogin() {
@@ -165,10 +177,23 @@ class LoginActivity : BaseActivity<LoginPresenter>(), LoginView {
finish()
}

override fun onWxQrCodeSuccess(imgUrl: String, ticket: String) {
override fun onWxQrCodeSuccess(imgUrl: String, ticket: String,refresh:Boolean) {
qrLoading = false
qrCodeImg.setSrc(imgUrl)
mTicket = ticket
mPresenter?.loginQuery(ticket)
if(refresh){
toast("刷新成功")
}
}

override fun onWxQrCodeError(msg: String, refresh: Boolean) {
qrLoading = false
if(refresh){
toast(msg.ifBlank {
"刷新失败"
})
}
}

override fun onDestroy() {


+ 5
- 3
app/src/main/java/com/yzx/ebrand/presenter/LoginPresenter.kt Просмотреть файл

@@ -154,7 +154,7 @@ class LoginPresenter(view: LoginView) : BasePresenter<LoginView>(view) {
})
}

fun getWXQrCode() {
fun getWXQrCode(refresh: Boolean = false) {
val url = Config.BASE_URL + YzxInterface.INTERFACE_GENERATE_WX_QR_TICKET
var env = Config.getEvn()
OkGo.post<YzxResponse<WxQrTicket>>(url)
@@ -165,13 +165,14 @@ class LoginPresenter(view: LoginView) : BasePresenter<LoginView>(view) {
if (response?.isSuccessful == true) {
val url =
"https://mp.weixin.qq.com/cgi-bin/showqrcode?ticket=${response.body().data.ticket}"
mView?.onWxQrCodeSuccess(url, response.body().data.ticket)
mView?.onWxQrCodeSuccess(url, response.body().data.ticket,refresh)
}
}

override fun onError(response: Response<YzxResponse<WxQrTicket>>?) {
super.onError(response)
LogUtils.d(response)
mView?.onWxQrCodeError(response?.body()?.msg ?: "",refresh)
}
})
}
@@ -203,6 +204,7 @@ interface LoginView : IView {
fun onLoginError(msg: String)
fun onUserInfoSuccess(user: User)
fun onUserListSuccess(list: MutableList<BaseUser>, token: String)
fun onWxQrCodeSuccess(imgUrl: String, ticket: String)
fun onWxQrCodeSuccess(imgUrl: String, ticket: String,refresh:Boolean)
fun onWxQrCodeError(msg: String,refresh:Boolean)
fun onLoginQuerySuccess(user: BaseUser, code: Int)
}

+ 10
- 2
app/src/main/res/layout/activity_login.xml Просмотреть файл

@@ -93,8 +93,8 @@

<ImageView
android:id="@+id/qrCodeImg"
android:layout_width="200dp"
android:layout_height="200dp"
android:layout_width="160dp"
android:layout_height="160dp"
android:background="@color/blue2"/>

<TextView
@@ -107,6 +107,14 @@
android:paddingVertical="@dimen/d_10"
android:paddingHorizontal="@dimen/d_30"/>

<TextView
android:id="@+id/qrRefresh"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="刷新二维码"
android:textColor="@color/blue"
android:layout_marginTop="20dp"/>

</androidx.appcompat.widget.LinearLayoutCompat>

<androidx.appcompat.widget.LinearLayoutCompat


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