Commit baf269ab by YKai

feat:一键登录获取token失败跳转登录界面优化

parent b0b46b76
...@@ -33,6 +33,7 @@ import com.ydl.confide.home.ConfideHomeActivity ...@@ -33,6 +33,7 @@ import com.ydl.confide.home.ConfideHomeActivity
import com.ydl.ydlcommon.router.YdlCommonRouterManager import com.ydl.ydlcommon.router.YdlCommonRouterManager
import com.yidianling.common.tools.LogUtil import com.yidianling.common.tools.LogUtil
import com.yidianling.consultant.api.IConsultantService import com.yidianling.consultant.api.IConsultantService
import com.yidianling.user.ui.login.OneKeyLoginHelp
/** /**
...@@ -46,6 +47,7 @@ class MainActivity : BaseLceActivity<DemoContract.View, DemoContract.Presenter>( ...@@ -46,6 +47,7 @@ class MainActivity : BaseLceActivity<DemoContract.View, DemoContract.Presenter>(
private var serviceConnection: ServiceConnection? = null private var serviceConnection: ServiceConnection? = null
private var secretDialog: SecretDialog? = null private var secretDialog: SecretDialog? = null
protected var playService: PlayService? = null protected var playService: PlayService? = null
var oneKeyLoginHelp: OneKeyLoginHelp? = null // 一键登录辅助类
override fun getContentViewId(): Int { override fun getContentViewId(): Int {
return R.id.lce_content_view return R.id.lce_content_view
...@@ -72,6 +74,7 @@ class MainActivity : BaseLceActivity<DemoContract.View, DemoContract.Presenter>( ...@@ -72,6 +74,7 @@ class MainActivity : BaseLceActivity<DemoContract.View, DemoContract.Presenter>(
// YDLavManager.instances.init(this, "3387e9b251f3491e9221a9877e8f7830") // YDLavManager.instances.init(this, "3387e9b251f3491e9221a9877e8f7830")
YdlCommonRouterManager.initYdlCommonRoute(PlatformTempCommonRouteImpl()) YdlCommonRouterManager.initYdlCommonRoute(PlatformTempCommonRouteImpl())
oneKeyLoginHelp = OneKeyLoginHelp(this, OneKeyLoginHelp.YDL_USER_APP, OneKeyLoginHelp.ONE_KEY_LOGIN)
bindService() bindService()
reLoadData() reLoadData()
...@@ -85,10 +88,17 @@ class MainActivity : BaseLceActivity<DemoContract.View, DemoContract.Presenter>( ...@@ -85,10 +88,17 @@ class MainActivity : BaseLceActivity<DemoContract.View, DemoContract.Presenter>(
} }
bt_to_other.setOnClickListener { bt_to_other.setOnClickListener {
ARouter.getInstance().build("/user/login") // ARouter.getInstance().build("/user/login")
.withBoolean("bind_phone", false) // .withBoolean("bind_phone", false)
.withBoolean("isFromGuide", true) // .withBoolean("isFromGuide", true)
.navigation() // .navigation()
oneKeyLoginHelp?.let {
if (!it.isGetTokenSuccess){
it.setAuthListener()
}
oneKeyLoginHelp?.getLoginToken(true)
}
} }
bt_to_consultant.setOnClickListener { bt_to_consultant.setOnClickListener {
// ARouter.getInstance() // ARouter.getInstance()
...@@ -110,7 +120,7 @@ class MainActivity : BaseLceActivity<DemoContract.View, DemoContract.Presenter>( ...@@ -110,7 +120,7 @@ class MainActivity : BaseLceActivity<DemoContract.View, DemoContract.Presenter>(
FragmentContainerActivity.start(this, "TrendsHomeFragment") FragmentContainerActivity.start(this, "TrendsHomeFragment")
} }
bt_to_tests.setOnClickListener { bt_to_tests.setOnClickListener {
startActivity(Intent(this, NewTestHomeActivity::class.java)) startActivity(Intent(this, NewTestHomeActivity::class.java))
// SecretActivity.Companion.startProtocol(this, it.data.getContent()); // SecretActivity.Companion.startProtocol(this, it.data.getContent());
// secretDescriptionDialog = SecretDescriptionDialog( // secretDescriptionDialog = SecretDescriptionDialog(
// this@MainActivity, // this@MainActivity,
...@@ -140,7 +150,8 @@ class MainActivity : BaseLceActivity<DemoContract.View, DemoContract.Presenter>( ...@@ -140,7 +150,8 @@ class MainActivity : BaseLceActivity<DemoContract.View, DemoContract.Presenter>(
ModularServiceManager.provide(IConsultantService::class.java).requestGuideData() ModularServiceManager.provide(IConsultantService::class.java).requestGuideData()
bt_to_muse.setOnClickListener { bt_to_muse.setOnClickListener {
val list= ModularServiceManager.provide(IConsultantService::class.java).getGuideImage(1) val list =
ModularServiceManager.provide(IConsultantService::class.java).getGuideImage(1)
list?.forEach { list?.forEach {
LogUtil.e(it.toString()) LogUtil.e(it.toString())
} }
...@@ -193,7 +204,7 @@ class MainActivity : BaseLceActivity<DemoContract.View, DemoContract.Presenter>( ...@@ -193,7 +204,7 @@ class MainActivity : BaseLceActivity<DemoContract.View, DemoContract.Presenter>(
} }
bt_to_privacy.setOnClickListener { bt_to_privacy.setOnClickListener {
startActivity(Intent(this@MainActivity,TestAppActivity::class.java)) startActivity(Intent(this@MainActivity, TestAppActivity::class.java))
} }
} }
......
...@@ -9,9 +9,11 @@ import android.view.View ...@@ -9,9 +9,11 @@ import android.view.View
import android.widget.ImageView import android.widget.ImageView
import android.widget.RelativeLayout import android.widget.RelativeLayout
import android.widget.TextView import android.widget.TextView
import com.alibaba.android.arouter.launcher.ARouter
import com.mobile.auth.gatewayauth.* import com.mobile.auth.gatewayauth.*
import com.mobile.auth.gatewayauth.model.TokenRet import com.mobile.auth.gatewayauth.model.TokenRet
import com.ydl.ydlcommon.base.BaseActivity import com.ydl.ydlcommon.base.BaseActivity
import com.ydl.ydlcommon.utils.LogUtil
import com.yidianling.common.tools.RxDeviceTool import com.yidianling.common.tools.RxDeviceTool
import com.yidianling.common.tools.RxImageTool import com.yidianling.common.tools.RxImageTool
...@@ -19,17 +21,22 @@ import com.yidianling.common.tools.RxImageTool ...@@ -19,17 +21,22 @@ import com.yidianling.common.tools.RxImageTool
* Created by Ykai on 2020/12/22. * Created by Ykai on 2020/12/22.
* *
* 一键登录辅助类 * 一键登录辅助类
* TokenResultListener内存泄漏
* sdk内部会持有外部设置进来的TokenResultListener,在⼀键登录功能使⽤完毕之后通过
*/ */
class OneKeyLoginHelp { class OneKeyLoginHelp {
private var mPhoneNumberAuthHelper: PhoneNumberAuthHelper? = null private var mPhoneNumberAuthHelper: PhoneNumberAuthHelper? = null
private var mActivity: BaseActivity? = null private var mActivity: BaseActivity? = null
public var isGetTokenSuccess = true
companion object{ companion object {
private const val YDL_USER_APP_KEY = "cl6yPRBkrpRfZpTPkTKoa1+/J+muUvPMPR2HRb0oll24XnyeLPGRDtla7p54HBd3362GfxhNJLYHaaEPHKwl16lDpvNbJ9mm+VbcYQTSX3NK+apSz2/8ul7lMWrGI/1HRyQ9G7njyI3e5BW3FBVqMh3dssocaraDJgbnQds+5ajWM7kklcSy9c8k49TegzBqmj/6ENqNLG1JNgtfTXmBOPQAs9DZVWh+bUN6SfE/tCRuUEb9zriAkP/TY1ouYvXXQU1Ivjy6S7xMJduTNqHrnuUW93D1r1/v" private const val YDL_USER_APP_KEY =
private const val YDL_EXPERT_APP_KEY = "i4Y/PVRAz4P/aqajQF7SOd3JUIKEsJbRurH04azLyX6N2upi292OrLHECRmtTVAqY24HFjwUjW1QjRwJA9aFbNzl3zl7L5DEDBZ4+QSU28vq34HccmAjAeUCC7qCHbN7QLVZqhVpuYUCMZ5fp2NdhANJl/741wHccdPk/Un5c4larDNuv1KEo2OZOds2J1WFiBx7giWtzli4NwMq9x+9sb0aXPZZQ9C9Kr8T/0+/ccYdotwFm7XWenNs/G3Jy1HHVqqOCDecKPbyXR+cV0jBUisSjv+SEUTfpcc3iUGH5OjZyQ6OfaLkdjATsr5K9oVP" "cl6yPRBkrpRfZpTPkTKoa1+/J+muUvPMPR2HRb0oll24XnyeLPGRDtla7p54HBd3362GfxhNJLYHaaEPHKwl16lDpvNbJ9mm+VbcYQTSX3NK+apSz2/8ul7lMWrGI/1HRyQ9G7njyI3e5BW3FBVqMh3dssocaraDJgbnQds+5ajWM7kklcSy9c8k49TegzBqmj/6ENqNLG1JNgtfTXmBOPQAs9DZVWh+bUN6SfE/tCRuUEb9zriAkP/TY1ouYvXXQU1Ivjy6S7xMJduTNqHrnuUW93D1r1/v"
private const val YDL_EXPERT_APP_KEY =
"i4Y/PVRAz4P/aqajQF7SOd3JUIKEsJbRurH04azLyX6N2upi292OrLHECRmtTVAqY24HFjwUjW1QjRwJA9aFbNzl3zl7L5DEDBZ4+QSU28vq34HccmAjAeUCC7qCHbN7QLVZqhVpuYUCMZ5fp2NdhANJl/741wHccdPk/Un5c4larDNuv1KEo2OZOds2J1WFiBx7giWtzli4NwMq9x+9sb0aXPZZQ9C9Kr8T/0+/ccYdotwFm7XWenNs/G3Jy1HHVqqOCDecKPbyXR+cV0jBUisSjv+SEUTfpcc3iUGH5OjZyQ6OfaLkdjATsr5K9oVP"
const val YDL_USER_APP = 1 const val YDL_USER_APP = 1
const val YDL_EXPERT_APP = 2 const val YDL_EXPERT_APP = 2
const val PHONE_CHECK =1 // 本机号码验证 const val PHONE_CHECK = 1 // 本机号码验证
const val ONE_KEY_LOGIN = 2 // 一键登录 const val ONE_KEY_LOGIN = 2 // 一键登录
} }
...@@ -40,29 +47,40 @@ class OneKeyLoginHelp { ...@@ -40,29 +47,40 @@ class OneKeyLoginHelp {
* @param authType 1表示用户端一键登录 2表示 * @param authType 1表示用户端一键登录 2表示
* @param loginType 1本机号码校验 2一键登录 * @param loginType 1本机号码校验 2一键登录
*/ */
constructor(activity: BaseActivity, authType:Int,loginType:Int) { constructor(activity: BaseActivity, authType: Int, loginType: Int) {
mActivity = activity mActivity = activity
mPhoneNumberAuthHelper = PhoneNumberAuthHelper.getInstance(activity, mTokenListener) mPhoneNumberAuthHelper = PhoneNumberAuthHelper.getInstance(activity, mTokenListener)
mPhoneNumberAuthHelper?.let { mPhoneNumberAuthHelper?.let {
// APP是否处于调试状态,使⽤ getReporter.setLoggerEnable(true) 可以关闭此项检测 // APP是否处于调试状态,使⽤ getReporter.setLoggerEnable(true) 可以关闭此项检测
it.reporter.setLoggerEnable(true) it.reporter.setLoggerEnable(true)
// 设置密钥 // 设置密钥
if (authType== YDL_USER_APP){ if (authType == YDL_USER_APP) {
it.setAuthSDKInfo(YDL_USER_APP_KEY) it.setAuthSDKInfo(YDL_USER_APP_KEY)
}else if (authType== YDL_EXPERT_APP){ } else if (authType == YDL_EXPERT_APP) {
it.setAuthSDKInfo(YDL_EXPERT_APP_KEY) it.setAuthSDKInfo(YDL_EXPERT_APP_KEY)
} }
// 检查认证环境 // 检查认证环境
it.checkEnvAvailable(loginType) // type 1:本机号码校验 2: ⼀键登录 // it.checkEnvAvailable(loginType) // type 1:本机号码校验 2: ⼀键登录
} }
} }
/** /**
* 打开登录界面 * 设置token监听
* *
*/ */
public fun toLoginActivity(){ fun setAuthListener(){
mPhoneNumberAuthHelper?.setAuthListener(mTokenListener)
}
/**
* 打开登录界面
*
*/
fun toLoginActivity() {
ARouter.getInstance().build("/user/login")
.withBoolean("bind_phone", false)
.withBoolean("isFromGuide", true)
.navigation()
} }
/** /**
...@@ -70,7 +88,7 @@ class OneKeyLoginHelp { ...@@ -70,7 +88,7 @@ class OneKeyLoginHelp {
* *
* @param isOpenDialog 是否是弹窗 * @param isOpenDialog 是否是弹窗
*/ */
public fun getLoginToken(isOpenDialog: Boolean) { fun getLoginToken(isOpenDialog: Boolean) {
mPhoneNumberAuthHelper?.let { mPhoneNumberAuthHelper?.let {
// 打开页面 // 打开页面
if (isOpenDialog) { if (isOpenDialog) {
...@@ -277,6 +295,8 @@ class OneKeyLoginHelp { ...@@ -277,6 +295,8 @@ class OneKeyLoginHelp {
} }
override fun onTokenFailed(s: String) { override fun onTokenFailed(s: String) {
LogUtil.e(s)
isGetTokenSuccess=false
val tokenRet = TokenRet.fromJson(s) val tokenRet = TokenRet.fromJson(s)
when (tokenRet.code) { when (tokenRet.code) {
ResultCode.CODE_ERROR_USER_CANCEL -> { // 用户主动取消一键登录 ResultCode.CODE_ERROR_USER_CANCEL -> { // 用户主动取消一键登录
...@@ -284,6 +304,7 @@ class OneKeyLoginHelp { ...@@ -284,6 +304,7 @@ class OneKeyLoginHelp {
} }
else -> { // 其它失败原因 else -> { // 其它失败原因
// 跳转到原生登录界面 // 跳转到原生登录界面
toLoginActivity()
} }
} }
mPhoneNumberAuthHelper?.setAuthListener(null) mPhoneNumberAuthHelper?.setAuthListener(null)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment