Commit fe1d4dad by 刘鹏

1.user-api加入loginByOneKeyLogin方法,用于优先调用一键登录

2.user模块OneKeyLoginHelp,加入一键登录全屏OR dialog展示方法
parent 5034c93d
...@@ -97,7 +97,7 @@ class MainActivity : BaseLceActivity<DemoContract.View, DemoContract.Presenter>( ...@@ -97,7 +97,7 @@ class MainActivity : BaseLceActivity<DemoContract.View, DemoContract.Presenter>(
// .withBoolean("bind_phone", false) // .withBoolean("bind_phone", false)
// .withBoolean("isFromGuide", true) // .withBoolean("isFromGuide", true)
// .navigation() // .navigation()
OneKeyLoginHelp.getLoginToken(false) OneKeyLoginHelp.startLogin(this,false)
} }
bt_to_consultant.setOnClickListener { bt_to_consultant.setOnClickListener {
// ARouter.getInstance() // ARouter.getInstance()
......
...@@ -8,8 +8,8 @@ ext { ...@@ -8,8 +8,8 @@ ext {
"m-confide" : "0.0.48.91", "m-confide" : "0.0.48.91",
"m-consultant" : "0.0.59.64", "m-consultant" : "0.0.59.64",
"m-fm" : "0.0.30.00", "m-fm" : "0.0.30.00",
"m-user" : "0.0.60.87", "m-user" : "0.0.60.91",
"m-home" : "0.0.22.51", "m-home" : "0.0.22.52",
"m-im" : "0.0.18.33", "m-im" : "0.0.18.33",
"m-dynamic" : "0.0.7.13", "m-dynamic" : "0.0.7.13",
"m-article" : "0.0.0.6", "m-article" : "0.0.0.6",
...@@ -26,7 +26,7 @@ ext { ...@@ -26,7 +26,7 @@ ext {
"m-fm-api" : "0.0.3", "m-fm-api" : "0.0.3",
"m-muse-api" : "0.0.1", "m-muse-api" : "0.0.1",
"m-tests-api" : "0.0.2", "m-tests-api" : "0.0.2",
"m-user-api" : "0.0.10.15", "m-user-api" : "0.0.10.16",
"m-home-api" : "0.0.4.1", "m-home-api" : "0.0.4.1",
"m-im-api" : "0.0.12.21", "m-im-api" : "0.0.12.21",
"m-dynamic-api" : "0.0.3.7", "m-dynamic-api" : "0.0.3.7",
...@@ -91,8 +91,8 @@ ext { ...@@ -91,8 +91,8 @@ ext {
"m-confide" : "0.0.48.91", "m-confide" : "0.0.48.91",
"m-consultant" : "0.0.59.44", "m-consultant" : "0.0.59.44",
"m-fm" : "0.0.23.5", "m-fm" : "0.0.23.5",
"m-user" : "0.0.60.86", "m-user" : "0.0.60.90",
"m-home" : "0.0.22.51", "m-home" : "0.0.22.52",
"m-im" : "0.0.3.15", "m-im" : "0.0.3.15",
"m-dynamic" : "0.0.1.7", "m-dynamic" : "0.0.1.7",
...@@ -107,7 +107,7 @@ ext { ...@@ -107,7 +107,7 @@ ext {
"m-fm-api" : "0.0.3", "m-fm-api" : "0.0.3",
"m-muse-api" : "0.0.1", "m-muse-api" : "0.0.1",
"m-tests-api" : "0.0.2", "m-tests-api" : "0.0.2",
"m-user-api" : "0.0.10.15", "m-user-api" : "0.0.10.16",
"m-home-api" : "0.0.4.1", "m-home-api" : "0.0.4.1",
"m-im-api" : "0.0.12.21", "m-im-api" : "0.0.12.21",
"m-dynamic-api" : "0.0.3.7", "m-dynamic-api" : "0.0.3.7",
......
...@@ -356,34 +356,13 @@ public class MineFragment extends BaseFragment implements SwipeRefreshLayout.OnR ...@@ -356,34 +356,13 @@ public class MineFragment extends BaseFragment implements SwipeRefreshLayout.OnR
} }
} }
/**
* 请求获取设备权限并跳转到登录
*/
@SuppressLint("CheckResult")
private void startLogin() {
new RxPermissions(getActivity())
.request(Manifest.permission.READ_PHONE_STATE)
.subscribe(permission -> {
if (OneKeyLoginHelp.INSTANCE.getMIsOpenOneKeyLogin()) {
OneKeyLoginHelp.INSTANCE.getLoginToken(true);
} else {
RegisterAndLoginActivity.Companion.start(getActivity());
}
});
}
@Override @Override
public void onClick(View v) { public void onClick(View v) {
int id = v.getId();//切换环境逻辑按钮 int id = v.getId();//切换环境逻辑按钮
if (id == R.id.text_userName || id == R.id.cv_duration) { if (id == R.id.text_userName || id == R.id.cv_duration) {
if (!UserHelper.INSTANCE.isLogin()) { OneKeyLoginHelp.INSTANCE.startLoginByStatus(getActivity(),true);
startLogin();
}
} else if (id == R.id.iv_edit_info) {//修改资料 } else if (id == R.id.iv_edit_info) {//修改资料
if (!UserHelper.INSTANCE.isLogin()) { if (!OneKeyLoginHelp.INSTANCE.startLoginByStatus(getActivity(),true)) {
startLogin();
return; return;
} }
if (userInfoData != null) { if (userInfoData != null) {
...@@ -394,8 +373,7 @@ public class MineFragment extends BaseFragment implements SwipeRefreshLayout.OnR ...@@ -394,8 +373,7 @@ public class MineFragment extends BaseFragment implements SwipeRefreshLayout.OnR
if (Utils.isFastClick()) { if (Utils.isFastClick()) {
return; return;
} }
if (!UserHelper.INSTANCE.isLogin()) { if (!OneKeyLoginHelp.INSTANCE.startLoginByStatus(getActivity(),true)) {
startLogin();
return; return;
} }
if (userInfoData != null) { if (userInfoData != null) {
...@@ -403,37 +381,32 @@ public class MineFragment extends BaseFragment implements SwipeRefreshLayout.OnR ...@@ -403,37 +381,32 @@ public class MineFragment extends BaseFragment implements SwipeRefreshLayout.OnR
startActivity(intentuser); startActivity(intentuser);
} }
} else if (id == R.id.ll_account) {//账户余额 } else if (id == R.id.ll_account) {//账户余额
if (!UserHelper.INSTANCE.isLogin()) { if (!OneKeyLoginHelp.INSTANCE.startLoginByStatus(getActivity(),true)) {
startLogin();
return; return;
} }
startActivity(new Intent(getActivity(), AccountHistoryActivity.class)); startActivity(new Intent(getActivity(), AccountHistoryActivity.class));
} else if (id == R.id.ll_red_packet) {//我的红包 } else if (id == R.id.ll_red_packet) {//我的红包
if (!UserHelper.INSTANCE.isLogin()) { if (!OneKeyLoginHelp.INSTANCE.startLoginByStatus(getActivity(),true)) {
startLogin();
return; return;
} }
clearCouponStatus(); clearCouponStatus();
ModularServiceManager.INSTANCE.provide(IAppService.class).myRedPockIntent(getActivity()); ModularServiceManager.INSTANCE.provide(IAppService.class).myRedPockIntent(getActivity());
} else if (id == R.id.ll_fans) {//粉丝 } else if (id == R.id.ll_fans) {//粉丝
if (!UserHelper.INSTANCE.isLogin()) { if (!OneKeyLoginHelp.INSTANCE.startLoginByStatus(getActivity(),true)) {
startLogin();
return; return;
} }
H5Params h5Params = new H5Params(HttpConfig.Companion.getH5_URL() + "mine/fans-list", null); H5Params h5Params = new H5Params(HttpConfig.Companion.getH5_URL() + "mine/fans-list", null);
NewH5Activity.start(getActivity(), h5Params); NewH5Activity.start(getActivity(), h5Params);
} else if (id == R.id.ll_guanzhu) {//我关注的 } else if (id == R.id.ll_guanzhu) {//我关注的
if (!UserHelper.INSTANCE.isLogin()) { if (!OneKeyLoginHelp.INSTANCE.startLoginByStatus(getActivity(),true)) {
startLogin();
return; return;
} }
H5Params h5Params1 = new H5Params(HttpConfig.Companion.getH5_URL() + "mine/follow-per", null); H5Params h5Params1 = new H5Params(HttpConfig.Companion.getH5_URL() + "mine/follow-per", null);
NewH5Activity.start(getActivity(), h5Params1); NewH5Activity.start(getActivity(), h5Params1);
} else if (id == R.id.ll_my_trends) { } else if (id == R.id.ll_my_trends) {
if (!UserHelper.INSTANCE.isLogin()) { if (!OneKeyLoginHelp.INSTANCE.startLoginByStatus(getActivity(),true)) {
startLogin();
return; return;
} }
BuryPointUtils.getInstance().createMap() BuryPointUtils.getInstance().createMap()
...@@ -446,22 +419,19 @@ public class MineFragment extends BaseFragment implements SwipeRefreshLayout.OnR ...@@ -446,22 +419,19 @@ public class MineFragment extends BaseFragment implements SwipeRefreshLayout.OnR
} }
} else if (id == R.id.jtv_account_setting) {//账号设置 } else if (id == R.id.jtv_account_setting) {//账号设置
//点击消息 未登录请先登录 //点击消息 未登录请先登录
if (!UserHelper.INSTANCE.isLogin()) { if (!OneKeyLoginHelp.INSTANCE.startLoginByStatus(getActivity(),true)) {
startLogin();
return; return;
} }
startActivity(new Intent(getActivity(), AccountSettingActivity.class)); startActivity(new Intent(getActivity(), AccountSettingActivity.class));
} else if (id == R.id.jtv_account_privacy) {// 未登录请先登录 } else if (id == R.id.jtv_account_privacy) {// 未登录请先登录
if (!UserHelper.INSTANCE.isLogin()) { if (!OneKeyLoginHelp.INSTANCE.startLoginByStatus(getActivity(),true)) {
startLogin();
return; return;
} }
UserHelper.INSTANCE.getUsetSetting().setMeSafePrivateIsClick(true); UserHelper.INSTANCE.getUsetSetting().setMeSafePrivateIsClick(true);
jtv_account_privacy.setLeftRedDotVisibility(View.GONE); jtv_account_privacy.setLeftRedDotVisibility(View.GONE);
startActivity(new Intent(getActivity(), PrivacyActivity.class)); startActivity(new Intent(getActivity(), PrivacyActivity.class));
} else if (id == R.id.ll_trade_order) {//预约 } else if (id == R.id.ll_trade_order) {//预约
if (!UserHelper.INSTANCE.isLogin()) { if (!OneKeyLoginHelp.INSTANCE.startLoginByStatus(getActivity(),true)) {
startLogin();
return; return;
} }
BuryPointUtils.getInstance().createMap() BuryPointUtils.getInstance().createMap()
...@@ -471,14 +441,12 @@ public class MineFragment extends BaseFragment implements SwipeRefreshLayout.OnR ...@@ -471,14 +441,12 @@ public class MineFragment extends BaseFragment implements SwipeRefreshLayout.OnR
h5Params3.setShowMenu(true); h5Params3.setShowMenu(true);
NewH5Activity.start(getActivity(), h5Params3); NewH5Activity.start(getActivity(), h5Params3);
} else if (id == R.id.ll_my_courses) {//我的课程 } else if (id == R.id.ll_my_courses) {//我的课程
if (!UserHelper.INSTANCE.isLogin()) { if (!OneKeyLoginHelp.INSTANCE.startLoginByStatus(getActivity(),true)) {
startLogin();
return; return;
} }
ModularServiceManager.INSTANCE.provide(ICourseService.class).startMyCourseActivity(getActivity()); ModularServiceManager.INSTANCE.provide(ICourseService.class).startMyCourseActivity(getActivity());
} else if (id == R.id.ll_call_order) {//倾诉 } else if (id == R.id.ll_call_order) {//倾诉
if (!UserHelper.INSTANCE.isLogin()) { if (!OneKeyLoginHelp.INSTANCE.startLoginByStatus(getActivity(),true)) {
startLogin();
return; return;
} }
BuryPointUtils.getInstance().createMap() BuryPointUtils.getInstance().createMap()
...@@ -501,8 +469,7 @@ public class MineFragment extends BaseFragment implements SwipeRefreshLayout.OnR ...@@ -501,8 +469,7 @@ public class MineFragment extends BaseFragment implements SwipeRefreshLayout.OnR
NewH5Activity.start(getActivity(), h5Paramzhuan); NewH5Activity.start(getActivity(), h5Paramzhuan);
} }
} else if (id == R.id.ll_my_test_log) {//测试记录 } else if (id == R.id.ll_my_test_log) {//测试记录
if (!UserHelper.INSTANCE.isLogin()) { if (!OneKeyLoginHelp.INSTANCE.startLoginByStatus(getActivity(),true)) {
startLogin();
return; return;
} }
BuryPointUtils.getInstance().createMap() BuryPointUtils.getInstance().createMap()
...@@ -518,8 +485,7 @@ public class MineFragment extends BaseFragment implements SwipeRefreshLayout.OnR ...@@ -518,8 +485,7 @@ public class MineFragment extends BaseFragment implements SwipeRefreshLayout.OnR
H5Params params1 = new H5Params("https://m.yidianling.com/about", "网站介绍"); H5Params params1 = new H5Params("https://m.yidianling.com/about", "网站介绍");
NewH5Activity.start(getActivity(), params1); NewH5Activity.start(getActivity(), params1);
} else if (id == R.id.ll_reward) { } else if (id == R.id.ll_reward) {
if (!UserHelper.INSTANCE.isLogin()) { if (!OneKeyLoginHelp.INSTANCE.startLoginByStatus(getActivity(),true)) {
startLogin();
return; return;
} }
H5Params h5Param = new H5Params(HttpConfig.Companion.getH5_URL() + "course/invite-record", null); H5Params h5Param = new H5Params(HttpConfig.Companion.getH5_URL() + "course/invite-record", null);
......
...@@ -14,7 +14,10 @@ import com.ydl.ydlcommon.data.http.ThrowableConsumer ...@@ -14,7 +14,10 @@ import com.ydl.ydlcommon.data.http.ThrowableConsumer
import com.ydl.ydlcommon.utils.ActivityManager import com.ydl.ydlcommon.utils.ActivityManager
import com.ydl.ydlcommon.utils.ApkUpdateDialog import com.ydl.ydlcommon.utils.ApkUpdateDialog
import com.yidianling.common.tools.RxAppTool import com.yidianling.common.tools.RxAppTool
import com.yidianling.user.* import com.yidianling.user.LoginHelper
import com.yidianling.user.LoginUtils
import com.yidianling.user.UserConstants
import com.yidianling.user.UserHelper
import com.yidianling.user.api.bean.UserResponseBean import com.yidianling.user.api.bean.UserResponseBean
import com.yidianling.user.api.bean.UserSettingBean import com.yidianling.user.api.bean.UserSettingBean
import com.yidianling.user.api.listener.SecretDataListener import com.yidianling.user.api.listener.SecretDataListener
...@@ -32,13 +35,13 @@ import com.yidianling.user.safePrivate.HandUnlockCheckActivity ...@@ -32,13 +35,13 @@ import com.yidianling.user.safePrivate.HandUnlockCheckActivity
import com.yidianling.user.safePrivate.PrivacyActivity import com.yidianling.user.safePrivate.PrivacyActivity
import com.yidianling.user.ui.InputPhoneActivity import com.yidianling.user.ui.InputPhoneActivity
import com.yidianling.user.ui.LoginActivity import com.yidianling.user.ui.LoginActivity
import com.yidianling.user.ui.login.OneKeyLoginHelp
import com.yidianling.user.ui.login.RegisterAndLoginActivity import com.yidianling.user.ui.login.RegisterAndLoginActivity
import com.yidianling.user.ui.login.SecretActivity import com.yidianling.user.ui.login.SecretActivity
import com.yidianling.user.widget.utils.PrivacyDialogUtils import com.yidianling.user.widget.utils.PrivacyDialogUtils
import io.reactivex.android.schedulers.AndroidSchedulers import io.reactivex.android.schedulers.AndroidSchedulers
import io.reactivex.functions.Consumer import io.reactivex.functions.Consumer
import io.reactivex.schedulers.Schedulers import io.reactivex.schedulers.Schedulers
import java.lang.Exception
/** /**
* author : Zhangwenchao * author : Zhangwenchao
...@@ -310,4 +313,12 @@ public class UserServiceImp : IUserService { ...@@ -310,4 +313,12 @@ public class UserServiceImp : IUserService {
override fun startFromGuide(context: Context, isBindPhone: Boolean, isFromGudile: Boolean) { override fun startFromGuide(context: Context, isBindPhone: Boolean, isFromGudile: Boolean) {
RegisterAndLoginActivity.startFromGuide(context, isBindPhone, isFromGudile) RegisterAndLoginActivity.startFromGuide(context, isBindPhone, isFromGudile)
} }
/**
* 调用优先使用一键登录,并返回调用时的登录状态,
* @param isOpenDialog true:一键登录使用弹窗展示 false:一键登录使用全屏模式
* @return true:已登录,不触发登录跳转,false:未登录,优先一键登录
* */
override fun loginByOneKeyLogin(context: Context, isOpenDialog: Boolean):Boolean {
return OneKeyLoginHelp.startLoginByStatus(context,isOpenDialog)
}
} }
\ No newline at end of file
...@@ -262,21 +262,4 @@ class SmsLoginActivity : BaseActivity() { ...@@ -262,21 +262,4 @@ class SmsLoginActivity : BaseActivity() {
} }
} }
/**
* CPA(CPS)推广渠道统计
* 获取安装携带的参数
* 注:1、不要在 init 之后,紧接着调用 getInstall,防止网络等问题导致 getInstall 超时,从而获取数据失败
*/
private fun getOpenInstallKey() {
OpenInstall.getInstall(object : AppInstallAdapter() {
override fun onInstall(appData: AppData) {
// 获取渠道数据 转换值同步IOS "AppData{channel='" + this.channel + '\'' + ", data='" + this.data + '\'' + '}'
openInstallKey = appData.toString().replace("AppData","").replace("channel","channelCode")
LogUtil.e("openInstallKey-openInstallKey:"+openInstallKey)
}
})
}
} }
\ No newline at end of file
package com.yidianling.user.ui.login package com.yidianling.user.ui.login
import android.Manifest
import android.annotation.SuppressLint
import android.app.Activity
import android.content.Context
import android.content.pm.ActivityInfo import android.content.pm.ActivityInfo
import android.graphics.Color import android.graphics.Color
import android.text.TextUtils import android.text.TextUtils
...@@ -15,6 +19,7 @@ import com.fm.openinstall.model.AppData ...@@ -15,6 +19,7 @@ import com.fm.openinstall.model.AppData
import com.meituan.android.walle.WalleChannelReader import com.meituan.android.walle.WalleChannelReader
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.tbruyelle.rxpermissions2.RxPermissions
import com.ydl.ydlcommon.base.BaseActivity import com.ydl.ydlcommon.base.BaseActivity
import com.ydl.ydlcommon.base.BaseApp import com.ydl.ydlcommon.base.BaseApp
import com.ydl.ydlcommon.utils.JPushUtils import com.ydl.ydlcommon.utils.JPushUtils
...@@ -28,6 +33,7 @@ import com.yidianling.common.tools.RxImageTool ...@@ -28,6 +33,7 @@ import com.yidianling.common.tools.RxImageTool
import com.yidianling.common.tools.ToastUtil import com.yidianling.common.tools.ToastUtil
import com.yidianling.user.LoginUtils import com.yidianling.user.LoginUtils
import com.yidianling.user.StatusUtils import com.yidianling.user.StatusUtils
import com.yidianling.user.UserHelper
import com.yidianling.user.api.bean.UserResponseBean import com.yidianling.user.api.bean.UserResponseBean
import com.yidianling.user.constants.UserBIConstants import com.yidianling.user.constants.UserBIConstants
import com.yidianling.user.http.LoginApiRequestUtil import com.yidianling.user.http.LoginApiRequestUtil
...@@ -79,8 +85,11 @@ object OneKeyLoginHelp { ...@@ -79,8 +85,11 @@ object OneKeyLoginHelp {
// 控件点击事件 // 控件点击事件
it.setUIClickListener { code, context, json -> it.setUIClickListener { code, context, json ->
if (code=="700002"){ // 表示一键登录按钮点击事件 if (code == "700002") { // 表示一键登录按钮点击事件
ActionCountUtils.countUid(UserBIConstants.PART_ID_LOGIN_MAIN,UserBIConstants.ACTION_TYPE_ONE_KEY_CLICK) ActionCountUtils.countUid(
UserBIConstants.PART_ID_LOGIN_MAIN,
UserBIConstants.ACTION_TYPE_ONE_KEY_CLICK
)
} }
} }
} }
...@@ -88,7 +97,7 @@ object OneKeyLoginHelp { ...@@ -88,7 +97,7 @@ object OneKeyLoginHelp {
val channel = WalleChannelReader.getChannel(activity.applicationContext) val channel = WalleChannelReader.getChannel(activity.applicationContext)
checkBoxHidden = !(channel == "huawei" || channel == "vivo") checkBoxHidden = !(channel == "huawei" || channel == "vivo")
LogUtil.e("checkBoxHidde:$checkBoxHidden") LogUtil.e("checkBoxHidde:$checkBoxHidden")
if (!checkBoxHidden){ if (!checkBoxHidden) {
mPrivacyBeforeText = "同意" mPrivacyBeforeText = "同意"
} }
getOpenInstallKey() getOpenInstallKey()
...@@ -119,26 +128,27 @@ object OneKeyLoginHelp { ...@@ -119,26 +128,27 @@ object OneKeyLoginHelp {
* 打开登录界面 * 打开登录界面
* *
*/ */
fun toLoginActivity() { private fun toLoginActivity() {
if (mOpenPageIsSuccess){ if (mOpenPageIsSuccess) {
RegisterAndLoginActivity.start(mActivity, isFromOneKey = true, isFromGuide = false) RegisterAndLoginActivity.start(mActivity, isFromOneKey = true, isFromGuide = false)
}else{ } else {
RegisterAndLoginActivity.start(mActivity, false, mIsFromGuide) RegisterAndLoginActivity.start(mActivity, false, mIsFromGuide)
} }
} }
/** /**
* 根据是否开启一键登录开关,跳转对应的登录页面 * 根据是否开启一键登录开关,跳转对应的登录页面
* * 请使用新的方法 [startLogin]
*/ */
fun toLoginActivity(isOpenDialog:Boolean){ @Deprecated("mActivity有销毁的可能")
if (mIsOpenOneKeyLogin){ fun toLoginActivity(isOpenDialog: Boolean) {
if (mIsOpenOneKeyLogin) {
getLoginToken(isOpenDialog) getLoginToken(isOpenDialog)
}else{ } else {
// 一键登录页面打开成功 // 一键登录页面打开成功
if (mOpenPageIsSuccess){ if (mOpenPageIsSuccess) {
RegisterAndLoginActivity.start(mActivity) RegisterAndLoginActivity.start(mActivity)
}else{ } else {
RegisterAndLoginActivity.start(mActivity, isFromOneKey = false, isFromGuide = true) RegisterAndLoginActivity.start(mActivity, isFromOneKey = false, isFromGuide = true)
} }
} }
...@@ -147,7 +157,7 @@ object OneKeyLoginHelp { ...@@ -147,7 +157,7 @@ object OneKeyLoginHelp {
/** /**
* 退出一键登录界面 * 退出一键登录界面
*/ */
fun quitLoginPage(){ fun quitLoginPage() {
mPhoneNumberAuthHelper?.quitLoginPage() mPhoneNumberAuthHelper?.quitLoginPage()
} }
...@@ -168,6 +178,8 @@ object OneKeyLoginHelp { ...@@ -168,6 +178,8 @@ object OneKeyLoginHelp {
* 拉起一键登录界面 * 拉起一键登录界面
* *
* @param isOpenDialog 是否是弹窗 * @param isOpenDialog 是否是弹窗
*
* 注:不建议直接调用,mActivity有销毁风险,请调用[startLogin]或者[startLoginByStatus]
*/ */
fun getLoginToken(isOpenDialog: Boolean) { fun getLoginToken(isOpenDialog: Boolean) {
mOpenPageIsSuccess = false mOpenPageIsSuccess = false
...@@ -229,8 +241,16 @@ object OneKeyLoginHelp { ...@@ -229,8 +241,16 @@ object OneKeyLoginHelp {
) )
// 自定义切换号码按钮 // 自定义切换号码按钮
val switchLogin = TextView(mActivity) val switchLogin = TextView(mActivity)
val switchLoginLayoutParams = RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.MATCH_PARENT, RelativeLayout.LayoutParams.WRAP_CONTENT) val switchLoginLayoutParams = RelativeLayout.LayoutParams(
switchLoginLayoutParams.setMargins(RxImageTool.dp2px(40f), RxImageTool.dp2px(370f), RxImageTool.dp2px(40f), RxImageTool.dp2px(68f)) RelativeLayout.LayoutParams.MATCH_PARENT,
RelativeLayout.LayoutParams.WRAP_CONTENT
)
switchLoginLayoutParams.setMargins(
RxImageTool.dp2px(40f),
RxImageTool.dp2px(370f),
RxImageTool.dp2px(40f),
RxImageTool.dp2px(68f)
)
switchLogin.text = "切换号码" switchLogin.text = "切换号码"
switchLogin.setTextColor(Color.parseColor("#999999")) switchLogin.setTextColor(Color.parseColor("#999999"))
switchLogin.setTextSize(TypedValue.COMPLEX_UNIT_SP, 15f) switchLogin.setTextSize(TypedValue.COMPLEX_UNIT_SP, 15f)
...@@ -390,12 +410,19 @@ object OneKeyLoginHelp { ...@@ -390,12 +410,19 @@ object OneKeyLoginHelp {
ResultCode.CODE_START_AUTHPAGE_SUCCESS -> { // 唤起一键登录页面成功 ResultCode.CODE_START_AUTHPAGE_SUCCESS -> { // 唤起一键登录页面成功
LogUtil.e("唤起授权页成功:$s") LogUtil.e("唤起授权页成功:$s")
mOpenPageIsSuccess = true mOpenPageIsSuccess = true
if (mIsFromGuide){ if (mIsFromGuide) {
mActivity.finish() mActivity.finish()
} }
} }
ResultCode.CODE_SUCCESS -> { // 获取token成功 ResultCode.CODE_SUCCESS -> { // 获取token成功
val param = PhoneLoginAutoParam(tokenRet.token, JPushUtils.getRegistrationID(),2,2,"", RxAppTool.getAppVersionName(BaseApp.Companion.getApp())) val param = PhoneLoginAutoParam(
tokenRet.token,
JPushUtils.getRegistrationID(),
2,
2,
"",
RxAppTool.getAppVersionName(BaseApp.Companion.getApp())
)
LoginApiRequestUtil.autoLogin(param) LoginApiRequestUtil.autoLogin(param)
.subscribeOn(Schedulers.io()) .subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread()) .observeOn(AndroidSchedulers.mainThread())
...@@ -416,9 +443,13 @@ object OneKeyLoginHelp { ...@@ -416,9 +443,13 @@ object OneKeyLoginHelp {
openInstallKey openInstallKey
) )
} else { } else {
ActionCountUtils.countUid(UserBIConstants.POSITION_LOGIN_SUCCESS_CLICK,it.data.uid!!,UserBIConstants.ACTION_TYPE_ONE_KEY_CLICK) ActionCountUtils.countUid(
UserBIConstants.POSITION_LOGIN_SUCCESS_CLICK,
it.data.uid!!,
UserBIConstants.ACTION_TYPE_ONE_KEY_CLICK
)
} }
mPhoneNumberAuthHelper?.let { helper-> mPhoneNumberAuthHelper?.let { helper ->
helper.hideLoginLoading() helper.hideLoginLoading()
helper.quitLoginPage() helper.quitLoginPage()
helper.setAuthListener(null) helper.setAuthListener(null)
...@@ -427,7 +458,7 @@ object OneKeyLoginHelp { ...@@ -427,7 +458,7 @@ object OneKeyLoginHelp {
if (mIsFromGuide) { if (mIsFromGuide) {
LoginUtils.loginSuccessOperate(mActivity) LoginUtils.loginSuccessOperate(mActivity)
} }
}else{ } else {
ToastUtil.toastShort(it.msg) ToastUtil.toastShort(it.msg)
mPhoneNumberAuthHelper?.hideLoginLoading() mPhoneNumberAuthHelper?.hideLoginLoading()
} }
...@@ -506,6 +537,7 @@ object OneKeyLoginHelp { ...@@ -506,6 +537,7 @@ object OneKeyLoginHelp {
LogHelper.getInstance().writeLogSync("登录成功") LogHelper.getInstance().writeLogSync("登录成功")
LoginUtils.onLogin(userResponse) LoginUtils.onLogin(userResponse)
} }
/** /**
* CPA(CPS)推广渠道统计 * CPA(CPS)推广渠道统计
* 获取安装携带的参数 * 获取安装携带的参数
...@@ -515,8 +547,52 @@ object OneKeyLoginHelp { ...@@ -515,8 +547,52 @@ object OneKeyLoginHelp {
OpenInstall.getInstall(object : AppInstallAdapter() { OpenInstall.getInstall(object : AppInstallAdapter() {
override fun onInstall(appData: AppData) { override fun onInstall(appData: AppData) {
// 获取渠道数据 转换值同步IOS "AppData{channel='" + this.channel + '\'' + ", data='" + this.data + '\'' + '}' // 获取渠道数据 转换值同步IOS "AppData{channel='" + this.channel + '\'' + ", data='" + this.data + '\'' + '}'
openInstallKey = appData.toString().replace("AppData","").replace("channel","channelCode") openInstallKey =
appData.toString().replace("AppData", "").replace("channel", "channelCode")
} }
}) })
} }
/**
* @param isOpenDialog true: 使用弹窗展示一键登录
* false: 使用全页面展示一键登录
* @return true:登录。false:未登录
* */
fun startLoginByStatus(context: Context, isOpenDialog: Boolean): Boolean {
if (!UserHelper.isLogin()) {
if (this::mActivity.isInitialized) {
//如果mActivity有初始化,代表项目使用了一键登录
startLogin(context as Activity, isOpenDialog)
} else {
//如果mActivity未初始化,使用正常登录
RegisterAndLoginActivity.start(context)
}
}
return UserHelper.isLogin()
}
/**
* @param isOpenDialog true 使用弹窗
* */
@SuppressLint("CheckResult")
fun startLogin(context: Activity, isOpenDialog: Boolean) {
RxPermissions(context)
.request(Manifest.permission.READ_PHONE_STATE)
.subscribe { hasPermission: Boolean? ->
if (hasPermission == true && mIsOpenOneKeyLogin) {
getLoginToken(isOpenDialog)
} else {
// 一键登录页面打开成功
if (mOpenPageIsSuccess) {
RegisterAndLoginActivity.start(context)
} else {
RegisterAndLoginActivity.start(
context,
isFromOneKey = false,
isFromGuide = true
)
}
}
}
}
} }
...@@ -107,4 +107,11 @@ interface IUserService : IProvider { ...@@ -107,4 +107,11 @@ interface IUserService : IProvider {
fun getSecretDataApi(activity: Activity, listener: SecretDataListener) fun getSecretDataApi(activity: Activity, listener: SecretDataListener)
fun startFromGuide(context: Context, isBindPhone: Boolean, isFromGudile: Boolean) fun startFromGuide(context: Context, isBindPhone: Boolean, isFromGudile: Boolean)
/**
* 调用优先使用一键登录,并返回调用时的登录状态,
* @param isOpenDialog true:一键登录使用弹窗展示 false:一键登录使用全屏模式
* @return true:已登录,不触发登录跳转,false:未登录,优先一键登录
* */
fun loginByOneKeyLogin(context: Context, isOpenDialog: Boolean) :Boolean
} }
\ No newline at end of file
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