Commit baf269ab by YKai

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

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