Files
zd_servicing/servicing/src/main/java/com/za/common/GlobalData.kt
songzhiling 50b38bc9b6 refactor(servicing): 优化订单详情页面并更新版本号
- 移除订单详情页面的冗余代码和未使用的导入
- 简化订单详情页面的布局结构
- 更新项目版本号至 1.0.1.9.9.37
- 修复签名上传逻辑
-优化登录 token 存储和人脸识别相关代码
2025-05-07 15:10:26 +08:00

132 lines
2.9 KiB
Kotlin

package com.za.common
import android.app.Application
import com.amap.api.location.AMapLocation
import com.blankj.utilcode.util.AppUtils
import com.tencent.mmkv.MMKV
import com.za.bean.db.order.OrderInfo
import com.za.common.log.LogUtil
import com.za.room.RoomHelper
import com.za.room.db.user.DriverInfoBean
object GlobalData : GlobalLocalData() {
lateinit var application : Application
private val mmkv : MMKV by lazy { MMKV.defaultMMKV() }
var activityCount : Int = 0
var isMaster = AppUtils.getAppPackageName() == "com.za.rescue.dealer"
var token : String? = null
get() {
return mmkv.decodeString("TOKEN", null)
}
set(value) {
mmkv.encode("TOKEN", value)
field = value
}
var regid : String? = null
get() {
return mmkv.decodeString("regid", null)
}
set(value) {
mmkv.encode("regid", value)
field = value
}
var aesKey : String? = null
get() {
return mmkv.decodeString("AES_KEY", null)
}
set(value) {
mmkv.encode("AES_KEY", value)
field = value
}
//新订单是否已经被处理
var isHandlerNewOrder : Boolean? = false
var driverInfoBean : DriverInfoBean? = null
get() {
if (field == null) {
field = localDriverInfoBean
}
LogUtil.print("get driverInfoBean", "获取司机信息: $field")
return field
}
set(value) {
localDriverInfoBean = value
field = value
LogUtil.print("set driverInfoBean", "司机信息: $field")
}
var lastLoginBean : DriverInfoBean? = null
get() {
val driverInfoBean = mmkv.decodeParcelable("lastLoginBean", DriverInfoBean::class.java)
field = driverInfoBean
return driverInfoBean
}
set(value) {
mmkv.encode("lastLoginBean", value)
}
//是否已经完成登录后的人脸识别
var isLoginRecognition : Boolean? = null
get() {
return mmkv.decodeBool("isLoginRecognition", false)
}
set(value) {
mmkv.encode("isLoginRecognition", value == true)
field = value
}
var currentOrder : OrderInfo? = null
get() {
if (field == null) {
field = localCurrentOrder
}
return field
}
set(value) {
localCurrentOrder = value
field = value
}
var currentLocation : AMapLocation? = null
get() {
return mmkv.decodeParcelable("currentLocation", AMapLocation::class.java)
}
set(value) {
value?.time = System.currentTimeMillis()
mmkv.encode("currentLocation", value)
field = value
}
var loginTime : Long? = null
get() {
return mmkv.decodeLong("loginTime", System.currentTimeMillis())
}
set(value) {
mmkv.encode("loginTime", value ?: System.currentTimeMillis())
field = value
}
fun clearUserCache() {
token = null
aesKey = null
currentLocation = null
driverInfoBean = null
loginTime = null
isLoginRecognition = null
}
fun clearAllOrderCache() {
currentOrder = null
RoomHelper.clearAll()
}
fun clearOrderCache(taskId : Int) {
RoomHelper.clearOrderFromTaskCode(taskId = taskId)
}
}