diff --git a/src/pages/User/Characters.vue b/src/pages/User/Characters.vue index 72d3da2e..2b5e6b3c 100644 --- a/src/pages/User/Characters.vue +++ b/src/pages/User/Characters.vue @@ -56,6 +56,7 @@ import { generateShareImg } from "../../utils/TGShare"; // store const userStore = useUserStore(); +const user = userStore.getCurAccount(); // loading const loading = ref(false); @@ -66,7 +67,6 @@ const loadingSub = ref(); const isEmpty = ref(true); const roleList = ref([]); const roleCookie = computed(() => userStore.getCookieGroup4()); -const user = computed(() => userStore.getCurAccount()); // overlay const visible = ref(false); @@ -94,7 +94,7 @@ function getGridGap(): void { } async function loadRole(): Promise { - const roleData = await TGSqlite.getUserCharacter(user.value.gameUid); + const roleData = await TGSqlite.getUserCharacter(user.gameUid); if (roleData !== false) { roleList.value = roleData; isEmpty.value = false; @@ -104,10 +104,10 @@ async function loadRole(): Promise { async function refreshRoles(): Promise { loadingTitle.value = "正在获取角色数据"; loading.value = true; - const res = await TGRequest.User.byLToken.getRoleList(roleCookie.value, user.value); + const res = await TGRequest.User.byLToken.getRoleList(roleCookie.value, user); if (Array.isArray(res)) { loadingTitle.value = "正在保存角色数据"; - await TGSqlite.saveUserCharacter(user.value.gameUid, res); + await TGSqlite.saveUserCharacter(user.gameUid, res); loadingTitle.value = "正在更新角色数据"; await loadRole(); } @@ -123,7 +123,7 @@ async function refreshTalent(): Promise { loadingSub.value = `CID:${role.cid}`; const res = await TGRequest.User.calculate.getSyncAvatarDetail( talentCookie, - user.value.gameUid, + user.gameUid, role.cid, ); if ("skill_list" in res) { @@ -138,7 +138,7 @@ async function refreshTalent(): Promise { icon: skill.icon, }); }); - await TGSqlite.saveUserCharacterTalent(user.value.gameUid, role.cid, talent); + await TGSqlite.saveUserCharacterTalent(user.gameUid, role.cid, talent); } else { loadingTitle.value = `获取${role.name}的天赋数据失败`; loadingSub.value = `[${res.retcode}] ${res.message}`; @@ -158,7 +158,7 @@ async function refreshTalent(): Promise { async function shareRoles(): Promise { const rolesBox = document.querySelector(".uc-box"); - const fileName = `【角色列表】-${user.value.gameUid}`; + const fileName = `【角色列表】-${user.gameUid}`; loadingTitle.value = "正在生成图片"; loadingSub.value = `${fileName}.png`; loading.value = true; diff --git a/src/pages/User/Record.vue b/src/pages/User/Record.vue index 0ae55b56..cf2128bf 100644 --- a/src/pages/User/Record.vue +++ b/src/pages/User/Record.vue @@ -50,6 +50,7 @@ import showSnackbar from "../../components/func/snackbar"; // store const userStore = useUserStore(); +const user = userStore.getCurAccount(); // loading const loading = ref(false); @@ -60,7 +61,6 @@ const loadingSub = ref(); const isEmpty = ref(true); const recordData = ref({}); const recordCookie = computed(() => userStore.getCookieGroup2()); -const user = computed(() => userStore.getCurAccount()); onMounted(async () => { loadingTitle.value = "正在加载战绩数据"; @@ -73,7 +73,7 @@ onMounted(async () => { }); async function initUserRecordData(): Promise { - const recordGet = await TGSqlite.getUserRecord(user.value.gameUid); + const recordGet = await TGSqlite.getUserRecord(user.gameUid); if (recordGet !== false) { recordData.value = recordGet; isEmpty.value = false; @@ -85,11 +85,11 @@ async function initUserRecordData(): Promise { async function refresh(): Promise { loadingTitle.value = "正在获取战绩数据"; loading.value = true; - const res = await TGRequest.User.getRecord(recordCookie.value, user.value); + const res = await TGRequest.User.getRecord(recordCookie.value, user); if (!("retcode" in res)) { console.log(res); loadingTitle.value = "正在保存战绩数据"; - await TGSqlite.saveUserRecord(res, user.value.gameUid); + await TGSqlite.saveUserRecord(res, user.gameUid); await initUserRecordData(); } else { showSnackbar({ @@ -107,7 +107,7 @@ function getTitle(): string { async function shareRecord(): Promise { const recordBox = document.querySelector(".ur-box"); - const fileName = `【原神战绩】-${user.value.gameUid}`; + const fileName = `【原神战绩】-${user.gameUid}`; loadingTitle.value = "正在生成图片"; loadingSub.value = `${fileName}.png`; loading.value = true; diff --git a/src/pages/common/Config.vue b/src/pages/common/Config.vue index b7697ce0..effd2395 100644 --- a/src/pages/common/Config.vue +++ b/src/pages/common/Config.vue @@ -311,6 +311,8 @@ async function confirmRefreshUser(): Promise { if (Array.isArray(accountRes)) { loadingTitle.value = "获取成功!正在保存到数据库!"; await TGSqlite.saveAccount(accountRes); + const curAccount = await TGSqlite.getCurAccount(); + if (curAccount) userStore.setCurAccount(curAccount); } else { console.error(accountRes); loadingTitle.value = "获取失败!";