- 移除 `pinia-plugin-persistedstate` 依赖 - 统一按钮背景色为 `#52ac41` - 删除未使用的 `main2.js` 和 `store2.js` 文件 - 优化登录页面的验证逻辑和样式 - 修复部分组件的条件渲染问题
107 lines
2.3 KiB
JavaScript
107 lines
2.3 KiB
JavaScript
import { defineStore } from 'pinia'
|
|
import cookie from '@/utils/cookie'
|
|
import { navigateTo } from '@/utils/router'
|
|
|
|
export const useMainStore = defineStore('main', {
|
|
state: () => ({
|
|
store: {},
|
|
cart: [],
|
|
orderType: 'takein',
|
|
address: {},
|
|
addresses: {},
|
|
member: {},
|
|
openid: "",
|
|
token: "",
|
|
lang: 'zh-cn',
|
|
cookieKey: 'YSESSID=yshop-e4dk4o2utr3c0n95tp42p745ai',
|
|
location: {},
|
|
mycoupon: {}
|
|
}),
|
|
getters: {
|
|
isLogin(state) {
|
|
return Object.keys(state.member).length > 0
|
|
}
|
|
},
|
|
actions: {
|
|
DEL_COUPON() {
|
|
this.mycoupon = {}
|
|
},
|
|
SET_COUPON(coupon) {
|
|
this.mycoupon = coupon
|
|
},
|
|
SET_ORDER_TYPE(type) {
|
|
this.orderType = type
|
|
},
|
|
SET_MEMBER(member) {
|
|
this.member = member
|
|
cookie.set('userinfo', member)
|
|
},
|
|
SET_ADDRESS(address) {
|
|
this.address = address
|
|
},
|
|
SET_ADDRESSES(addresses) {
|
|
this.addresses = addresses
|
|
},
|
|
SET_STORE(store) {
|
|
this.store = store
|
|
},
|
|
SET_CART(cart) {
|
|
this.cart = cart
|
|
},
|
|
REMOVE_CART() {
|
|
this.cart = []
|
|
},
|
|
setCookie(provider) {
|
|
uni.setStorage({
|
|
key: 'cookieKey',
|
|
data: provider
|
|
});
|
|
},
|
|
SET_LOCATION(location) {
|
|
this.location = location;
|
|
},
|
|
SET_OPENID(openid) {
|
|
this.openid = openid;
|
|
},
|
|
SET_TOKEN(token) {
|
|
this.token = token;
|
|
cookie.set('accessToken', token)
|
|
},
|
|
setAccessToken(user) {
|
|
cookie.set('accessToken', user)
|
|
},
|
|
setSelectAddress(id) {
|
|
console.log('--> % setSelectAddress % id:\n', id)
|
|
this.selectAddress = this.address.filter(item => item.id == id)[0]
|
|
},
|
|
init() {
|
|
let accessToken = cookie.get('accessToken')
|
|
if (accessToken) {
|
|
// 这里可以添加获取用户信息等逻辑
|
|
}
|
|
return null
|
|
},
|
|
logout() {
|
|
this.member = {}
|
|
this.address = {}
|
|
this.addresses = {}
|
|
navigateTo('/pages/login/login')
|
|
},
|
|
},
|
|
persist: {
|
|
enabled: true,
|
|
strategies: [
|
|
{
|
|
storage: {
|
|
setItem(key, value) {
|
|
uni.setStorageSync(key, value)
|
|
},
|
|
getItem(key) {
|
|
return uni.getStorageSync(key)
|
|
},
|
|
},
|
|
paths: ['member', 'token'] // 需要持久化的字段
|
|
}
|
|
]
|
|
}
|
|
}) |