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