| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101 |
- import { defineStore } from 'pinia'
- import { storage } from '@/utils/storage'
- export const useUserStore = defineStore('user', {
- state: () => ({
- member: {},
- token: '',
- openid: '',
- isMer: 0, // 是否是商家
- merchartShop: {} // 商家店铺信息
- }),
- getters: {
- /**
- * 是否登录
- */
- isLogin: (state) => {
- return Object.keys(state.member).length > 0 && !!state.token
- },
- /**
- * 用户信息
- */
- userInfo: (state) => state.member,
- /**
- * 是否是商家
- */
- isMerchant: (state) => state.isMer === 1
- },
- actions: {
- /**
- * 设置用户信息
- */
- setMember(member) {
- this.member = member
- },
- /**
- * 设置Token
- */
- setToken(token) {
- this.token = token
- storage.set('accessToken', token)
- },
- /**
- * 设置OpenID
- */
- setOpenid(openid) {
- this.openid = openid
- },
- /**
- * 设置是否是商家
- */
- setMer(isMer) {
- this.isMer = isMer
- },
- /**
- * 设置商家店铺信息
- */
- setMerchartShop(shop) {
- this.merchartShop = shop
- },
- /**
- * 登出
- */
- logout() {
- this.member = {}
- this.token = ''
- this.openid = ''
- this.isMer = 0
- this.merchartShop = {}
- storage.remove('accessToken')
- },
- /**
- * 初始化用户信息
- */
- init() {
- const token = storage.get('accessToken')
- if (token) {
- this.token = token
- }
- }
- },
- persist: {
- enabled: true,
- strategies: [
- {
- storage: localStorage,
- paths: ['member', 'token', 'openid', 'isMer']
- }
- ]
- }
- })
|