35 lines
973 B
JavaScript
35 lines
973 B
JavaScript
import { defineStore } from "pinia";
|
|
import { login, shopInfo_detail } from "@/api/account.js";
|
|
import useStorage from "@/utils/useStorage";
|
|
|
|
export const useUser = defineStore("user", {
|
|
state: () => ({
|
|
userInfo: useStorage.get("userInfo"),
|
|
shopInfo: useStorage.get("shopInfo"),
|
|
token: useStorage.get("token"),
|
|
}),
|
|
actions: {
|
|
// 登录
|
|
userlogin(param) {
|
|
return login(param).then(async (res) => {
|
|
this.userInfo = res.shopInfo;
|
|
this.token = res.tokenInfo.tokenValue;
|
|
useStorage.set("token", this.token);
|
|
useStorage.set("userInfo", this.userInfo);
|
|
await this.queryShopInfo();
|
|
return this.userInfo;
|
|
});
|
|
},
|
|
// 获取店铺信息
|
|
async queryShopInfo() {
|
|
try {
|
|
const res = await shopInfo_detail();
|
|
useStorage.set("shopInfo", res);
|
|
this.shopInfo = useStorage.get("shopInfo");
|
|
} catch (error) {
|
|
console.log(error);
|
|
}
|
|
},
|
|
},
|
|
});
|