package com.yidianling.user import android.text.TextUtils import com.google.gson.Gson import com.ydl.ydlcommon.utils.SharedPreferencesEditor import com.ydl.ydlcommon.utils.UserInfoCache import com.ydl.ydlcommon.utils.YdlBuryPointUtil import com.yidianling.router.user.UserResponse import com.yidianling.router.user.UserSetting /** * 用户信息辅助类 */ object UserHelper { val gson: Gson = Gson() //用户信息存储 private val user_info_name_sp = "ydl_user_info" private val user_info_key_sp = "ydl_user_info_key" //用户设置存储 private val user_setting_name_sp = "ydl_user_setting" private val user_setting_key_sp = "ydl_user_setting_key" //用户信息//缓存 private var userTemp: UserResponse? = null //用户设置信息缓存 private var userSetting: UserSetting? = null //存储用户信息 fun setUserinfo(userInfo: UserResponse?) { try { userTemp = userInfo var str = gson.toJson(userTemp) SharedPreferencesEditor.putFileString(user_info_name_sp, user_info_key_sp, str) UserInfoCache.getInstance().saveYDLUser("\"" + userInfo?.uid + "\"", userInfo?.userInfo?.nick_name, userInfo?.userInfo?.head) YdlBuryPointUtil.reLogin() } catch (e: Exception) { e.printStackTrace() } } //获取用户设置信息 fun getUserInfo(): UserResponse? { if (userTemp != null) return userTemp!! try { var obj = SharedPreferencesEditor.getFileString(user_info_name_sp, user_info_key_sp) var app: UserResponse = gson.fromJson(obj, UserResponse::class.java) userTemp = app return userTemp!! } catch (e: Exception) { userTemp = UserResponse() } return userTemp } fun updateUserinfo(userInfo: UserResponse.UserInfo?) { getUserInfo()?.userInfo = userInfo } fun updateUserSetting(userseting: UserSetting?) { setUserSetting(userseting) } /** * 是否登录 */ fun isLogin(): Boolean { try { var user = getUserInfo()?.userInfo if (TextUtils.isEmpty(user?.uid)) { return false } var uid: Int = user?.uid?.toInt() ?: 0 if (uid > 0) { return true } } catch (e: Exception) { e.printStackTrace() } return false } /** * 是否绑定手机 */ fun isBindPhone(): Boolean { return !TextUtils.isEmpty(getUserInfo()?.userInfo?.phone) } /** * 存储用户设置信息 */ fun setUserSetting(userseting: UserSetting?) { try { userSetting = userseting var str = gson.toJson(userSetting) SharedPreferencesEditor.putFileString(user_setting_name_sp, user_setting_key_sp, str) } catch (e: Exception) { e.printStackTrace() } } /** * 获取用户设置信息 */ fun getUsetSetting(): UserSetting? { if (userSetting != null) return userSetting!! try { var obj = SharedPreferencesEditor.getFileString(user_setting_name_sp, user_setting_key_sp) if (TextUtils.isEmpty(obj)) { setUserSetting(UserSetting()) } var app: UserSetting = gson.fromJson(obj, UserSetting::class.java) userSetting = app return userSetting } catch (e: Exception) { } return userSetting } }