[fea]
[offline 支持]
This commit is contained in:
yangyakun
2025-02-05 18:30:56 +08:00
parent c021dda503
commit f3096209a6
6 changed files with 27 additions and 4 deletions

View File

@@ -52,6 +52,7 @@ class LoginProvider : LoginService {
if (LoginServiceManager.checkAllEnv(it.project,it.env)) {
d(tag,"从司机屏获取账号信息:${it}")
val driverLoginInfo = GsonUtils.fromJson(it.loginInfo, LoginInfo::class.java)
FunctionBuildConfig.isOffLine = it.isOffline
LoginServiceManager.setLoginInfo(driverLoginInfo)
}
}

View File

@@ -193,6 +193,10 @@ object LoginServiceManager {
fun loginOut() {
d(tag, "loginOut ")
FunctionBuildConfig.ochdebug = false
if(FunctionBuildConfig.isOffLine) {
FunctionBuildConfig.isOffLine = false
sendLogin2Client(1)
}
LoginModel.logout()
}
@@ -338,7 +342,12 @@ object LoginServiceManager {
fun setLoginStatusType(loginStatus: EnumLoginStatus) {
d(tag, "setLoginStatus:${this.loginStatus}---->${loginStatus}")
this.loginStatus = loginStatus
if(FunctionBuildConfig.isOffLine){
this.loginStatus = EnumLoginStatus.Login
sendLogin2Client(1)
}else{
this.loginStatus = loginStatus
}
}
@@ -481,7 +490,7 @@ object LoginServiceManager {
}
}else{
val toJson = GsonUtils.toJson(loginInfo)
val msg = LoginInfo2Client(toJson,ProjectUtils.getProjectType(),EnvUtils.getEnvType())
val msg = LoginInfo2Client(toJson,ProjectUtils.getProjectType(),EnvUtils.getEnvType(),FunctionBuildConfig.isOffLine)
LanSocketManager.sendMsgToClient(msg)
}

View File

@@ -283,7 +283,12 @@ object LoginModel {
}
fun gotoOfflineMode() {
FunctionBuildConfig.isOffLine = true
var loginInfo = LoginServiceManager.getLoginInfo()
if(loginInfo==null){
loginInfo = LoginInfo()
}
LoginServiceManager.setLoginInfo(loginInfo)
}
}

View File

@@ -138,6 +138,7 @@ data class LoginInfo2Client(
val loginInfo: String,
val project: Project,
val env: Env,
val isOffline:Boolean
) : BaseDPMsg(DPMsgType.TYPE_LOGIN_INFO.type,targetScreenTypes = mutableListOf(ScreenType.Passenger))
// 车辆类型

View File

@@ -108,6 +108,13 @@ abstract class FacadeProvider : IMoGoFunctionProvider, ILoginCallback {
OchChainLogManager.writeChainLog("音量设置后","最大声音量:${maxVolume}------当前音量:${volumeafter}----目的音量:${tartgetVolume}")
}
}
if (FunctionBuildConfig.isOffLine) {
if (AppIdentityModeUtils.isDriver(FunctionBuildConfig.appIdentityMode)) {
return getFragmentByServeName(OchCommonConst.OFFLINE_DRIVER)
} else if (AppIdentityModeUtils.isPassenger(FunctionBuildConfig.appIdentityMode)) {
return getFragmentByServeName(OchCommonConst.SHUTTLE_PASSENGER_WEAKNET)
}
}
if (AppIdentityModeUtils.isBus(FunctionBuildConfig.appIdentityMode)
||AppIdentityModeUtils.isShuttle(FunctionBuildConfig.appIdentityMode)
||AppIdentityModeUtils.isScheduled(FunctionBuildConfig.appIdentityMode)) {

View File

@@ -75,7 +75,7 @@ class SwitchBizView: WindowRelativeLayout, SwtichBizModel.SwtichLineViewCallback
CallerLogger.d(TAG,"开始展示 lading 时间:${startLoading}")
loading_biz.visibility = VISIBLE
swtichLine.visibility = GONE
queryTimeout = RxUtils.createSubscribe(10_1000) {
queryTimeout = RxUtils.createSubscribe(10_000) {
OchChainLogManager.writeChainLog("Loading超时","loading 展示了10s")
CallerLogger.d(TAG,"Loading超时loading 展示了10s")
viewModel?.queryRuningTask()