2024-09-19 07:20:14 +08:00
|
|
|
|
"use strict";
|
|
|
|
|
var __async = (__this, __arguments, generator) => {
|
|
|
|
|
return new Promise((resolve, reject) => {
|
|
|
|
|
var fulfilled = (value) => {
|
|
|
|
|
try {
|
|
|
|
|
step(generator.next(value));
|
|
|
|
|
} catch (e) {
|
|
|
|
|
reject(e);
|
|
|
|
|
}
|
|
|
|
|
};
|
|
|
|
|
var rejected = (value) => {
|
|
|
|
|
try {
|
|
|
|
|
step(generator.throw(value));
|
|
|
|
|
} catch (e) {
|
|
|
|
|
reject(e);
|
|
|
|
|
}
|
|
|
|
|
};
|
|
|
|
|
var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
|
|
|
|
|
step((generator = generator.apply(__this, __arguments)).next());
|
|
|
|
|
});
|
|
|
|
|
};
|
2024-10-01 09:15:35 +08:00
|
|
|
|
const common_vendor = require("../../../../common/vendor.js");
|
|
|
|
|
const modules_mall_sheep_platform_share = require("../platform/share.js");
|
|
|
|
|
const modules_mall_sheep_store_cart = require("./cart.js");
|
|
|
|
|
const modules_mall_sheep_store_app = require("./app.js");
|
|
|
|
|
const modules_mall_sheep_hooks_useModal = require("../hooks/useModal.js");
|
|
|
|
|
const modules_mall_sheep_api_member_user = require("../api/member/user.js");
|
|
|
|
|
const modules_mall_sheep_api_pay_wallet = require("../api/pay/wallet.js");
|
|
|
|
|
const modules_mall_sheep_api_trade_order = require("../api/trade/order.js");
|
|
|
|
|
const modules_mall_sheep_api_promotion_coupon = require("../api/promotion/coupon.js");
|
2024-09-19 07:20:14 +08:00
|
|
|
|
const defaultUserInfo = {
|
|
|
|
|
avatar: "",
|
|
|
|
|
// 头像
|
|
|
|
|
nickname: "",
|
|
|
|
|
// 昵称
|
|
|
|
|
gender: 0,
|
|
|
|
|
// 性别
|
|
|
|
|
mobile: "",
|
|
|
|
|
// 手机号
|
|
|
|
|
point: 0
|
|
|
|
|
// 积分
|
|
|
|
|
};
|
|
|
|
|
const defaultUserWallet = {
|
|
|
|
|
balance: 0
|
|
|
|
|
// 余额
|
|
|
|
|
};
|
|
|
|
|
const defaultNumData = {
|
|
|
|
|
unusedCouponCount: 0,
|
|
|
|
|
orderCount: {
|
|
|
|
|
allCount: 0,
|
|
|
|
|
unpaidCount: 0,
|
|
|
|
|
undeliveredCount: 0,
|
|
|
|
|
deliveredCount: 0,
|
|
|
|
|
uncommentedCount: 0,
|
|
|
|
|
afterSaleCount: 0
|
|
|
|
|
}
|
|
|
|
|
};
|
|
|
|
|
const user = common_vendor.defineStore({
|
|
|
|
|
id: "user",
|
|
|
|
|
state: () => ({
|
|
|
|
|
userInfo: common_vendor.clone(defaultUserInfo),
|
|
|
|
|
// 用户信息
|
|
|
|
|
userWallet: common_vendor.clone(defaultUserWallet),
|
|
|
|
|
// 用户钱包信息
|
|
|
|
|
isLogin: !!common_vendor.index.getStorageSync("token"),
|
|
|
|
|
// 登录状态
|
|
|
|
|
numData: common_vendor.cloneDeep(defaultNumData),
|
|
|
|
|
// 用户其他数据
|
|
|
|
|
lastUpdateTime: 0
|
|
|
|
|
// 上次更新时间
|
|
|
|
|
}),
|
|
|
|
|
actions: {
|
|
|
|
|
// 获取用户信息
|
|
|
|
|
getInfo() {
|
|
|
|
|
return __async(this, null, function* () {
|
2024-10-01 09:15:35 +08:00
|
|
|
|
const { code, data } = yield modules_mall_sheep_api_member_user.UserApi.getUserInfo();
|
2024-09-19 07:20:14 +08:00
|
|
|
|
if (code !== 0) {
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
this.userInfo = data;
|
|
|
|
|
return Promise.resolve(data);
|
|
|
|
|
});
|
|
|
|
|
},
|
|
|
|
|
// 获得用户钱包
|
|
|
|
|
getWallet() {
|
|
|
|
|
return __async(this, null, function* () {
|
2024-10-01 09:15:35 +08:00
|
|
|
|
const { code, data } = yield modules_mall_sheep_api_pay_wallet.PayWalletApi.getPayWallet();
|
2024-09-19 07:20:14 +08:00
|
|
|
|
if (code !== 0) {
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
this.userWallet = data;
|
|
|
|
|
});
|
|
|
|
|
},
|
|
|
|
|
// 获取订单、优惠券等其他资产信息
|
|
|
|
|
getNumData() {
|
2024-10-01 09:15:35 +08:00
|
|
|
|
modules_mall_sheep_api_trade_order.OrderApi.getOrderCount().then((res) => {
|
2024-09-19 07:20:14 +08:00
|
|
|
|
if (res.code === 0) {
|
|
|
|
|
this.numData.orderCount = res.data;
|
|
|
|
|
}
|
|
|
|
|
});
|
2024-10-01 09:15:35 +08:00
|
|
|
|
modules_mall_sheep_api_promotion_coupon.CouponApi.getUnusedCouponCount().then((res) => {
|
2024-09-19 07:20:14 +08:00
|
|
|
|
if (res.code === 0) {
|
|
|
|
|
this.numData.unusedCouponCount = res.data;
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
},
|
|
|
|
|
// 设置 token
|
|
|
|
|
setToken(token = "", refreshToken = "") {
|
|
|
|
|
if (token === "") {
|
|
|
|
|
this.isLogin = false;
|
|
|
|
|
common_vendor.index.removeStorageSync("token");
|
|
|
|
|
common_vendor.index.removeStorageSync("refresh-token");
|
|
|
|
|
} else {
|
|
|
|
|
this.isLogin = true;
|
|
|
|
|
common_vendor.index.setStorageSync("token", token);
|
|
|
|
|
common_vendor.index.setStorageSync("refresh-token", refreshToken);
|
|
|
|
|
this.loginAfter();
|
|
|
|
|
}
|
|
|
|
|
return this.isLogin;
|
|
|
|
|
},
|
|
|
|
|
// 更新用户相关信息 (手动限流,5 秒之内不刷新)
|
|
|
|
|
updateUserData() {
|
|
|
|
|
return __async(this, null, function* () {
|
|
|
|
|
if (!this.isLogin) {
|
|
|
|
|
this.resetUserData();
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
const nowTime = (/* @__PURE__ */ new Date()).getTime();
|
|
|
|
|
if (this.lastUpdateTime + 5e3 > nowTime) {
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
this.lastUpdateTime = nowTime;
|
|
|
|
|
yield this.getInfo();
|
|
|
|
|
this.getWallet();
|
|
|
|
|
this.getNumData();
|
|
|
|
|
return this.userInfo;
|
|
|
|
|
});
|
|
|
|
|
},
|
|
|
|
|
// 重置用户默认数据
|
|
|
|
|
resetUserData() {
|
|
|
|
|
this.setToken();
|
|
|
|
|
this.userInfo = common_vendor.clone(defaultUserInfo);
|
|
|
|
|
this.userWallet = common_vendor.clone(defaultUserWallet);
|
|
|
|
|
this.numData = common_vendor.cloneDeep(defaultNumData);
|
2024-10-01 09:15:35 +08:00
|
|
|
|
modules_mall_sheep_store_cart.cart().emptyList();
|
2024-09-19 07:20:14 +08:00
|
|
|
|
},
|
|
|
|
|
// 登录后,加载各种信息
|
|
|
|
|
// TODO 芋艿:整理下;
|
|
|
|
|
loginAfter() {
|
|
|
|
|
return __async(this, null, function* () {
|
|
|
|
|
yield this.updateUserData();
|
2024-10-01 09:15:35 +08:00
|
|
|
|
modules_mall_sheep_store_cart.cart().getList();
|
|
|
|
|
modules_mall_sheep_platform_share.$share.getShareInfo();
|
|
|
|
|
if (modules_mall_sheep_store_app.app().platform.bind_mobile && !this.userInfo.mobile) {
|
|
|
|
|
modules_mall_sheep_hooks_useModal.showAuthModal("changeMobile");
|
2024-09-19 07:20:14 +08:00
|
|
|
|
}
|
2024-10-01 09:15:35 +08:00
|
|
|
|
modules_mall_sheep_platform_share.$share.bindBrokerageUser();
|
2024-09-19 07:20:14 +08:00
|
|
|
|
});
|
|
|
|
|
},
|
|
|
|
|
// 登出系统
|
|
|
|
|
logout() {
|
|
|
|
|
return __async(this, null, function* () {
|
|
|
|
|
this.resetUserData();
|
|
|
|
|
return !this.isLogin;
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
persist: {
|
|
|
|
|
enabled: true,
|
|
|
|
|
strategies: [
|
|
|
|
|
{
|
|
|
|
|
key: "user-store"
|
|
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
const __vite_glob_0_4 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
|
|
|
__proto__: null,
|
|
|
|
|
default: user
|
|
|
|
|
}, Symbol.toStringTag, { value: "Module" }));
|
|
|
|
|
exports.__vite_glob_0_4 = __vite_glob_0_4;
|
|
|
|
|
exports.user = user;
|