| | |
| | | // stores/user.ts |
| | | import { defineStore } from 'pinia' |
| | | import { ref } from 'vue' |
| | | import http from '@/plugins/http.js' // 请替换成你实际的 http 封装路径 |
| | | import storage from '@/plugins/storage' // 同样替换为你的封装路径 |
| | | import message from '@/plugins/message' // 你使用的消息组件封装 |
| | | import http from '@/plugins/http.js' |
| | | import storage from '@/plugins/storage' |
| | | import message from '@/plugins/message' |
| | | import { WechatLoginData } from '@/types/index' |
| | | |
| | | |
| | |
| | | const hasLogin = ref(false) |
| | | const isBind = ref(false) |
| | | const userInfo = ref<any>(null) |
| | | const address = ref<any>(null) |
| | | |
| | | async function getCurrentInfo() { |
| | | const currentInfo = await http.request('get', '/api/current/user', {}) |
| | |
| | | hasLogin.value = false |
| | | } |
| | | } |
| | | |
| | | |
| | | function updateAddress(addressParam:any) { |
| | | |
| | | // 合并新信息到 userInfo 中 |
| | | console.log("addressParam",addressParam) |
| | | address.value = addressParam |
| | | // 如果你有持久化,这里也同步一下 |
| | | // storage.setItem('userInfo', userInfo.value) |
| | | } |
| | | |
| | | |
| | | return { |
| | | hasLogin, |
| | | isBind, |
| | | userInfo, |
| | | address, |
| | | loginwx, |
| | | getCurrentInfo, |
| | | initLoginState, |
| | | updateAddress, |
| | | } |
| | | }) |