[未登录就可以获取支持的业务模式]
This commit is contained in:
yangyakun
2024-04-12 10:58:29 +08:00
parent 2080efee38
commit ec51fa540c
6 changed files with 24 additions and 12 deletions

View File

@@ -79,8 +79,8 @@ class LoginProvider : LoginService {
LoginStatusDefaultModel.logout(mLatitude, mLongitude)
}
override fun checkBusiness(data: LoginInfo): Boolean {
val businessEnum = BusinessEnum.valueOf(data.businessType)
override fun checkBusiness(businessType: Int): Boolean {
val businessEnum = BusinessEnum.valueOf(businessType)
FunctionBuildConfig.supportBusiness.forEach {
when (it) {
"shuttle" -> {

View File

@@ -54,17 +54,18 @@ public abstract class LoginStatusModel {
@Override
public void onSuccess(DriverStatusQueryRespBean data) {
if (null != data && 0 == data.code) {
// 业务不支持
if (!LoginStatusManager.checkBusiness(data.data)) {
// 后台已登录 去退出登录
if (LoginStatusEnum.valueOf(data.data.driverStatus)==LoginStatusEnum.Login) {
// 不用登录也可以获得支持的业务模式
LoginStatusManager.setBusinessType(data.data.businessType);
// 后台已登录
if (LoginStatusEnum.valueOf(data.data.driverStatus)==LoginStatusEnum.Login) {
// 业务不支持 去退出登录
if (!LoginStatusManager.checkBusiness(data.data.businessType)) {
double mLatitude = CallerChassisLocationGCJ02ListenerManager.INSTANCE.getChassisLocationGCJ02().getLatitude();
double mLongitude =CallerChassisLocationGCJ02ListenerManager.INSTANCE.getChassisLocationGCJ02().getLongitude();
LoginStatusManager.loginOut(mLatitude,mLongitude);
return;
}
}
LoginStatusManager.setBusinessType(data.data.businessType);
LoginStatusManager.setLoginStatus(data.data.driverStatus);
LoginStatusManager.setLoginInfo(data.data);
CallerLogger.d(M_TAXI + TAG, "登录信息:" + data);

View File

@@ -10,6 +10,8 @@ import com.mogo.och.biz.R
import com.mogo.och.biz.login.callback.ITaxiLoginCallback
import com.mogo.och.biz.login.ui.LoginFragment
import com.mogo.och.biz.login.model.LoginModel
import com.mogo.och.biz.login.model.LoginStatusDefaultModel
import com.mogo.och.common.module.biz.login.LoginStatusManager
import com.mogo.och.common.module.wigets.toast.ToastCharterUtils
import io.reactivex.Observable
import io.reactivex.android.schedulers.AndroidSchedulers
@@ -100,6 +102,11 @@ class LoginPresenter(view: LoginFragment?) : Presenter<LoginFragment?>(view), IT
ToastCharterUtils.showToastShort(R.string.module_och_taxi_login_code_error)
return
}
if(!LoginStatusManager.checkBusiness(LoginStatusManager.getBusInessType().code)){
mView?.showErrorInfo("不支持的类型")
LoginStatusDefaultModel.queryCarStatus()
return
}
mView?.closeSoftInput()
LoginModel.gotoLogin(phone,code)
}

View File

@@ -44,10 +44,14 @@ class ErrorInfoViewModel : ViewModel() {
}, {
CallerLogger.d(SceneConstant.M_TAXI_P + TAG, "倒计时onError:${it}")
it.printStackTrace()
viewCallback?.setCountDownText(AbsMogoApplication.getApp().getString(R.string.module_och_taxi_login_get_code),true)
RxUtils.createSubscribe(1_000) {
viewCallback?.setCountDownText(AbsMogoApplication.getApp().getString(R.string.module_och_taxi_login_get_code),true)
}
}, {
CallerLogger.d(SceneConstant.M_TAXI_P + TAG, "倒计时onComplete")
viewCallback?.setCountDownText(AbsMogoApplication.getApp().getString(R.string.module_och_taxi_login_get_code),true)
RxUtils.createSubscribe(1_000) {
viewCallback?.setCountDownText(AbsMogoApplication.getApp().getString(R.string.module_och_taxi_login_get_code),true)
}
})
}

View File

@@ -22,6 +22,6 @@ interface LoginService :CommonService {
* 登出
*/
fun loginOut(mLatitude:Double,mLongitude:Double)
fun checkBusiness(data: LoginInfo): Boolean
fun checkBusiness(businessType: Int): Boolean
}

View File

@@ -97,9 +97,9 @@ object LoginStatusManager : CallerBase<ILoginCallback>() {
}
@JvmStatic
fun checkBusiness(data: LoginInfo):Boolean {
fun checkBusiness(businessType: Int):Boolean {
loginService?.let {
return it.checkBusiness(data)
return it.checkBusiness(businessType)
}
return false
}