[temp]
This commit is contained in:
yangyakun
2024-04-03 19:31:12 +08:00
parent 884b09b916
commit 2faec4b0a8
36 changed files with 920 additions and 920 deletions

View File

@@ -3,19 +3,16 @@ package com.mogo.och.biz.login
import android.content.Context
import androidx.fragment.app.Fragment
import com.alibaba.android.arouter.facade.annotation.Route
import com.mogo.eagle.core.data.temp.EventLogout
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger
import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant
import com.mogo.och.biz.login.model.OchCommonLoginStatusDefaultModel
import com.mogo.och.biz.login.ui.LoginFragment
import com.mogo.och.biz.login.ui.SimpleFragment
import com.mogo.och.common.module.biz.constant.OchCommonConst
import com.mogo.och.common.module.biz.login.LoginInfo
import com.mogo.och.common.module.biz.login.LoginService
import com.mogo.och.common.module.biz.login.LoginStatusManager
import com.mogo.och.common.module.biz.login.TaxiDriverRoleEnum
import com.mogo.och.common.module.biz.login.TaxiLoginStatusEnum
import org.greenrobot.eventbus.EventBus
import org.greenrobot.eventbus.Subscribe
import org.greenrobot.eventbus.ThreadMode
/**
* 网约车小巴业务实现入口
@@ -30,15 +27,19 @@ class LoginProvider : LoginService {
private var loginStatus: TaxiLoginStatusEnum = TaxiLoginStatusEnum.None
private var loginInfo: LoginInfo?=null
private val TAG = "LoginProvider"
override fun init(context: Context) {
loginFragment = Fragment()
CallerLogger.d(TAG,"init")
loginFragment = LoginFragment()
}
override fun getFragment(): Fragment {
return loginFragment
CallerLogger.d(TAG,"getFragment ${Thread.currentThread().name}")
return SimpleFragment()
}
override fun setLoginStatus(status: Int) {
CallerLogger.d(TAG,"setLoginStatus:${status}")
when (status) {
0 -> {
setLoginStatus(TaxiLoginStatusEnum.Logout)
@@ -53,37 +54,46 @@ class LoginProvider : LoginService {
}
override fun queryLoginStatusByNet() {
CallerLogger.d(TAG,"queryLoginStatusByNet")
OchCommonLoginStatusDefaultModel.queryCarStatus()
}
override fun showUiModel(show: Boolean) {
CallerLogger.d(TAG,"showUiModel${show}")
uiModel = show;
}
override fun loginOut(mLatitude: Double, mLongitude: Double) {
CallerLogger.d(TAG,"loginOut mLatitude:${mLatitude}--mLongitude:${mLongitude}")
OchCommonLoginStatusDefaultModel.logout(mLatitude, mLongitude)
}
override fun setLoginInfo(loginInfo: LoginInfo) {
CallerLogger.d(TAG,"setLoginInfo:${loginInfo}")
this.loginInfo = loginInfo
}
override fun getLoginInfo(): LoginInfo? {
CallerLogger.d(TAG,"getLoginInfo")
return loginInfo
}
override fun getPurpose(): TaxiDriverRoleEnum {
CallerLogger.d(TAG,"getPurpose")
return TaxiDriverRoleEnum.valueOf(loginInfo?.purpose)
}
override fun isLogin(): Boolean {
CallerLogger.d(TAG,"isLogin")
return loginStatus == TaxiLoginStatusEnum.Login
}
override fun getLoginStatus(): TaxiLoginStatusEnum {
CallerLogger.d(TAG,"getLoginStatus:${loginStatus}")
return loginStatus
}
override fun setLoginStatus(loginStatus: TaxiLoginStatusEnum) {
CallerLogger.d(TAG,"setLoginStatus:${loginStatus}")
if(loginStatus!=this.loginStatus){
this.loginStatus = loginStatus
LoginStatusManager.invokeLoginStatusChange(loginStatus)

View File

@@ -1,6 +1,7 @@
package com.mogo.och.biz.login.model
import android.annotation.SuppressLint
import com.mogo.commons.AbsMogoApplication
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger
import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant
import com.mogo.commons.storage.SharedPrefsMgr
@@ -20,7 +21,9 @@ object OchCommonLoginStatusDefaultModel : OchCommonLoginStatusModel() {
const val TAG = "OchCommonLoginStatusDefaultModel"
var loginCallback: ILoginCallback? = null
init {
mContext = AbsMogoApplication.getApp();
}
override fun loginSuccess(data: DriverStatusQueryRespBean?) {
CallerLogger.d(SceneConstant.M_TAXI + TAG, "loginSuccess:${LoginStatusManager.isLogin()}")
@@ -29,7 +32,6 @@ object OchCommonLoginStatusDefaultModel : OchCommonLoginStatusModel() {
} else {
SharedPrefsMgr.getInstance().putString("och_account", "")
}
loginCallback?.loginSuccess()
data?.data?.driverStatus?.let { updateLoginLocalStatus(it) }
@@ -44,7 +46,6 @@ object OchCommonLoginStatusDefaultModel : OchCommonLoginStatusModel() {
override fun loginFail(isLogin: Boolean) {
CallerLogger.d(SceneConstant.M_TAXI + TAG, "loginFail:$isLogin")
loginCallback?.loginFail()
updateLoginLocalStatus(0)
}

View File

@@ -32,11 +32,6 @@ public abstract class OchCommonLoginStatusModel {
private Disposable subscribe;
public void init() {
mContext = AbsMogoApplication.getApp();
queryCarStatus();
}
protected abstract void loginSuccess(DriverStatusQueryRespBean data);
protected abstract void loginFail(boolean isLogin);

View File

@@ -8,7 +8,7 @@ import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant
import com.mogo.eagle.core.utilcode.util.RegexUtils
import com.mogo.och.biz.R
import com.mogo.och.biz.login.callback.ITaxiLoginCallback
import com.mogo.och.biz.login.ui.TaxiLoginDialogFragment
import com.mogo.och.biz.login.ui.LoginFragment
import com.mogo.och.biz.login.model.OchCommonLoginModel
import com.mogo.och.common.module.wigets.toast.ToastCharterUtils
import io.reactivex.Observable
@@ -23,13 +23,15 @@ import java.util.concurrent.TimeUnit
*
* 描述
*/
class OchCommonLoginPresenter(view: TaxiLoginDialogFragment?) :
Presenter<TaxiLoginDialogFragment?>(view), ITaxiLoginCallback {
class OchCommonLoginPresenter(view: LoginFragment?) : Presenter<LoginFragment?>(view), ITaxiLoginCallback {
private var countDownDisposable: Disposable? = null
private val TAG = OchCommonLoginPresenter::class.java.simpleName
init {
initListeners()
CallerLogger.d(SceneConstant.M_TAXI + TAG, "网约车-Init")
}
private fun initListeners() {
@@ -66,10 +68,6 @@ class OchCommonLoginPresenter(view: TaxiLoginDialogFragment?) :
}
}
companion object {
private val TAG = OchCommonLoginPresenter::class.java.simpleName
}
override fun getPhoneCodeSuccess() {
val countDownSeconds = 60L;
countDownDisposable = Observable.intervalRange(0, countDownSeconds, 0, 1, TimeUnit.SECONDS)

View File

@@ -1,8 +1,6 @@
package com.mogo.och.biz.login.ui
import android.annotation.SuppressLint
import android.graphics.Rect
import android.os.Bundle
import android.os.SystemClock
import android.view.*
import androidx.core.content.ContextCompat
@@ -21,6 +19,7 @@ import com.mogo.och.biz.R
import com.mogo.och.biz.login.presenter.OchCommonLoginPresenter
import com.mogo.och.common.module.biz.constant.OchCommonConst
import com.mogo.och.common.module.biz.login.LoginService
import com.mogo.och.common.module.utils.RxUtils
import kotlinx.android.synthetic.main.taxi_login_view.acbtn_login
import kotlinx.android.synthetic.main.taxi_login_view.ace_login_phone_value
import kotlinx.android.synthetic.main.taxi_login_view.acet_phone_code_value
@@ -35,25 +34,14 @@ import kotlinx.android.synthetic.main.taxi_login_view.cl_main
* @author: yangyakun
* @date: 2022/8/15
*/
class TaxiLoginDialogFragment :
MvpFragment<TaxiLoginDialogFragment?, OchCommonLoginPresenter?>(){
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
}
override fun onCreateView(
inflater: LayoutInflater,
container: ViewGroup?,
savedInstanceState: Bundle?
): View? {
return super.onCreateView(inflater, container, savedInstanceState)
}
class LoginFragment : MvpFragment<LoginFragment?, OchCommonLoginPresenter?>(){
override fun getLayoutId(): Int {
return R.layout.taxi_login_view
}
override fun initViews() {
CallerLogger.d(TAG,"init")
inputPhoneNormal()
initBg()
initListener()
@@ -73,8 +61,8 @@ class TaxiLoginDialogFragment :
}
}
@SuppressLint("ClickableViewAccessibility")
private fun initListener() {
CallerLogger.d(TAG,"initListener")
mRootView.isFocusable = true
mRootView.isFocusableInTouchMode = true
mRootView.setOnTouchListener { _, event ->
@@ -113,7 +101,7 @@ class TaxiLoginDialogFragment :
mPresenter?.getPhoneCode(ace_login_phone_value.text.toString())
}
actv_login_show_sn.setOnLongClickListener {
val loginService = ARouter.getInstance().build(OchCommonConst.LOGINSERVICE)
val loginService = ARouter.getInstance().build(OchCommonConst.BIZ_LOGIN)
.navigation() as LoginService
loginService.showUiModel(false)
true
@@ -126,6 +114,9 @@ class TaxiLoginDialogFragment :
}
}
actv_login_show_sn.text = SharedPrefsMgr.getInstance().sn
RxUtils.createSubscribe(10_000) {
CallerLogger.d(TAG,"宽度${cl_main.width}----${cl_main.height}----${cl_main.visibility}")
}
}
/**
@@ -156,7 +147,6 @@ class TaxiLoginDialogFragment :
}
private fun inputPhoneNormal() {
//ace_login_phone_value.setHint(R.string.module_och_taxi_login_phone_hint_text)
context?.let {
ace_login_phone_value.setHintTextColor(ContextCompat.getColor(it, R.color.taxi_878890))
ace_login_phone_value.setBackgroundResource(R.drawable.taxi_login_phone_normal)
@@ -174,15 +164,7 @@ class TaxiLoginDialogFragment :
companion object {
private const val COUNTS = 4 // 点击次数
private const val DURATION: Long = 1000 // 规定有效时间
val TAG = TaxiLoginDialogFragment::class.java.simpleName
@JvmStatic
fun newInstance(): TaxiLoginDialogFragment {
val args = Bundle()
val fragment = TaxiLoginDialogFragment()
fragment.arguments = args
return fragment
}
val TAG = LoginFragment::class.java.simpleName
}
private var mHits = LongArray(COUNTS)
@@ -201,4 +183,14 @@ class TaxiLoginDialogFragment :
fun loginSuccess() {
}
override fun onResume() {
super.onResume()
CallerLogger.d(TAG,"onResume")
}
override fun onPause() {
super.onPause()
CallerLogger.d(TAG,"onPause")
}
}

View File

@@ -0,0 +1,40 @@
package com.mogo.och.biz.login.ui
import com.mogo.commons.mvp.BaseFragment
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger
import com.mogo.och.biz.R
/**
* @author: yangyakun
* @date: 2022/8/15
*/
class SimpleFragment : BaseFragment() {
override fun getLayoutId(): Int {
return R.layout.taxi_login_view_1
}
override fun initViews() {
CallerLogger.d(TAG,"init")
}
override fun getTagName(): String {
return TAG
}
companion object {
val TAG = SimpleFragment::class.java.simpleName
}
override fun onResume() {
super.onResume()
CallerLogger.d(TAG,"onResume")
}
override fun onPause() {
super.onPause()
CallerLogger.d(TAG,"onPause")
}
}

View File

@@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/cl_main"
xmlns:tools="http://schemas.android.com/tools"
android:background="@drawable/icon_car_red"
android:layout_width="match_parent"
android:layout_height="match_parent">
</androidx.constraintlayout.widget.ConstraintLayout>

View File

@@ -28,8 +28,6 @@ class OchCommonConst {
// token 失效 重新获取token
const val WAIT_TAKEN = 100046
const val LOGINSERVICE = "/ochbiz/common/login"
const val BIZ_LOGIN = "/ochbiz/common/login"
const val BUS_DRIVER = "/bus/driver"

View File

@@ -9,4 +9,82 @@ public class LoginInfo {
public String phone;//手机号
public Integer lineId;//线路id
public Integer taskId;//任务id
public int getDriverStatus() {
return driverStatus;
}
public void setDriverStatus(int driverStatus) {
this.driverStatus = driverStatus;
}
public String getOrderNo() {
return orderNo;
}
public void setOrderNo(String orderNo) {
this.orderNo = orderNo;
}
public int getPurpose() {
return purpose;
}
public void setPurpose(int purpose) {
this.purpose = purpose;
}
public String getSn() {
return sn;
}
public void setSn(String sn) {
this.sn = sn;
}
public String getPlateNumber() {
return plateNumber;
}
public void setPlateNumber(String plateNumber) {
this.plateNumber = plateNumber;
}
public String getPhone() {
return phone;
}
public void setPhone(String phone) {
this.phone = phone;
}
public Integer getLineId() {
return lineId;
}
public void setLineId(Integer lineId) {
this.lineId = lineId;
}
public Integer getTaskId() {
return taskId;
}
public void setTaskId(Integer taskId) {
this.taskId = taskId;
}
@Override
public String toString() {
return "LoginInfo{" +
"driverStatus=" + driverStatus +
", orderNo='" + orderNo + '\'' +
", purpose=" + purpose +
", sn='" + sn + '\'' +
", plateNumber='" + plateNumber + '\'' +
", phone='" + phone + '\'' +
", lineId=" + lineId +
", taskId=" + taskId +
'}';
}
}

View File

@@ -1,6 +1,7 @@
package com.mogo.och.common.module.biz.login
import androidx.fragment.app.Fragment
import com.alibaba.android.arouter.launcher.ARouter
import com.mogo.eagle.core.function.call.autopilot.CallerAutopilotStatisticsListenerManager
import com.mogo.och.common.module.biz.constant.OchCommonConst
@@ -12,6 +13,14 @@ object LoginStatusManager : CallerBase<ILoginCallback>() {
private var loginService: LoginService? =
ARouter.getInstance().build(OchCommonConst.BIZ_LOGIN).navigation() as LoginService
@JvmStatic
fun getFragment():Fragment {
loginService?.let {
return it.getFragment()
}
throw ClassNotFoundException("没有找到登录Fragment");
}
@JvmStatic
fun loginOut(mLatitude: Double, mLongitude: Double) {
loginService?.loginOut(mLatitude, mLongitude)