v1.0
This commit is contained in:
61
store/store.js
Normal file
61
store/store.js
Normal file
@ -0,0 +1,61 @@
|
||||
import { defineStore } from 'pinia'
|
||||
|
||||
import cookie from '@/utils/cookie'
|
||||
import { getUserInfo } from '@/api/user'
|
||||
import { getAddressDel, getAddressDefault, getAddressAddAndEdit, getAddressList, getAddressCityList } from '@/api/address'
|
||||
import { navigateTo } from '@/utils/router'
|
||||
|
||||
export const useMainStore = defineStore('main', {
|
||||
state: () => ({
|
||||
user: null,
|
||||
address: [],
|
||||
areaList: [],
|
||||
selectAddress: null,
|
||||
}),
|
||||
getters: {
|
||||
defaultAddress(state) {
|
||||
return state.address?.filter(item => item.isDefault)?.[0]
|
||||
},
|
||||
},
|
||||
actions: {
|
||||
setAccessToken(user) {
|
||||
cookie.set('accessToken', user)
|
||||
return getUserInfo()
|
||||
},
|
||||
setSelectAddress(id) {
|
||||
console.log('--> % setSelectAddress % id:\n', id)
|
||||
this.selectAddress = this.address.filter(item => item.id == id)[0]
|
||||
},
|
||||
async getUserInfo(user) {
|
||||
let res = await getUserInfo()
|
||||
this.user = res
|
||||
return res
|
||||
},
|
||||
async getAddressList(user) {
|
||||
let res = await getAddressList()
|
||||
this.selectAddress = res.filter(item => item.isDefault)[0]
|
||||
this.address = res
|
||||
// console.log('--> % getUserInfo % res:\n', res)
|
||||
},
|
||||
async getAddressCityList() {
|
||||
let res = await getAddressCityList()
|
||||
this.areaList = res
|
||||
// console.log("--> % getAddressCityList % this:\n", this)
|
||||
// console.log('--> % getAddressCityList % res:\n', res)
|
||||
},
|
||||
init() {
|
||||
let accessToken = cookie.get('accessToken')
|
||||
if (accessToken) {
|
||||
return getUserInfo()
|
||||
}
|
||||
return null
|
||||
},
|
||||
logout() {
|
||||
this.user = null
|
||||
this.address = []
|
||||
this.areaList = []
|
||||
this.selectAddress = null
|
||||
navigateTo('/pages/login/login')
|
||||
},
|
||||
},
|
||||
})
|
Reference in New Issue
Block a user