| 123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- import { reactive } from 'vue'
- export type UserInfo = {
- id : string
- nickname : string
- avatar : string
- }
- export type UserState = {
- token : string
- userInfo : UserInfo | null
- }
- export const userStore = reactive({
- token: '',
- userInfo: null
- } as UserState) as UserState
- export function setToken(token : string) {
- userStore.token = token
- uni.setStorageSync('token', token)
- }
- export function setUserInfo(info : UserInfo | null) {
- userStore.userInfo = info
- uni.setStorageSync('userInfo', info)
- }
- export function logout() {
- userStore.token = ''
- userStore.userInfo = null
- uni.removeStorageSync('token')
- uni.removeStorageSync('userInfo')
- }
- export function initStore() {
- const token = uni.getStorageSync('token')
- if (token != null) {
- userStore.token = token as string
- }
- const info = uni.getStorageSync('userInfo')
- if (info != null) {
- userStore.userInfo = info as UserInfo
- }
- }
|