| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153 |
- import { emitter } from '@kit.BasicServicesKit'
- import { AppStorageKeyCollect } from '../constants'
- /**
- * @description 用户信息类,可结合AppStorage使用,实现响应式更换用户信息,使用时替换为后端传回的用户属性即可
- */
- export class UserInfo {
- static KEY: string = 'UserInfo'
- private declare static instance: UserInfo
- private isLogin: boolean = false
- private token?: string
- //此注释下的属性可按需更改
- private memberName?: string
- private memberPhone?: string
- private memberEmail?: string
- private memberIcon?: string
- private aiCount?: number
- private userId?: number
- private memberScore?: number
- private constructor() {
- }
- /**
- * 获取用户单例
- * @returns UserInfo
- */
- static getInstance() {
- if (!UserInfo.instance) {
- UserInfo.instance = new UserInfo()
- }
- return UserInfo.instance
- }
- /**
- * 设置用户信息并且设置登录状态
- * @param _userInfo
- */
- setUserInfoAndLogin(_userInfo: UserInfo) {
- UserInfo.getInstance().isLogin = true
- if (_userInfo.token) {
- UserInfo.getInstance().token = _userInfo.token
- }
- UserInfo.getInstance().memberEmail = _userInfo.memberEmail
- UserInfo.getInstance().memberIcon = _userInfo.memberIcon
- UserInfo.getInstance().memberName = _userInfo.memberName
- UserInfo.getInstance().userId = _userInfo.userId
- UserInfo.getInstance().memberScore = _userInfo.memberScore
- UserInfo.getInstance().aiCount = _userInfo.aiCount
- UserInfo.getInstance().memberPhone = _userInfo.memberPhone
- emitter.emit('refreshList')
- AppStorage.setOrCreate(UserInfo.KEY, UserInfo.getInstance())
- }
- /**
- * @description 登出并清空用户信息
- */
- logout() {
- UserInfo.getInstance().isLogin = false
- UserInfo.getInstance().token = undefined
- UserInfo.getInstance().memberEmail = undefined
- UserInfo.getInstance().memberIcon = undefined
- UserInfo.getInstance().memberName = undefined
- UserInfo.getInstance().userId = undefined
- UserInfo.getInstance().memberScore = undefined
- UserInfo.getInstance().aiCount = undefined
- UserInfo.getInstance().memberPhone = undefined
- AppStorage.setOrCreate(UserInfo.KEY, UserInfo.getInstance())
- AppStorage.setOrCreate(AppStorageKeyCollect.TOKEN, undefined)
- }
- /**
- * 检测用户是否登录
- * @returns boolean
- */
- checkLogin() {
- return UserInfo.getInstance().isLogin
- }
- getToken() {
- return UserInfo.getInstance().token
- }
- setToken(token: string) {
- UserInfo.getInstance().token = token
- AppStorage.setOrCreate<string>(AppStorageKeyCollect.TOKEN, token)
- AppStorage.setOrCreate(UserInfo.KEY, UserInfo.getInstance())
- }
- getHeadImg() {
- return UserInfo.getInstance().memberIcon
- }
- setHeadImg(headImg: string) {
- UserInfo.getInstance().memberIcon = headImg
- AppStorage.setOrCreate(UserInfo.KEY, UserInfo.getInstance())
- }
- getEmail() {
- return UserInfo.getInstance().memberEmail
- }
- setEmail(email: string) {
- UserInfo.getInstance().memberEmail = email
- AppStorage.setOrCreate(UserInfo.KEY, UserInfo.getInstance())
- }
- getName() {
- return UserInfo.getInstance().memberName
- }
- setName(name: string) {
- UserInfo.getInstance().memberName = name
- AppStorage.setOrCreate(UserInfo.KEY, UserInfo.getInstance())
- }
- getId() {
- return UserInfo.getInstance().userId
- }
- setId(id: number) {
- UserInfo.getInstance().userId = id
- AppStorage.setOrCreate(UserInfo.KEY, UserInfo.getInstance())
- }
- getGoldNum() {
- return UserInfo.getInstance().memberScore
- }
- setGoldNum(goldNum: number) {
- UserInfo.getInstance().memberScore = goldNum
- AppStorage.setOrCreate(UserInfo.KEY, UserInfo.getInstance())
- }
- getAiNum() {
- return UserInfo.getInstance().aiCount
- }
- setAiNum(aiNum: number) {
- UserInfo.getInstance().aiCount = aiNum
- AppStorage.setOrCreate(UserInfo.KEY, UserInfo.getInstance())
- }
- getPhoneNumber() {
- return UserInfo.getInstance().memberPhone
- }
- setPhoneNumber(phoneNumber: string) {
- UserInfo.getInstance().memberPhone = phoneNumber
- AppStorage.setOrCreate(UserInfo.KEY, UserInfo.getInstance())
- }
- }
|