feat(servicing): 新增快速登录功能并优化用户信息处理- 新增 FastLoginRequest 数据类用于快速登录
- 添加 iaiCompareFace API 接口用于人脸识别比较 - 更新 DriverInfo 数据类,增加 loginLogId 字段- 重构 GlobalData 中的用户信息存储逻辑,使用 MMKV替代数据库 - 优化 InServicingBottomView 中的订单放弃和拨打电话功能 - 更新 JpushBean,增加 userOrderId 字段 - 修改 AndroidManifest.xml 中的权限声明,使用动态应用ID
This commit is contained in:
@ -5,60 +5,82 @@ 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 {
|
||||
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.defaultMMKV().decodeString("ZD_TOKEN", null)
|
||||
return mmkv.decodeString("ZD_TOKEN", null)
|
||||
}
|
||||
set(value) {
|
||||
MMKV.defaultMMKV().encode("ZD_TOKEN", value)
|
||||
mmkv.encode("ZD_TOKEN", value)
|
||||
field = value
|
||||
}
|
||||
|
||||
var regid : String? = null
|
||||
get() {
|
||||
return MMKV.defaultMMKV().decodeString("regid", null)
|
||||
return mmkv.decodeString("regid", null)
|
||||
}
|
||||
set(value) {
|
||||
MMKV.defaultMMKV().encode("regid", value)
|
||||
mmkv.encode("regid", value)
|
||||
field = value
|
||||
}
|
||||
|
||||
var aesKey : String? = null
|
||||
get() {
|
||||
return MMKV.defaultMMKV().decodeString("AES_KEY", null)
|
||||
return mmkv.decodeString("AES_KEY", null)
|
||||
}
|
||||
set(value) {
|
||||
MMKV.defaultMMKV().encode("AES_KEY", value)
|
||||
mmkv.encode("AES_KEY", value)
|
||||
field = value
|
||||
}
|
||||
|
||||
//新订单是否已经被处理
|
||||
var isHandlerNewOrder : Boolean? = false
|
||||
|
||||
var driverInfoBean : DriverInfoBean? = null
|
||||
private val lock = Any()
|
||||
var driverInfoBean : DriverInfoBean?
|
||||
get() {
|
||||
val driverInfoBean = RoomHelper.db?.driverInfoDao()?.getDriverInfoFromUserId()
|
||||
synchronized(lock) {
|
||||
val driverInfoBean =
|
||||
mmkv.decodeParcelable("driverInfoBean", DriverInfoBean::class.java)
|
||||
LogUtil.print("driverInfo get", "driverInfoBean = $driverInfoBean")
|
||||
return driverInfoBean
|
||||
}
|
||||
}
|
||||
set(value) {
|
||||
synchronized(lock) {
|
||||
mmkv.encode("driverInfoBean", value)
|
||||
if (value != null) {
|
||||
lastLoginBean = value
|
||||
}
|
||||
LogUtil.print("driverInfo set", "driverInfoBean = $value")
|
||||
}
|
||||
}
|
||||
|
||||
var lastLoginBean : DriverInfoBean? = null
|
||||
get() {
|
||||
val driverInfoBean = mmkv.decodeParcelable("lastLoginBean", DriverInfoBean::class.java)
|
||||
field = driverInfoBean
|
||||
return driverInfoBean
|
||||
}
|
||||
set(value) {
|
||||
RoomHelper.db?.driverInfoDao()?.updateDriverInfo(value)
|
||||
mmkv.encode("lastLoginBean", value)
|
||||
}
|
||||
|
||||
var currentOrder : OrderInfo? = null
|
||||
get() {
|
||||
return MMKV.defaultMMKV().decodeParcelable("currentOrder", OrderInfo::class.java)
|
||||
return mmkv.decodeParcelable("currentOrder", OrderInfo::class.java)
|
||||
}
|
||||
set(value) {
|
||||
MMKV.defaultMMKV().encode("currentOrder", value)
|
||||
mmkv.encode("currentOrder", value)
|
||||
if (RoomHelper.db?.orderDao()?.getCurrentOrder() == null && value != null) {
|
||||
RoomHelper.db?.orderDao()?.insertOrder(value)
|
||||
} else if (value != null) {
|
||||
@ -78,10 +100,10 @@ object GlobalData {
|
||||
|
||||
var loginTime : Long? = null
|
||||
get() {
|
||||
return MMKV.defaultMMKV().decodeLong("loginTime", System.currentTimeMillis())
|
||||
return mmkv.decodeLong("loginTime", System.currentTimeMillis())
|
||||
}
|
||||
set(value) {
|
||||
MMKV.defaultMMKV().encode("loginTime", value ?: System.currentTimeMillis())
|
||||
mmkv.encode("loginTime", value ?: System.currentTimeMillis())
|
||||
field = value
|
||||
}
|
||||
|
||||
@ -89,6 +111,7 @@ object GlobalData {
|
||||
token = null
|
||||
aesKey = null
|
||||
currentLocation = null
|
||||
driverInfoBean = null
|
||||
loginTime = null
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user