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 26
minSdkVersion 21 minSdkVersion 21
targetSdkVersion 25 targetSdkVersion 25
versionCode 30003
versionName "3.0.3"
versionCode 30004
versionName "3.0.4"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"


// ndk { // 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.pswEdit
import kotlinx.android.synthetic.main.activity_login.qrCodeImg import kotlinx.android.synthetic.main.activity_login.qrCodeImg
import kotlinx.android.synthetic.main.activity_login.qrLayout 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 kotlinx.android.synthetic.main.activity_login.tabLayout
import org.jetbrains.anko.startActivity import org.jetbrains.anko.startActivity
import org.jetbrains.anko.toast


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


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


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


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

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


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


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

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


override fun onDestroy() { 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 val url = Config.BASE_URL + YzxInterface.INTERFACE_GENERATE_WX_QR_TICKET
var env = Config.getEvn() var env = Config.getEvn()
OkGo.post<YzxResponse<WxQrTicket>>(url) OkGo.post<YzxResponse<WxQrTicket>>(url)
@@ -165,13 +165,14 @@ class LoginPresenter(view: LoginView) : BasePresenter<LoginView>(view) {
if (response?.isSuccessful == true) { if (response?.isSuccessful == true) {
val url = val url =
"https://mp.weixin.qq.com/cgi-bin/showqrcode?ticket=${response.body().data.ticket}" "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>>?) { override fun onError(response: Response<YzxResponse<WxQrTicket>>?) {
super.onError(response) super.onError(response)
LogUtils.d(response) LogUtils.d(response)
mView?.onWxQrCodeError(response?.body()?.msg ?: "",refresh)
} }
}) })
} }
@@ -203,6 +204,7 @@ interface LoginView : IView {
fun onLoginError(msg: String) fun onLoginError(msg: String)
fun onUserInfoSuccess(user: User) fun onUserInfoSuccess(user: User)
fun onUserListSuccess(list: MutableList<BaseUser>, token: String) 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) fun onLoginQuerySuccess(user: BaseUser, code: Int)
} }

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

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


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


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


<androidx.appcompat.widget.LinearLayoutCompat <androidx.appcompat.widget.LinearLayoutCompat


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