列表,个人中心
This commit is contained in:
@@ -2,14 +2,14 @@ package com.juhabi.birds.util.manager
|
||||
|
||||
import android.content.Context
|
||||
import com.juhabi.birds.MyApplication
|
||||
import com.juhabi.birds.mine.model.MineUserInfo
|
||||
import com.juhabi.birds.network.TokenManager
|
||||
import com.juhabi.birds.user.model.UserEntity
|
||||
import com.juhabi.birds.util.SharedPreferencesUtil
|
||||
|
||||
/** 管理当前用户的内存缓存和轻量级本地持久化数据。 */
|
||||
object UserInfoManager {
|
||||
@Volatile
|
||||
private var cachedUser: UserEntity? = null
|
||||
private var cachedUser: MineUserInfo? = null
|
||||
|
||||
@JvmStatic
|
||||
fun getInstance(): UserInfoManager = this
|
||||
@@ -21,42 +21,42 @@ object UserInfoManager {
|
||||
cachedUser = SharedPreferencesUtil.getObject(
|
||||
context,
|
||||
KEY_USER_INFO,
|
||||
UserEntity::class.java
|
||||
MineUserInfo::class.java
|
||||
)
|
||||
}
|
||||
|
||||
@JvmStatic
|
||||
fun getUserInfo(): UserEntity? = getUserInfo(MyApplication.appContext)
|
||||
fun getUserInfo(): MineUserInfo? = getUserInfo(MyApplication.appContext)
|
||||
|
||||
@JvmStatic
|
||||
fun getUserInfo(context: Context): UserEntity? {
|
||||
fun getUserInfo(context: Context): MineUserInfo? {
|
||||
cachedUser?.let { return it }
|
||||
return SharedPreferencesUtil.getObject(
|
||||
context,
|
||||
KEY_USER_INFO,
|
||||
UserEntity::class.java
|
||||
MineUserInfo::class.java
|
||||
)?.also { cachedUser = it }
|
||||
}
|
||||
|
||||
@JvmStatic
|
||||
fun setUserInfo(userInfo: UserEntity) {
|
||||
fun setUserInfo(userInfo: MineUserInfo) {
|
||||
setUserInfo(MyApplication.appContext, userInfo)
|
||||
}
|
||||
|
||||
@JvmStatic
|
||||
fun setUserInfo(context: Context, userInfo: UserEntity) {
|
||||
fun setUserInfo(context: Context, userInfo: MineUserInfo) {
|
||||
cachedUser = userInfo
|
||||
SharedPreferencesUtil.putObject(context, KEY_USER_INFO, userInfo)
|
||||
}
|
||||
|
||||
/** 登录成功后统一保存用户信息和 token。 */
|
||||
@JvmStatic
|
||||
fun saveLogin(userInfo: UserEntity, token: String) {
|
||||
fun saveLogin(userInfo: MineUserInfo, token: String) {
|
||||
saveLogin(MyApplication.appContext, userInfo, token)
|
||||
}
|
||||
|
||||
@JvmStatic
|
||||
fun saveLogin(context: Context, userInfo: UserEntity, token: String) {
|
||||
fun saveLogin(context: Context, userInfo: MineUserInfo, token: String) {
|
||||
setUserInfo(context, userInfo)
|
||||
TokenManager.save(context, token)
|
||||
SharedPreferencesUtil.putBoolean(context, KEY_USER_LOGIN, token.isNotBlank())
|
||||
|
||||
Reference in New Issue
Block a user