Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
Y
YDL-Component-Medical
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
杨凯
YDL-Component-Medical
Commits
baf269ab
Commit
baf269ab
authored
Jan 04, 2021
by
YKai
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
feat:一键登录获取token失败跳转登录界面优化
parent
b0b46b76
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
50 additions
and
18 deletions
+50
-18
MainActivity.kt
app/src/main/java/com/ydl/component/MainActivity.kt
+18
-7
OneKeyLoginHelp.kt
m-user/src/main/java/com/yidianling/user/ui/login/OneKeyLoginHelp.kt
+32
-11
No files found.
app/src/main/java/com/ydl/component/MainActivity.kt
View file @
baf269ab
...
...
@@ -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
))
}
}
...
...
m-user/src/main/java/com/yidianling/user/ui/login/OneKeyLoginHelp.kt
View file @
baf269ab
...
...
@@ -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
)
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment