账号保存相关
This commit is contained in:
parent
92ba0f4831
commit
0657617311
|
|
@ -6,4 +6,5 @@ data class User(
|
||||||
val token: String,
|
val token: String,
|
||||||
val account: String,
|
val account: String,
|
||||||
val createdAt: 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
|
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 {
|
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) {
|
class SpUtil private constructor(spFileName: String) {
|
||||||
companion object {
|
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"
|
const val KEY_X2 = "22222"
|
||||||
|
|
||||||
private const val DEFAULT_SP_NAME = "enhanced_prefs"
|
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()
|
sharedPreferences.edit().putString(key, value).apply()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue