- 新增 BaseDialog 抽象基类,统一对话框样式和行为 - 新增 EnvSwitchDialog 支持 TEST/UAT/PROD 三环境切换 - 修复 BaseDialog 和 EnvSwitchDialog 的包名(com.shuwei.intelligent.shelves → com.sw.platecabinet) - 新增 View.hideKeyboard() 扩展函数到 CommonExt.kt - 重构 GlobalData 环境 URL 常量命名(TEST_URL/PRO_URL → TEST_BASE_URL/UAT_BASE_URL/PROD_BASE_URL) - MyApp 启动时从 SpTool 读取已保存的环境配置 - SpTool 新增 baseUrl 持久化支持 - 修正 drawable 资源颜色引用为硬编码值 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
56 lines
1.5 KiB
Kotlin
56 lines
1.5 KiB
Kotlin
package com.sw.platecabinet.utils
|
|
|
|
import com.sw.inbound.utils.SPUtil
|
|
import com.sw.inbound.utils.SPUtil.Companion.getInstance
|
|
import com.sw.platecabinet.GlobalKey
|
|
import com.sw.platecabinet.MyApp
|
|
|
|
object SpTool {
|
|
const val LAST_FACE_TIMESTAMP: String = "faceTimestamp"
|
|
const val PLATE_BOX_DATA: String = "plateBoxBind"
|
|
|
|
const val IS_FIRST_GET_FACE = "isFirstGetFace"
|
|
|
|
private var spUtil: SPUtil? = null
|
|
|
|
init {
|
|
spUtil = getInstance(MyApp.instance!!, "default_sp")
|
|
}
|
|
|
|
fun putString(key:String, value:String) {
|
|
spUtil?.put(key, value)
|
|
}
|
|
|
|
var lastFaceTimestamp: Long
|
|
get() = spUtil?.get<Long?>(SpTool.LAST_FACE_TIMESTAMP, 0L) ?: 0
|
|
set(timestamp) {
|
|
spUtil?.put(LAST_FACE_TIMESTAMP, timestamp)
|
|
}
|
|
|
|
// fun savePlateData(items: List<EquipmentUserInfo>) {
|
|
// val jsonData = Gson().toJson(items)
|
|
// putString(PLATE_BOX_DATA, jsonData)
|
|
// }
|
|
//
|
|
// fun getPlateData(): List<EquipmentUserInfo>? {
|
|
// val jsonData = spUtil?.get(PLATE_BOX_DATA, "")
|
|
// if (jsonData.isNullOrBlank()) {
|
|
// return null
|
|
// }
|
|
// return GsonUtils.fromJsonList(jsonData, EquipmentUserInfo::class.java)
|
|
// }
|
|
|
|
var firstGetFace: Boolean
|
|
get() = spUtil?.get(IS_FIRST_GET_FACE, true)?:true
|
|
set(value) {
|
|
spUtil?.boolean(IS_FIRST_GET_FACE, value)
|
|
}
|
|
|
|
var baseUrl: String
|
|
get() = spUtil?.get(GlobalKey.KEY_BASE_URL, "") ?: ""
|
|
set(value) {
|
|
spUtil?.put(GlobalKey.KEY_BASE_URL, value)
|
|
}
|
|
|
|
}
|