账号保存相关
This commit is contained in:
parent
92ba0f4831
commit
0657617311
|
|
@ -6,4 +6,5 @@ data class User(
|
|||
val token: String,
|
||||
val account: String,
|
||||
val createdAt: String,
|
||||
val deviceUUId: String
|
||||
)
|
||||
|
|
|
|||
|
|
@ -0,0 +1,23 @@
|
|||
package com.gamedog.vididin.login
|
||||
|
||||
import com.gamedog.vididin.beans.User
|
||||
|
||||
class LoginInfoSave {
|
||||
|
||||
fun putUser(user: User?) {
|
||||
UserLocalRepository.saveUser2Sp(user)
|
||||
}
|
||||
|
||||
fun getUser() = UserLocalRepository.getUserFromSp()
|
||||
|
||||
|
||||
fun putToken(token: String?) {
|
||||
UserLocalRepository.saveUserToken(token)
|
||||
}
|
||||
|
||||
fun getToken(): String? {
|
||||
return UserLocalRepository.getUserToken()
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
|
@ -1,7 +1,68 @@
|
|||
package com.gamedog.vididin.core.login.login
|
||||
|
||||
import com.gamedog.vididin.beans.OnLoginStateEvent
|
||||
import com.gamedog.vididin.beans.User
|
||||
import com.gamedog.vididin.login.LoginInfoSave
|
||||
import com.gamedog.vididin.login.OnLoginEvent
|
||||
import com.gamedog.vididin.router.Router
|
||||
import com.pengxr.modular.eventbus.generated.events.EventDefineOfUserEvents
|
||||
|
||||
|
||||
|
||||
object LoginManager {
|
||||
|
||||
private val loginInfoSave by lazy {
|
||||
LoginInfoSave()
|
||||
}
|
||||
|
||||
var user: User? = null
|
||||
set(value) {
|
||||
loginInfoSave.putUser(value)
|
||||
field = value
|
||||
}
|
||||
|
||||
var token: String? = null
|
||||
set(value) {
|
||||
loginInfoSave.putToken(value)
|
||||
field = value
|
||||
}
|
||||
|
||||
val isLogin: Boolean
|
||||
get() = user != null
|
||||
|
||||
|
||||
fun init() {
|
||||
user = loginInfoSave.getUser()
|
||||
token = loginInfoSave.getToken()
|
||||
}
|
||||
|
||||
|
||||
fun logout() {
|
||||
user = null
|
||||
token = null
|
||||
EventDefineOfUserEvents.onLoginStatusChanged().post(OnLoginStateEvent(OnLoginEvent.LOGOUT))
|
||||
}
|
||||
|
||||
|
||||
fun checkLogin(callback: (() -> Unit)? = null) {
|
||||
if (isLogin) {
|
||||
callback?.invoke()
|
||||
} else {
|
||||
Router.Mine.createMineFragment()
|
||||
}
|
||||
}
|
||||
|
||||
fun putUser(user: User?) {
|
||||
this.user = user
|
||||
}
|
||||
|
||||
fun putToken(token: String?) {
|
||||
this.token = token
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -0,0 +1,11 @@
|
|||
package com.gamedog.vididin.login
|
||||
|
||||
data class OnLoginEvent(val status: Int) {
|
||||
|
||||
fun isLogin(): Boolean = status == LOGIN
|
||||
|
||||
companion object {
|
||||
const val LOGIN = 1
|
||||
const val LOGOUT = 2
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,24 @@
|
|||
package com.gamedog.vididin.login
|
||||
|
||||
import com.ama.core.architecture.util.SpUtil
|
||||
import com.gamedog.vididin.beans.User
|
||||
|
||||
object UserLocalRepository {
|
||||
|
||||
fun getUserFromSp(): User? {
|
||||
return SpUtil.instance().getObject(SpUtil.KEY_ACCOUNT)
|
||||
}
|
||||
|
||||
fun saveUser2Sp(account: User?) {
|
||||
SpUtil.instance().putObject(SpUtil.KEY_ACCOUNT, account)
|
||||
}
|
||||
|
||||
fun getUserToken(): String? {
|
||||
return SpUtil.instance().getObject(SpUtil.KEY_ACCOUNT_TOKEN)
|
||||
}
|
||||
|
||||
fun saveUserToken(token: String?) {
|
||||
SpUtil.instance().putString(SpUtil.KEY_ACCOUNT_TOKEN, token)
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -15,7 +15,9 @@ import java.lang.reflect.Type
|
|||
|
||||
class SpUtil private constructor(spFileName: String) {
|
||||
companion object {
|
||||
const val KEY_X1 = "11111"
|
||||
const val KEY_ACCOUNT = "KEY_ACCOUNT"
|
||||
const val KEY_ACCOUNT_TOKEN = "KEY_ACCOUNT_TOKEN"
|
||||
|
||||
const val KEY_X2 = "22222"
|
||||
|
||||
private const val DEFAULT_SP_NAME = "enhanced_prefs"
|
||||
|
|
@ -47,7 +49,7 @@ class SpUtil private constructor(spFileName: String) {
|
|||
|
||||
|
||||
// ----------- 基本数据类型操作 -----------
|
||||
fun putString(key: String, value: String) {
|
||||
fun putString(key: String, value: String?) {
|
||||
sharedPreferences.edit().putString(key, value).apply()
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue