[6.7.0]
[fea] [当天弱网不用等待网络信息直接进入主页面]
This commit is contained in:
@@ -9,12 +9,10 @@ import com.mogo.commons.module.intent.IntentManager
|
||||
import com.mogo.commons.storage.SharedPrefsMgr
|
||||
import com.mogo.eagle.core.data.BaseData
|
||||
import com.mogo.eagle.core.data.config.FunctionBuildConfig
|
||||
import com.mogo.eagle.core.function.call.autopilot.CallerChassisLocationGCJ02ListenerManager
|
||||
import com.mogo.eagle.core.function.call.autopilot.CallerChassisLocationGCJ02ListenerManager.getChassisLocationGCJ02
|
||||
import com.mogo.eagle.core.function.call.och.CallerEagleBaseFunctionCall4OchManager
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger.d
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant
|
||||
import com.mogo.eagle.core.utilcode.util.DateTimeUtils
|
||||
import com.mogo.eagle.core.utilcode.util.GsonUtils
|
||||
import com.mogo.eagle.core.utilcode.util.NetworkUtils
|
||||
import com.mogo.och.biz.R
|
||||
@@ -24,12 +22,13 @@ import com.mogo.och.biz.login.bean.TaxiLoginRespBean
|
||||
import com.mogo.och.biz.login.bean.TaxiLogoutReqBean
|
||||
import com.mogo.och.biz.login.callback.ITaxiLoginCallback
|
||||
import com.mogo.och.biz.login.net.OchCommonServiceManager
|
||||
import com.mogo.och.biz.login.net.OchCommonServiceManager.queryDriverServiceStatus
|
||||
import com.mogo.och.common.module.biz.login.BusinessEnum
|
||||
import com.mogo.och.common.module.biz.login.LoginInfo
|
||||
import com.mogo.och.common.module.biz.login.LoginStatusEnum
|
||||
import com.mogo.och.common.module.biz.login.LoginStatusEnum.Companion.valueOf
|
||||
import com.mogo.och.common.module.biz.login.LoginStatusManager
|
||||
import com.mogo.och.common.module.manager.autopilot.location.OchLocationManager
|
||||
import com.mogo.och.common.module.manager.cache.OchSPManager
|
||||
import com.mogo.och.common.module.manager.socket.lan.bean.BusCacheKey
|
||||
import com.mogo.och.common.module.manager.socket.lan.bean.LoginCacheStatus
|
||||
import com.mogo.och.common.module.network.OchCommonServiceCallback
|
||||
@@ -55,6 +54,8 @@ object LoginModel {
|
||||
var iTaxiLoginCallback: ITaxiLoginCallback? = null
|
||||
private var subscribe: Disposable? = null
|
||||
|
||||
private val loginInfoKey = "LOGININFOKEY"
|
||||
|
||||
private val mNetWorkIntentListener = IMogoIntentListener { intentStr, _ ->
|
||||
d(TAG, "onIntentReceived = %s", intentStr)
|
||||
if (ConnectivityManager.CONNECTIVITY_ACTION == intentStr) {
|
||||
@@ -171,33 +172,18 @@ object LoginModel {
|
||||
*/
|
||||
fun queryCarStatus() {
|
||||
mContext?.let {
|
||||
queryDriverServiceStatus(it, object : OchCommonServiceCallback<DriverStatusQueryRespBean> {
|
||||
val logingInfoJson = OchSPManager.getString(loginInfoKey)
|
||||
val timeText = DateTimeUtils.getTimeText(DateTimeUtils.yyyy_MM_dd)
|
||||
logingInfoJson?.let {logininfo->
|
||||
if(logininfo.startsWith(timeText)){
|
||||
val json = logingInfoJson.replace(timeText,"" )
|
||||
val oldLoginInfo = GsonUtils.fromJson(json, DriverStatusQueryRespBean::class.java)
|
||||
go2LoginInfo(oldLoginInfo)
|
||||
}
|
||||
}
|
||||
OchCommonServiceManager.queryDriverServiceStatus(it, object : OchCommonServiceCallback<DriverStatusQueryRespBean> {
|
||||
override fun onSuccess(data: DriverStatusQueryRespBean?) {
|
||||
data?.let {
|
||||
LoginStatusManager.setLoginInfo(data.data)
|
||||
}
|
||||
if(FunctionBuildConfig.ochdebug){
|
||||
return
|
||||
}
|
||||
if (null != data && 0 == data.code) {
|
||||
// 不用登录也可以获得支持的业务模式
|
||||
LoginStatusManager.setBusinessType(data.data.businessType)
|
||||
iTaxiLoginCallback?.searchStatusSuccess()
|
||||
// 后台已登录
|
||||
if(!FunctionBuildConfig.isOffLine){
|
||||
if (valueOf(data.data.driverStatus) == LoginStatusEnum.Login) {
|
||||
// 业务不支持 去退出登录
|
||||
if (!LoginStatusManager.checkBusiness(data.data.businessType)) {
|
||||
LoginStatusManager.loginOut()
|
||||
return
|
||||
}
|
||||
}
|
||||
LoginStatusManager.setLoginStatus(data.data.driverStatus)
|
||||
}
|
||||
LoginStatusManager.setOpenOrderType(data.data.servingStatus)
|
||||
d(SceneConstant.M_TAXI + TAG, "登录信息:$data")
|
||||
loginSuccess(data)
|
||||
}
|
||||
go2LoginInfo(data)
|
||||
}
|
||||
|
||||
override fun onError() {
|
||||
@@ -226,6 +212,37 @@ object LoginModel {
|
||||
}
|
||||
}
|
||||
|
||||
private fun go2LoginInfo(data: DriverStatusQueryRespBean?) {
|
||||
data?.let {
|
||||
LoginStatusManager.setLoginInfo(data.data)
|
||||
}
|
||||
if (FunctionBuildConfig.ochdebug) {
|
||||
return
|
||||
}
|
||||
if (null != data && 0 == data.code) {
|
||||
// 不用登录也可以获得支持的业务模式
|
||||
LoginStatusManager.setBusinessType(data.data.businessType)
|
||||
iTaxiLoginCallback?.searchStatusSuccess()
|
||||
// 后台已登录
|
||||
if (!FunctionBuildConfig.isOffLine) {
|
||||
if (valueOf(data.data.driverStatus) == LoginStatusEnum.Login) {
|
||||
// 业务不支持 去退出登录
|
||||
if (!LoginStatusManager.checkBusiness(data.data.businessType)) {
|
||||
LoginStatusManager.loginOut()
|
||||
return
|
||||
}
|
||||
}
|
||||
LoginStatusManager.setLoginStatus(data.data.driverStatus)
|
||||
}
|
||||
val timeText = DateTimeUtils.getTimeText(DateTimeUtils.yyyy_MM_dd)
|
||||
val loginInfo4Json = GsonUtils.toJson(data)
|
||||
OchSPManager.putString(loginInfoKey,timeText+loginInfo4Json)
|
||||
LoginStatusManager.setOpenOrderType(data.data.servingStatus)
|
||||
d(SceneConstant.M_TAXI + TAG, "登录信息:$data")
|
||||
loginSuccess(data)
|
||||
}
|
||||
}
|
||||
|
||||
// 登出
|
||||
fun logout() {
|
||||
val location4Login = TaxiLogoutReqBean.Location4Login()
|
||||
|
||||
@@ -19,6 +19,7 @@ import com.mogo.och.common.module.network.OchCommonServiceCallback
|
||||
import com.mogo.och.common.module.network.OchCommonSubscribeImpl
|
||||
import com.mogo.och.common.module.network.interceptor.transformTry
|
||||
import com.mogo.commons.env.ProjectUtils
|
||||
import com.mogo.och.common.module.manager.cache.OchSPManager
|
||||
|
||||
object OchCommonServiceManager {
|
||||
|
||||
@@ -76,7 +77,7 @@ object OchCommonServiceManager {
|
||||
callback: OchCommonServiceCallback<TaxiLoginRespBean>?
|
||||
) {
|
||||
CallerLogger.d(TAG, "gotoLoginBycode:通过手机验证码登录:${phone}---${code}");
|
||||
val sn = SharedPrefsMgr.getInstance().sn
|
||||
val sn = OchSPManager.getSn()
|
||||
if (ProjectUtils.isMogo()) {
|
||||
ochLoginServiceMogo.gotoLoginBycode(
|
||||
MoGoAiCloudClientConfig.getInstance().serviceAppId,
|
||||
@@ -107,7 +108,7 @@ object OchCommonServiceManager {
|
||||
MoGoAiCloudClientConfig.getInstance().serviceAppId,
|
||||
SharedPrefsMgr.getInstance().token,
|
||||
TaxiLogoutReqBean(
|
||||
SharedPrefsMgr.getInstance().sn,
|
||||
OchSPManager.getSn(),
|
||||
location4Login
|
||||
)
|
||||
).transformTry().subscribe(OchCommonSubscribeImpl(context, callback, "logout"))
|
||||
@@ -116,7 +117,7 @@ object OchCommonServiceManager {
|
||||
MoGoAiCloudClientConfig.getInstance().serviceAppId,
|
||||
SharedPrefsMgr.getInstance().token,
|
||||
TaxiLogoutReqBean(
|
||||
SharedPrefsMgr.getInstance().sn,
|
||||
OchSPManager.getSn(),
|
||||
location4Login
|
||||
)
|
||||
).transformTry().subscribe(OchCommonSubscribeImpl(context, callback, "logout"))
|
||||
@@ -137,7 +138,7 @@ object OchCommonServiceManager {
|
||||
CallerLogger.d(TAG, "queryDriverServiceStatus:查询登录状态");
|
||||
val sn =
|
||||
if (AppIdentityModeUtils.isDriver(FunctionBuildConfig.appIdentityMode)) {
|
||||
SharedPrefsMgr.getInstance().sn
|
||||
OchSPManager.getSn()
|
||||
} else{
|
||||
LoginLanPassengerSocket.driverSn
|
||||
}
|
||||
|
||||
21
OCH/common/common/src/main/java/com/mogo/och/common/module/manager/cache/OchSPManager.kt
vendored
Normal file
21
OCH/common/common/src/main/java/com/mogo/och/common/module/manager/cache/OchSPManager.kt
vendored
Normal file
@@ -0,0 +1,21 @@
|
||||
package com.mogo.och.common.module.manager.cache
|
||||
|
||||
import com.mogo.commons.storage.SharedPrefsMgr
|
||||
|
||||
object OchSPManager {
|
||||
|
||||
@JvmStatic
|
||||
fun getSn(): String? {
|
||||
return SharedPrefsMgr.getInstance().sn
|
||||
}
|
||||
|
||||
fun putString(key: String, value:String ) {
|
||||
SharedPrefsMgr.getInstance().putString(key,value)
|
||||
|
||||
}
|
||||
|
||||
fun getString(key: String,default:String=""): String? {
|
||||
return SharedPrefsMgr.getInstance().getString(key,default)
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user