fix: point exp
This commit is contained in:
18
App.vue
18
App.vue
@@ -3,12 +3,18 @@ import { useUserStore } from "./stores/user";
|
||||
import { userOpenApp } from "./api/auth";
|
||||
|
||||
const openApp = async () => {
|
||||
const res = await userOpenApp();
|
||||
if (res?.points && res.points > 0) {
|
||||
uni.showToast({
|
||||
title: `每日登录 +${res.points} 积分`,
|
||||
icon: "none",
|
||||
});
|
||||
try {
|
||||
const res = await userOpenApp();
|
||||
if (res?.points && res.points > 0) {
|
||||
uni.showToast({
|
||||
title: `每日登录 +${res.points} 积分`,
|
||||
icon: "none",
|
||||
});
|
||||
const userStore = useUserStore();
|
||||
await userStore.fetchUserAssets();
|
||||
}
|
||||
} catch (e) {
|
||||
console.error("userOpenApp error", e);
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
@@ -210,6 +210,9 @@ const handleAlipayLogin = async () => {
|
||||
id: loginRes?.user?.id,
|
||||
isVip: loginRes?.isVip || false,
|
||||
vipExpireAt: loginRes?.vipExpireAt || null,
|
||||
points: loginRes?.points || 0,
|
||||
exp: loginRes?.exp || 0,
|
||||
level: loginRes?.level || 0,
|
||||
});
|
||||
|
||||
userStore.setToken(loginRes.token);
|
||||
@@ -281,6 +284,9 @@ const confirmLogin = async () => {
|
||||
id: loginRes?.user?.id,
|
||||
isVip: loginRes?.isVip || false,
|
||||
vipExpireAt: loginRes?.vipExpireAt || null,
|
||||
points: loginRes?.points || 0,
|
||||
exp: loginRes?.exp || 0,
|
||||
level: loginRes?.level || 0,
|
||||
});
|
||||
|
||||
userStore.setToken(loginRes.token);
|
||||
|
||||
@@ -27,7 +27,7 @@
|
||||
</view>
|
||||
<view class="points-right">
|
||||
<text>当前积分:</text>
|
||||
<text class="score-val">{{ userScore }}</text>
|
||||
<text class="score-val">{{ userPoints }}</text>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
@@ -123,7 +123,7 @@ const userStore = useUserStore();
|
||||
const loginPopupRef = ref(null);
|
||||
|
||||
const isLoggedIn = computed(() => !!userStore.userInfo.nickName);
|
||||
const userScore = computed(() => userStore.userInfo.score || 0);
|
||||
const userPoints = computed(() => userStore.userInfo.points || 0);
|
||||
const downloadCost = ref(20);
|
||||
|
||||
const categories = ref([]);
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import { defineStore } from "pinia";
|
||||
import { wxLogin, wxGetUserProfile } from "@/utils/login.js";
|
||||
import { getPlatformProvider } from "@/utils/system";
|
||||
import { getUserInfo } from "@/api/auth.js";
|
||||
import { getUserInfo, getUserAsset } from "@/api/auth.js";
|
||||
|
||||
export const useUserStore = defineStore("user", {
|
||||
state: () => ({
|
||||
@@ -55,6 +55,28 @@ export const useUserStore = defineStore("user", {
|
||||
console.error("fetchUserInfo error", e);
|
||||
}
|
||||
},
|
||||
async fetchUserAssets() {
|
||||
try {
|
||||
const res = await getUserAsset();
|
||||
if (res) {
|
||||
const newInfo = { ...this.userInfo, ...res };
|
||||
if (res.points !== undefined) {
|
||||
newInfo.points = res.points;
|
||||
}
|
||||
|
||||
if (res.exp !== undefined) {
|
||||
newInfo.exp = res.exp;
|
||||
}
|
||||
|
||||
if (res.level !== undefined) {
|
||||
newInfo.level = res.level;
|
||||
}
|
||||
this.setUserInfo(newInfo);
|
||||
}
|
||||
} catch (e) {
|
||||
console.error("fetchUserAssets error", e);
|
||||
}
|
||||
},
|
||||
logout() {
|
||||
this.userInfo = {};
|
||||
this.token = "";
|
||||
|
||||
Reference in New Issue
Block a user