fix: point exp

This commit is contained in:
zzc
2026-02-24 23:30:36 +08:00
parent e5a8f3ca3f
commit 19c18b478f
4 changed files with 43 additions and 9 deletions

18
App.vue
View File

@@ -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);
}
};

View File

@@ -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);

View File

@@ -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([]);

View File

@@ -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 = "";