mirror of
https://github.com/BTMuli/TeyvatGuide.git
synced 2026-04-25 22:29:42 +08:00
♻️ showSnackbar重构
This commit is contained in:
@@ -172,7 +172,7 @@ watch(
|
||||
async function toCombat(): Promise<void> {
|
||||
const check = await TSUserCombat.check();
|
||||
if (!check) {
|
||||
showSnackbar({ text: "未检测到剧诗表,请更新数据库!", color: "warn" });
|
||||
showSnackbar.warn("未检测到剧诗表,请更新数据库!");
|
||||
return;
|
||||
}
|
||||
await router.push({ name: "真境剧诗" });
|
||||
@@ -191,7 +191,7 @@ async function loadAbyss(): Promise<void> {
|
||||
|
||||
async function refreshAbyss(): Promise<void> {
|
||||
if (!userStore.cookie.value) {
|
||||
showSnackbar({ text: "未登录", color: "error" });
|
||||
showSnackbar.warn("未登录");
|
||||
await TGLogger.Warn("[UserAbyss][getAbyssData] 未登录");
|
||||
return;
|
||||
}
|
||||
@@ -210,7 +210,7 @@ async function refreshAbyss(): Promise<void> {
|
||||
text: `用户${user.value.gameUid}与当前UID${uidCur.value}不一致`,
|
||||
});
|
||||
if (!confirm) {
|
||||
showSnackbar({ text: "已取消深渊数据刷新", color: "cancel" });
|
||||
showSnackbar.cancel("已取消深渊数据刷新");
|
||||
return;
|
||||
}
|
||||
}
|
||||
@@ -219,30 +219,28 @@ async function refreshAbyss(): Promise<void> {
|
||||
loading.value = true;
|
||||
loadingTitle.value = `正在获取${user.value.gameUid}的上期深渊数据`;
|
||||
const resP = await TGRequest.User.byCookie.getAbyss(userStore.cookie.value, "2", user.value);
|
||||
if (!("retcode" in resP)) {
|
||||
await TGLogger.Info("[UserAbyss][getAbyssData] 成功获取上期深渊数据");
|
||||
loadingTitle.value = `正在保存${user.value.gameUid}的上期深渊数据`;
|
||||
await TSUserAbyss.saveAbyss(user.value.gameUid, resP);
|
||||
} else {
|
||||
showSnackbar({ text: `[${resP.retcode}]${resP.message}`, color: "error" });
|
||||
if ("retcode" in resP) {
|
||||
showSnackbar.error(`[${resP.retcode}]${resP.message}`);
|
||||
loading.value = false;
|
||||
await TGLogger.Error(`[UserAbyss][getAbyssData] 获取${user.value.gameUid}的上期深渊数据失败`);
|
||||
await TGLogger.Error(`[UserAbyss][getAbyssData] ${resP.retcode} ${resP.message}`);
|
||||
return;
|
||||
}
|
||||
await TGLogger.Info("[UserAbyss][getAbyssData] 成功获取上期深渊数据");
|
||||
loadingTitle.value = `正在保存${user.value.gameUid}的上期深渊数据`;
|
||||
await TSUserAbyss.saveAbyss(user.value.gameUid, resP);
|
||||
loadingTitle.value = `正在获取${user.value.gameUid}的上期深渊数据`;
|
||||
const res = await TGRequest.User.byCookie.getAbyss(userStore.cookie.value, "1", user.value);
|
||||
if (!("retcode" in res)) {
|
||||
loadingTitle.value = `正在保存${user.value.gameUid}的本期深渊数据`;
|
||||
await TSUserAbyss.saveAbyss(user.value.gameUid, res);
|
||||
await TGLogger.Info(`[UserAbyss][getAbyssData] 成功获取${user.value.gameUid}的本期深渊数据`);
|
||||
} else {
|
||||
showSnackbar({ text: `[${res.retcode}]${res.message}`, color: "error" });
|
||||
if ("retcode" in res) {
|
||||
showSnackbar.error(`[${res.retcode}]${res.message}`);
|
||||
loading.value = false;
|
||||
await TGLogger.Error(`[UserAbyss][getAbyssData] 获取${user.value.gameUid}的本期深渊数据失败`);
|
||||
await TGLogger.Error(`[UserAbyss][getAbyssData] ${res.retcode} ${res.message}`);
|
||||
return;
|
||||
}
|
||||
loadingTitle.value = `正在保存${user.value.gameUid}的本期深渊数据`;
|
||||
await TSUserAbyss.saveAbyss(user.value.gameUid, res);
|
||||
await TGLogger.Info(`[UserAbyss][getAbyssData] 成功获取${user.value.gameUid}的本期深渊数据`);
|
||||
loadingTitle.value = "正在加载深渊数据";
|
||||
uidList.value = await TSUserAbyss.getAllUid();
|
||||
uidCur.value = user.value.gameUid;
|
||||
@@ -267,13 +265,13 @@ async function uploadAbyss(): Promise<void> {
|
||||
await TGLogger.Info("[UserAbyss][uploadAbyss] 上传深渊数据");
|
||||
const abyssData = localAbyss.value.find((item) => item.id === Math.max(...abyssIdList.value));
|
||||
if (!abyssData) {
|
||||
showSnackbar({ text: "未找到深渊数据", color: "error" });
|
||||
showSnackbar.warn("未找到深渊数据");
|
||||
await TGLogger.Warn("[UserAbyss][uploadAbyss] 未找到深渊数据");
|
||||
return;
|
||||
}
|
||||
const maxFloor = Number(abyssData.maxFloor.split("-")[0]);
|
||||
if (isNaN(maxFloor) || maxFloor <= 9) {
|
||||
showSnackbar({ text: "尚未完成深渊,请完成深渊后重试!", color: "error" });
|
||||
showSnackbar.warn("尚未完成深渊,请完成深渊后重试!");
|
||||
await TGLogger.Warn(`[UserAbyss][uploadAbyss] 尚未完成深渊 ${abyssData.maxFloor}`);
|
||||
return;
|
||||
}
|
||||
@@ -281,7 +279,7 @@ async function uploadAbyss(): Promise<void> {
|
||||
const endTime = new Date(abyssData.endTime).getTime();
|
||||
const nowTime = new Date().getTime();
|
||||
if (nowTime < startTime || nowTime > endTime) {
|
||||
showSnackbar({ text: "非最新深渊数据,请刷新深渊数据后重试!", color: "error" });
|
||||
showSnackbar.warn("非最新深渊数据,请刷新深渊数据后重试!");
|
||||
await TGLogger.Warn("[UserAbyss][uploadAbyss] 非最新深渊数据");
|
||||
return;
|
||||
}
|
||||
@@ -300,17 +298,17 @@ async function uploadAbyss(): Promise<void> {
|
||||
loadingTitle.value = "正在上传深渊数据";
|
||||
const res = await Hutao.Abyss.upload(transAbyss);
|
||||
loading.value = false;
|
||||
if (res.retcode === 0) {
|
||||
showSnackbar({ text: res.message ?? "上传深渊数据成功" });
|
||||
await TGLogger.Info("[UserAbyss][uploadAbyss] 上传深渊数据成功");
|
||||
} else {
|
||||
showSnackbar({ text: `[${res.retcode}]${res.message}`, color: "error" });
|
||||
if (res.retcode !== 0) {
|
||||
showSnackbar.error(`[${res.retcode}]${res.message}`);
|
||||
await TGLogger.Error("[UserAbyss][uploadAbyss] 上传深渊数据失败");
|
||||
await TGLogger.Error(`[UserAbyss][uploadAbyss] ${res.retcode} ${res.message}`);
|
||||
return;
|
||||
}
|
||||
showSnackbar.success(res.message ?? "上传深渊数据成功");
|
||||
await TGLogger.Info("[UserAbyss][uploadAbyss] 上传深渊数据成功");
|
||||
} catch (e) {
|
||||
if (e instanceof Error) {
|
||||
showSnackbar({ text: e.message, color: "error" });
|
||||
showSnackbar.error(e.message);
|
||||
await TGLogger.Error("[UserAbyss][uploadAbyss] 上传深渊数据失败");
|
||||
await TGLogger.Error(`[UserAbyss][uploadAbyss] ${e.message}`);
|
||||
}
|
||||
@@ -320,7 +318,7 @@ async function uploadAbyss(): Promise<void> {
|
||||
|
||||
async function deleteAbyss(): Promise<void> {
|
||||
if (uidCur.value === undefined || uidCur.value === "") {
|
||||
showSnackbar({ text: "未找到符合条件的数据!", color: "error" });
|
||||
showSnackbar.warn("未选择游戏UID");
|
||||
return;
|
||||
}
|
||||
const confirm = await showConfirm({
|
||||
@@ -328,7 +326,7 @@ async function deleteAbyss(): Promise<void> {
|
||||
text: `将清除${uidCur.value}的所有深渊数据`,
|
||||
});
|
||||
if (!confirm) {
|
||||
showSnackbar({ text: "已取消删除", color: "cancel" });
|
||||
showSnackbar.cancel("已取消删除");
|
||||
return;
|
||||
}
|
||||
loadingTitle.value = `正在删除 ${uidCur.value} 的深渊数据`;
|
||||
@@ -336,7 +334,7 @@ async function deleteAbyss(): Promise<void> {
|
||||
await TSUserAbyss.delAbyss(uidCur.value);
|
||||
await new Promise((resolve) => setTimeout(resolve, 1000));
|
||||
loading.value = false;
|
||||
showSnackbar({ text: `已清除 ${uidCur.value} 的深渊数据`, color: "success" });
|
||||
showSnackbar.success(`已清除 ${uidCur.value} 的深渊数据`);
|
||||
uidList.value = await TSUserAbyss.getAllUid();
|
||||
if (uidList.value.length > 0) uidCur.value = uidList.value[0];
|
||||
else uidCur.value = undefined;
|
||||
|
||||
@@ -169,10 +169,10 @@ onMounted(async () => {
|
||||
|
||||
watch(
|
||||
() => resetSelect.value,
|
||||
(val) => {
|
||||
if (val) {
|
||||
() => {
|
||||
if (resetSelect.value) {
|
||||
selectedList.value = getOrderedList(roleList.value);
|
||||
showSnackbar({ text: "已重置筛选条件", color: "success" });
|
||||
showSnackbar.success("已重置筛选条件");
|
||||
if (!dataVal.value) return;
|
||||
selectIndex.value = selectedList.value.indexOf(dataVal.value);
|
||||
if (selectIndex.value === -1) {
|
||||
@@ -184,16 +184,16 @@ watch(
|
||||
);
|
||||
watch(
|
||||
() => showMode.value,
|
||||
(val) => {
|
||||
switch (val) {
|
||||
() => {
|
||||
switch (showMode.value) {
|
||||
case "classic":
|
||||
showSnackbar({ text: "已切换至经典视图", color: "success" });
|
||||
showSnackbar.success("已切换至经典视图");
|
||||
break;
|
||||
case "card":
|
||||
showSnackbar({ text: "已切换至卡片视图(简略)", color: "success" });
|
||||
showSnackbar.success("已切换至卡片视图(简略)");
|
||||
break;
|
||||
case "dev":
|
||||
showSnackbar({ text: "已切换至卡片视图(详细)", color: "success" });
|
||||
showSnackbar.success("已切换至卡片视图(详细)");
|
||||
break;
|
||||
}
|
||||
},
|
||||
@@ -238,7 +238,7 @@ async function loadRole(): Promise<void> {
|
||||
isEmpty.value = roleList.value.length === 0;
|
||||
await TGLogger.Info(`[Character][loadRole][${uidCur.value}] 成功加载角色数据`);
|
||||
await TGLogger.Info(`[Character][loadRole][${uidCur.value}] 共获取到${roleData.length}个角色`);
|
||||
showSnackbar({ text: `成功加载${roleData.length}个角色`, color: "success" });
|
||||
showSnackbar.success(`成功加载${roleData.length}个角色`);
|
||||
}
|
||||
|
||||
async function refresh(): Promise<void> {
|
||||
@@ -266,7 +266,7 @@ async function refresh(): Promise<void> {
|
||||
text: `用户${user.value.gameUid}与当前UID${uidCur.value}不一致`,
|
||||
});
|
||||
if (!confirm) {
|
||||
showSnackbar({ text: "已取消角色数据刷新", color: "cancel" });
|
||||
showSnackbar.cancel("已取消角色数据刷新");
|
||||
return;
|
||||
}
|
||||
}
|
||||
@@ -275,14 +275,14 @@ async function refresh(): Promise<void> {
|
||||
loading.value = true;
|
||||
loadData.value = true;
|
||||
if (!userStore.cookie.value) {
|
||||
showSnackbar({ text: "请先登录", color: "error" });
|
||||
showSnackbar.warn("请先登录");
|
||||
loading.value = false;
|
||||
loadData.value = false;
|
||||
return;
|
||||
}
|
||||
const indexRes = await TGRequest.User.byCookie.getAvatarIndex(userStore.cookie.value, user.value);
|
||||
if (indexRes.retcode !== 0) {
|
||||
showSnackbar({ text: `[${indexRes.retcode}] ${indexRes.message}` });
|
||||
showSnackbar.error(`[${indexRes.retcode}] ${indexRes.message}`);
|
||||
await TGLogger.Error(JSON.stringify(indexRes.message));
|
||||
loading.value = false;
|
||||
loadData.value = false;
|
||||
@@ -290,7 +290,7 @@ async function refresh(): Promise<void> {
|
||||
}
|
||||
const listRes = await TGRequest.User.byCookie.getAvatarList(userStore.cookie.value, user.value);
|
||||
if (!Array.isArray(listRes)) {
|
||||
showSnackbar({ text: `[${listRes.retcode}] ${listRes.message}`, color: "error" });
|
||||
showSnackbar.error(`[${listRes.retcode}] ${listRes.message}`);
|
||||
await TGLogger.Error(`[Character][refreshRoles][${user.value.gameUid}] 获取角色列表失败`);
|
||||
await TGLogger.Error(
|
||||
`[Character][refreshRoles][${user.value.gameUid}] ${listRes.retcode} ${listRes.message}`,
|
||||
@@ -308,7 +308,7 @@ async function refresh(): Promise<void> {
|
||||
idList,
|
||||
);
|
||||
if ("retcode" in res) {
|
||||
showSnackbar({ text: `[${res.retcode}] ${res.message}`, color: "error" });
|
||||
showSnackbar.error(`[${res.retcode}] ${res.message}`);
|
||||
await TGLogger.Error(`[Character][refreshRoles][${user.value.gameUid}] 获取角色数据失败`);
|
||||
await TGLogger.Error(
|
||||
`[Character][refreshRoles][${user.value.gameUid}] ${res.retcode} ${res.message}`,
|
||||
@@ -331,7 +331,7 @@ async function refresh(): Promise<void> {
|
||||
|
||||
async function share(): Promise<void> {
|
||||
if (!user.value || isEmpty.value) {
|
||||
showSnackbar({ text: "暂无数据", color: "error" });
|
||||
showSnackbar.warn("暂无数据");
|
||||
return;
|
||||
}
|
||||
await TGLogger.Info(`[Character][shareRoles][${user.value.gameUid}] 正在生成分享图片`);
|
||||
@@ -350,7 +350,7 @@ async function share(): Promise<void> {
|
||||
|
||||
async function deleteUid(): Promise<void> {
|
||||
if (!uidCur.value) {
|
||||
showSnackbar({ text: "未找到当前UID", color: "error" });
|
||||
showSnackbar.warn("未找到当前UID");
|
||||
return;
|
||||
}
|
||||
const confirm = await showConfirm({
|
||||
@@ -358,11 +358,11 @@ async function deleteUid(): Promise<void> {
|
||||
text: `将删除${uidCur.value}对应的角色数据`,
|
||||
});
|
||||
if (!confirm) {
|
||||
showSnackbar({ text: "已取消删除", color: "cancel" });
|
||||
showSnackbar.cancel("已取消删除");
|
||||
return;
|
||||
}
|
||||
await TSUserAvatar.deleteUid(uidCur.value);
|
||||
showSnackbar({ text: `成功删除${uidCur.value}的角色数据` });
|
||||
showSnackbar.success(`成功删除${uidCur.value}的角色数据`);
|
||||
await loadUid();
|
||||
await loadRole();
|
||||
}
|
||||
@@ -397,10 +397,10 @@ function handleSelect(val: SelectedCValue) {
|
||||
return val.area.includes(avatar.area);
|
||||
});
|
||||
if (filterC.length === 0) {
|
||||
showSnackbar({ text: "未找到符合条件的角色", color: "warn" });
|
||||
showSnackbar.warn("未找到符合条件的角色");
|
||||
return;
|
||||
}
|
||||
showSnackbar({ text: `筛选出符合条件的角色 ${filterC.length} 个`, color: "success" });
|
||||
showSnackbar.success(`筛选出符合条件的角色 ${filterC.length} 个`);
|
||||
const selectedId = filterC.map((item) => item.id);
|
||||
selectedList.value = roleList.value.filter((role) => selectedId.includes(role.cid));
|
||||
if (!dataVal.value) return;
|
||||
|
||||
@@ -162,7 +162,7 @@ async function loadCombat(): Promise<void> {
|
||||
|
||||
async function refreshCombat(): Promise<void> {
|
||||
if (!userStore.cookie.value) {
|
||||
showSnackbar({ text: "未登录", color: "error" });
|
||||
showSnackbar.error("未登录");
|
||||
await TGLogger.Warn("[UserCombat][getAbyssData] 未登录");
|
||||
return;
|
||||
}
|
||||
@@ -181,7 +181,7 @@ async function refreshCombat(): Promise<void> {
|
||||
text: `用户${user.value.gameUid}与当前UID${uidCur.value}不一致`,
|
||||
});
|
||||
if (!confirm) {
|
||||
showSnackbar({ text: "已取消剧诗数据刷新", color: "cancel" });
|
||||
showSnackbar.cancel("已取消剧诗数据刷新");
|
||||
return;
|
||||
}
|
||||
}
|
||||
@@ -192,11 +192,11 @@ async function refreshCombat(): Promise<void> {
|
||||
const res = await TGRequest.User.byCookie.getCombat(userStore.cookie.value, user.value);
|
||||
if (res === false) {
|
||||
loading.value = false;
|
||||
showSnackbar({ text: "用户未解锁幻想真境剧诗!", color: "warn" });
|
||||
showSnackbar.warn("用户未解锁幻想真境剧诗");
|
||||
return;
|
||||
}
|
||||
if ("retcode" in res) {
|
||||
showSnackbar({ text: `[${res.retcode}]${res.message}`, color: "error" });
|
||||
showSnackbar.error(`[${res.retcode}]${res.message}`);
|
||||
loading.value = false;
|
||||
await TGLogger.Error(`[UserCombat][getCombatData] 获取${user.value.gameUid}的剧诗数据失败`);
|
||||
await TGLogger.Error(`[UserCombat][getCombatData] ${res.retcode} ${res.message}`);
|
||||
@@ -231,12 +231,12 @@ async function uploadCombat(): Promise<void> {
|
||||
await TGLogger.Info("[UserCombat][uploadCombat] 上传剧诗数据");
|
||||
const combatData = localCombat.value.find((item) => item.id === Math.max(...combatIdList.value));
|
||||
if (!combatData) {
|
||||
showSnackbar({ text: "未找到剧诗数据", color: "error" });
|
||||
showSnackbar.error("未找到剧诗数据");
|
||||
await TGLogger.Warn("[UserCombat][uploadCombat] 未找到深渊数据");
|
||||
return;
|
||||
}
|
||||
if (!combatData.hasDetailData) {
|
||||
showSnackbar({ text: "未获取到详情数据", color: "error" });
|
||||
showSnackbar.error("未获取到详情数据");
|
||||
await TGLogger.Warn(`[UserCombat][uploadCombat] 未获取到详细数据`);
|
||||
return;
|
||||
}
|
||||
@@ -244,7 +244,7 @@ async function uploadCombat(): Promise<void> {
|
||||
const endTime = new Date(combatData.endTime).getTime();
|
||||
const nowTime = new Date().getTime();
|
||||
if (nowTime < startTime || nowTime > endTime) {
|
||||
showSnackbar({ text: "非最新剧诗数据,请刷新剧诗数据后重试!", color: "error" });
|
||||
showSnackbar.warn("非最新剧诗数据,请刷新剧诗数据后重试!");
|
||||
await TGLogger.Warn("[UserCombat][uploadCombat] 非最新剧诗数据");
|
||||
return;
|
||||
}
|
||||
@@ -257,16 +257,16 @@ async function uploadCombat(): Promise<void> {
|
||||
const res = await Hutao.Combat.upload(transCombat);
|
||||
loading.value = false;
|
||||
if (res.retcode === 0) {
|
||||
showSnackbar({ text: res.message ?? "上传剧诗数据成功" });
|
||||
showSnackbar.success(res.message ?? "上传剧诗数据成功");
|
||||
await TGLogger.Info("[UserCombat][uploadCombat] 上传剧诗数据成功");
|
||||
} else {
|
||||
showSnackbar({ text: `[${res.retcode}]${res.message}`, color: "error" });
|
||||
showSnackbar.error(`[${res.retcode}]${res.message}`);
|
||||
await TGLogger.Error("[UserCombat][uploadCombat] 上传剧诗数据失败");
|
||||
await TGLogger.Error(`[UserCombat][uploadCombat] ${res.retcode} ${res.message}`);
|
||||
}
|
||||
} catch (e) {
|
||||
if (e instanceof Error) {
|
||||
showSnackbar({ text: e.message, color: "error" });
|
||||
showSnackbar.error(e.message);
|
||||
await TGLogger.Error("[UserCombat][uploadCombat] 上传剧诗数据失败");
|
||||
await TGLogger.Error(`[UserCombat][uploadCombat] ${e.message}`);
|
||||
}
|
||||
@@ -276,7 +276,7 @@ async function uploadCombat(): Promise<void> {
|
||||
|
||||
async function deleteCombat(): Promise<void> {
|
||||
if (uidCur.value === undefined || uidCur.value === "") {
|
||||
showSnackbar({ text: "未找到符合条件的数据!", color: "error" });
|
||||
showSnackbar.error("未找到符合条件的数据!");
|
||||
return;
|
||||
}
|
||||
const confirm = await showConfirm({
|
||||
@@ -284,7 +284,7 @@ async function deleteCombat(): Promise<void> {
|
||||
text: `将清除${uidCur.value}的所有剧诗数据`,
|
||||
});
|
||||
if (!confirm) {
|
||||
showSnackbar({ text: "已取消删除", color: "cancel" });
|
||||
showSnackbar.cancel("已取消删除");
|
||||
return;
|
||||
}
|
||||
loadingTitle.value = `正在删除 ${uidCur.value} 的剧诗数据`;
|
||||
@@ -292,7 +292,7 @@ async function deleteCombat(): Promise<void> {
|
||||
await TSUserCombat.delCombat(uidCur.value);
|
||||
await new Promise((resolve) => setTimeout(resolve, 1000));
|
||||
loading.value = false;
|
||||
showSnackbar({ text: `已清除 ${uidCur.value} 的剧诗数据`, color: "success" });
|
||||
showSnackbar.success(`已清除 ${uidCur.value} 的剧诗数据`);
|
||||
uidList.value = await TSUserCombat.getAllUid();
|
||||
if (uidList.value.length > 0) uidCur.value = uidList.value[0];
|
||||
else uidCur.value = undefined;
|
||||
|
||||
@@ -97,7 +97,7 @@ watch(
|
||||
async (newUid) => {
|
||||
if (!newUid) return;
|
||||
gachaListCur.value = await TSUserGacha.getGachaRecords(newUid);
|
||||
showSnackbar({ text: `成功获取 ${gachaListCur.value.length} 条祈愿数据` });
|
||||
showSnackbar.success(`成功获取 ${gachaListCur.value.length} 条祈愿数据`);
|
||||
await TGLogger.Info(
|
||||
`[UserGacha][${newUid}][watch] 成功获取 ${gachaListCur.value.length} 条祈愿数据`,
|
||||
);
|
||||
@@ -109,10 +109,7 @@ onMounted(async () => {
|
||||
loadingTitle.value = "正在获取祈愿 UID 列表";
|
||||
selectItem.value = await TSUserGacha.getUidList();
|
||||
if (selectItem.value.length === 0) {
|
||||
showSnackbar({
|
||||
color: "error",
|
||||
text: "暂无祈愿数据,请先导入祈愿数据",
|
||||
});
|
||||
showSnackbar.error("暂无祈愿数据,请先导入祈愿数据");
|
||||
loading.value = false;
|
||||
await TGLogger.Warn("[UserGacha][onMounted] 暂无祈愿数据,请先导入祈愿数据");
|
||||
return;
|
||||
@@ -125,9 +122,7 @@ onMounted(async () => {
|
||||
);
|
||||
loadingTitle.value = "正在渲染数据";
|
||||
loading.value = false;
|
||||
showSnackbar({
|
||||
text: `成功获取 ${gachaListCur.value.length} 条祈愿数据`,
|
||||
});
|
||||
showSnackbar.success(`成功获取 ${gachaListCur.value.length} 条祈愿数据`);
|
||||
});
|
||||
|
||||
// 刷新按钮点击事件
|
||||
@@ -148,14 +143,14 @@ async function confirmRefresh(force: boolean): Promise<void> {
|
||||
text: `用户${account.value.gameUid}与当前UID${uidCur.value}不一致`,
|
||||
});
|
||||
if (!confirm) {
|
||||
showSnackbar({ text: "已取消祈愿数据刷新", color: "cancel" });
|
||||
showSnackbar.cancel("已取消祈愿数据刷新");
|
||||
return;
|
||||
}
|
||||
}
|
||||
loadingTitle.value = "正在获取 authkey";
|
||||
loading.value = true;
|
||||
if (!userStore.cookie.value) {
|
||||
showSnackbar({ color: "error", text: "请先登录" });
|
||||
showSnackbar.error("请先登录");
|
||||
loading.value = false;
|
||||
await TGLogger.Warn("[UserGacha][${account.gameUid}][confirmRefresh] 未检测到 cookie");
|
||||
return;
|
||||
@@ -165,7 +160,7 @@ async function confirmRefresh(force: boolean): Promise<void> {
|
||||
authkey.value = authkeyRes;
|
||||
await TGLogger.Info(`[UserGacha][${account.value.gameUid}][confirmRefresh] 成功获取 authkey`);
|
||||
} else {
|
||||
showSnackbar({ color: "error", text: "获取 authkey 失败" });
|
||||
showSnackbar.error("获取 authkey 失败");
|
||||
await TGLogger.Error(`[UserGacha][${account.value.gameUid}][confirmRefresh] 获取 authkey 失败`);
|
||||
await TGLogger.Error(
|
||||
`[UserGacha][${account.value.gameUid}][confirmRefresh] ${authkeyRes.retcode} ${authkeyRes.message}`,
|
||||
@@ -225,11 +220,7 @@ async function getGachaLogs(pool: string, endId: string = "0", check?: string):
|
||||
`[UserGacha][${uid}][getGachaLogs] 成功获取到 ${gachaRes.length} 条祈愿数据`,
|
||||
);
|
||||
if (gachaRes.length === 0) {
|
||||
await new Promise((resolve) => {
|
||||
setTimeout(() => {
|
||||
resolve("");
|
||||
}, 1000);
|
||||
});
|
||||
await new Promise((resolve) => setTimeout(() => resolve(""), 1000));
|
||||
return;
|
||||
}
|
||||
const uigfList: TGApp.Plugins.UIGF.GachaItem[] = [];
|
||||
@@ -273,7 +264,7 @@ async function getGachaLogs(pool: string, endId: string = "0", check?: string):
|
||||
await getGachaLogs(pool, gachaRes[gachaRes.length - 1].id, check);
|
||||
}
|
||||
} else {
|
||||
showSnackbar({ color: "error", text: `[${pool}][${gachaRes.retcode}] ${gachaRes.message}` });
|
||||
showSnackbar.error(`[${pool}][${gachaRes.retcode}] ${gachaRes.message}`);
|
||||
await TGLogger.Error(`[UserGacha][${uid}][getGachaLogs] 获取祈愿数据失败`);
|
||||
await TGLogger.Error(
|
||||
`[UserGacha][${uid}][getGachaLogs] ${gachaRes.retcode} ${gachaRes.message}`,
|
||||
@@ -292,7 +283,7 @@ async function handleImportBtn(isV4: boolean): Promise<void> {
|
||||
directory: false,
|
||||
});
|
||||
if (selectedFile === null) {
|
||||
showSnackbar({ color: "cancel", text: "已取消文件选择" });
|
||||
showSnackbar.cancel("已取消文件选择");
|
||||
return;
|
||||
}
|
||||
const check = await verifyUigfData(selectedFile, isV4);
|
||||
@@ -311,7 +302,7 @@ async function importUigf4(filePath: string): Promise<void> {
|
||||
text: `共 ${uidCount} 个 UID,${dataCount} 条数据`,
|
||||
});
|
||||
if (!res) {
|
||||
showSnackbar({ color: "cancel", text: "已取消祈愿数据导入" });
|
||||
showSnackbar.cancel("已取消祈愿数据导入");
|
||||
return;
|
||||
}
|
||||
loadingTitle.value = "正在导入祈愿数据(v4)";
|
||||
@@ -321,13 +312,11 @@ async function importUigf4(filePath: string): Promise<void> {
|
||||
await TSUserGacha.mergeUIGF4(account);
|
||||
}
|
||||
loading.value = false;
|
||||
showSnackbar({ text: `成功导入 ${uidCount} 个 UID 的 ${dataCount} 条祈愿数据` });
|
||||
showSnackbar.success(`成功导入 ${uidCount} 个 UID 的 ${dataCount} 条祈愿数据`);
|
||||
await TGLogger.Info(
|
||||
`[UserGacha][importUigf4] 成功导入 ${uidCount} 个 UID,${dataCount} 条祈愿数据`,
|
||||
);
|
||||
setTimeout(() => {
|
||||
window.location.reload();
|
||||
}, 1000);
|
||||
setTimeout(() => window.location.reload(), 1000);
|
||||
}
|
||||
|
||||
async function importUigf(filePath: string): Promise<void> {
|
||||
@@ -337,25 +326,23 @@ async function importUigf(filePath: string): Promise<void> {
|
||||
text: `UID:${remoteData.info.uid},共 ${remoteData.list.length} 条数据`,
|
||||
});
|
||||
if (!confirm) {
|
||||
showSnackbar({ color: "cancel", text: "已取消祈愿数据导入" });
|
||||
showSnackbar.cancel("已取消祈愿数据导入");
|
||||
return;
|
||||
}
|
||||
loadingTitle.value = "正在导入祈愿数据";
|
||||
loading.value = true;
|
||||
if (remoteData.list.length === 0) {
|
||||
loading.value = false;
|
||||
showSnackbar({ color: "error", text: "导入的祈愿数据为空" });
|
||||
showSnackbar.error("导入的祈愿数据为空");
|
||||
return;
|
||||
}
|
||||
await TSUserGacha.mergeUIGF(remoteData.info.uid, remoteData.list);
|
||||
loading.value = false;
|
||||
showSnackbar({ text: `成功导入 ${remoteData.list.length} 条祈愿数据` });
|
||||
showSnackbar.success(`成功导入 ${remoteData.list.length} 条祈愿数据`);
|
||||
await TGLogger.Info(
|
||||
`[UserGacha][importUigf] 成功导入 ${remoteData.info.uid} 的 ${remoteData.list.length} 条祈愿数据`,
|
||||
);
|
||||
setTimeout(() => {
|
||||
window.location.reload();
|
||||
}, 1000);
|
||||
setTimeout(() => window.location.reload(), 1000);
|
||||
}
|
||||
|
||||
// 导出当前UID的祈愿数据
|
||||
@@ -364,7 +351,7 @@ async function exportUigf(): Promise<void> {
|
||||
await TGLogger.Info(`[UserGacha][${uidCur.value}][exportUigf] 导出祈愿数据`);
|
||||
const gachaList = await TSUserGacha.getGachaRecords(uidCur.value);
|
||||
if (gachaList.length === 0) {
|
||||
showSnackbar({ color: "error", text: `UID ${uidCur.value} 暂无祈愿数据` });
|
||||
showSnackbar.error(`UID ${uidCur.value} 暂无祈愿数据`);
|
||||
return;
|
||||
}
|
||||
const res = await showConfirm({
|
||||
@@ -372,7 +359,7 @@ async function exportUigf(): Promise<void> {
|
||||
text: `UID:${uidCur.value},共 ${gachaList.length} 条数据`,
|
||||
});
|
||||
if (!res) {
|
||||
showSnackbar({ color: "cancel", text: `已取消 UID ${uidCur.value} 的祈愿数据导出` });
|
||||
showSnackbar.cancel(`已取消 UID ${uidCur.value} 的祈愿数据导出`);
|
||||
return;
|
||||
}
|
||||
const file = await save({
|
||||
@@ -381,7 +368,7 @@ async function exportUigf(): Promise<void> {
|
||||
defaultPath: `${await path.downloadDir()}${path.sep()}UIGF_${uidCur.value}.json`,
|
||||
});
|
||||
if (!file) {
|
||||
showSnackbar({ color: "cancel", text: "已取消文件保存" });
|
||||
showSnackbar.cancel("已取消文件保存");
|
||||
return;
|
||||
}
|
||||
await TGLogger.Info(
|
||||
@@ -391,7 +378,7 @@ async function exportUigf(): Promise<void> {
|
||||
loading.value = true;
|
||||
await exportUigfData(uidCur.value, gachaList, file);
|
||||
loading.value = false;
|
||||
showSnackbar({ text: `成功导出 ${uidCur.value} 的祈愿数据` });
|
||||
showSnackbar.success(`成功导出 ${uidCur.value} 的祈愿数据`);
|
||||
await TGLogger.Info(`[UserGacha][${uidCur.value}][exportUigf] 导出祈愿数据完成`);
|
||||
}
|
||||
|
||||
@@ -400,7 +387,7 @@ async function exportUigf4(): Promise<void> {
|
||||
if (!uidCur.value) return;
|
||||
const checkConfirm = await showConfirm({ title: "确定导出UIGFv4格式的祈愿数据?" });
|
||||
if (!checkConfirm) {
|
||||
showSnackbar({ color: "cancel", text: "已取消 UIGF v4 格式导出" });
|
||||
showSnackbar.cancel("已取消 UIGF v4 格式导出");
|
||||
return;
|
||||
}
|
||||
await TGLogger.Info(`[UserGacha][${uidCur.value}][exportUigf4] 导出祈愿数据(v4)`);
|
||||
@@ -410,28 +397,23 @@ async function exportUigf4(): Promise<void> {
|
||||
text: "取消则只导出当前 UID 的祈愿数据",
|
||||
});
|
||||
if (allConfirm === undefined) {
|
||||
showSnackbar({ color: "cancel", text: "已取消祈愿数据导出" });
|
||||
showSnackbar.cancel("已取消 UIGF v4 格式导出");
|
||||
return;
|
||||
}
|
||||
if (!allConfirm) {
|
||||
const gachaList = await TSUserGacha.getGachaRecords(uidCur.value);
|
||||
if (gachaList.length === 0) {
|
||||
showSnackbar({ color: "error", text: `UID ${uidCur.value} 暂无祈愿数据` });
|
||||
showSnackbar.error(`UID ${uidCur.value} 暂无祈愿数据`);
|
||||
return;
|
||||
}
|
||||
}
|
||||
const file = await save({
|
||||
title: "选择导出祈愿数据的文件路径",
|
||||
filters: [
|
||||
{
|
||||
name: "UIGF JSON",
|
||||
extensions: ["json"],
|
||||
},
|
||||
],
|
||||
filters: [{ name: "UIGF JSON", extensions: ["json"] }],
|
||||
defaultPath: `${await path.downloadDir()}${path.sep()}UIGF4.json`,
|
||||
});
|
||||
if (!file) {
|
||||
showSnackbar({ color: "cancel", text: "已取消文件保存" });
|
||||
showSnackbar.cancel("已取消文件保存");
|
||||
return;
|
||||
}
|
||||
loadingTitle.value = "正在导出祈愿数据";
|
||||
@@ -442,14 +424,14 @@ async function exportUigf4(): Promise<void> {
|
||||
await exportUigf4Data(file);
|
||||
}
|
||||
loading.value = false;
|
||||
showSnackbar({ text: "祈愿数据已成功导出" });
|
||||
showSnackbar.success("祈愿数据已成功导出");
|
||||
await TGLogger.Info(`[UserGacha][${uidCur.value}][exportUigf4] 导出祈愿数据完成`);
|
||||
}
|
||||
|
||||
// 删除当前 UID 的祈愿数据
|
||||
async function deleteGacha(): Promise<void> {
|
||||
if (gachaListCur.value.length === 0 || !uidCur.value) {
|
||||
showSnackbar({ color: "error", text: "暂无祈愿数据" });
|
||||
showSnackbar.error("暂无祈愿数据");
|
||||
return;
|
||||
}
|
||||
await TGLogger.Info(`[UserGacha][${uidCur.value}][deleteGacha] 删除祈愿数据`);
|
||||
@@ -458,7 +440,7 @@ async function deleteGacha(): Promise<void> {
|
||||
text: `UID:${uidCur.value},共 ${gachaListCur.value.length} 条数据`,
|
||||
});
|
||||
if (!firstConfirm) {
|
||||
showSnackbar({ color: "cancel", text: "已取消祈愿数据删除" });
|
||||
showSnackbar.cancel("已取消祈愿数据删除");
|
||||
await TGLogger.Info(`[UserGacha][${uidCur.value}][deleteGacha] 已取消祈愿数据删除`);
|
||||
return;
|
||||
}
|
||||
@@ -470,7 +452,7 @@ async function deleteGacha(): Promise<void> {
|
||||
text: `UID:${uidCur.value},共 ${gachaListCur.value.length} 条数据`,
|
||||
});
|
||||
if (!secondConfirm) {
|
||||
showSnackbar({ color: "cancel", text: "已取消祈愿数据删除" });
|
||||
showSnackbar.cancel("已取消祈愿数据删除");
|
||||
await TGLogger.Info(`[UserGacha][${uidCur.value}][deleteGacha] 已取消祈愿数据删除`);
|
||||
return;
|
||||
}
|
||||
@@ -479,13 +461,11 @@ async function deleteGacha(): Promise<void> {
|
||||
loading.value = true;
|
||||
await TSUserGacha.deleteGachaRecords(uidCur.value);
|
||||
loading.value = false;
|
||||
showSnackbar({ text: `已成功删除 ${uidCur.value} 的祈愿数据` });
|
||||
showSnackbar.success(`已成功删除 ${uidCur.value} 的祈愿数据`);
|
||||
await TGLogger.Info(
|
||||
`[UserGacha][${uidCur.value}][deleteGacha] 成功删除 ${gachaListCur.value.length} 条祈愿数据`,
|
||||
);
|
||||
setTimeout(() => {
|
||||
window.location.reload();
|
||||
}, 1000);
|
||||
setTimeout(() => window.location.reload(), 1000);
|
||||
}
|
||||
</script>
|
||||
<style lang="css" scoped>
|
||||
|
||||
@@ -139,7 +139,7 @@ async function refreshRecord(): Promise<void> {
|
||||
text: `用户${user.value.gameUid}与当前UID${uidCur.value}不一致`,
|
||||
});
|
||||
if (!confirm) {
|
||||
showSnackbar({ text: "已取消战绩数据刷新", color: "cancel" });
|
||||
showSnackbar.cancel("已取消战绩数据刷新");
|
||||
return;
|
||||
}
|
||||
}
|
||||
@@ -147,7 +147,7 @@ async function refreshRecord(): Promise<void> {
|
||||
loadingTitle.value = "正在获取战绩数据";
|
||||
loading.value = true;
|
||||
if (!userStore.cookie.value) {
|
||||
showSnackbar({ text: "请先登录", color: "error" });
|
||||
showSnackbar.warn("请先登录");
|
||||
loading.value = false;
|
||||
await TGLogger.Warn(`[UserRecord][refresh][${user.value.gameUid}] 未登录`);
|
||||
return;
|
||||
@@ -167,7 +167,7 @@ async function refreshRecord(): Promise<void> {
|
||||
await loadRecord();
|
||||
if (recordData.value === undefined) await loadRecord();
|
||||
} else {
|
||||
showSnackbar({ text: `[${res.retcode}] ${res.message}`, color: "error" });
|
||||
showSnackbar.error(`[${res.retcode}] ${res.message}`);
|
||||
await TGLogger.Error(`[UserRecord][refresh][${user.value.gameUid}] 获取战绩数据失败`);
|
||||
await TGLogger.Error(
|
||||
`[UserRecord][refresh][${user.value.gameUid}] ${res.retcode} ${res.message}`,
|
||||
@@ -178,7 +178,7 @@ async function refreshRecord(): Promise<void> {
|
||||
|
||||
async function shareRecord(): Promise<void> {
|
||||
if (!recordData.value) {
|
||||
showSnackbar({ text: "未找到战绩数据,请尝试刷新", color: "warn" });
|
||||
showSnackbar.warn("未找到战绩数据,请尝试刷新");
|
||||
return;
|
||||
}
|
||||
await TGLogger.Info(`[UserRecord][shareRecord][${user.value.gameUid}] 生成分享图片`);
|
||||
@@ -195,7 +195,7 @@ async function shareRecord(): Promise<void> {
|
||||
|
||||
async function deleteRecord(): Promise<void> {
|
||||
if (!uidCur.value) {
|
||||
showSnackbar({ text: "未找到当前UID", color: "error" });
|
||||
showSnackbar.warn("未找到当前UID");
|
||||
return;
|
||||
}
|
||||
const confirm = await showConfirm({
|
||||
@@ -203,11 +203,11 @@ async function deleteRecord(): Promise<void> {
|
||||
text: `将删除${uidCur.value}对应的战绩数据`,
|
||||
});
|
||||
if (!confirm) {
|
||||
showSnackbar({ text: "已取消删除战绩数据", color: "cancel" });
|
||||
showSnackbar.cancel("已取消删除战绩数据");
|
||||
return;
|
||||
}
|
||||
await TSUserRecord.deleteUid(uidCur.value);
|
||||
showSnackbar({ text: `成功删除${uidCur.value}的战绩数据` });
|
||||
showSnackbar.success(`成功删除${uidCur.value}的战绩数据`);
|
||||
await loadUid();
|
||||
await loadRecord();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user