diff --git a/src/pages/User/Abyss.vue b/src/pages/User/Abyss.vue index 1dbddab7..1d017d59 100644 --- a/src/pages/User/Abyss.vue +++ b/src/pages/User/Abyss.vue @@ -59,7 +59,7 @@ 统计数据
- {{ hutaoEmail ?? "胡桃云邮箱" }} + {{ userName ?? "登录胡桃云" }} 上传 @@ -131,6 +131,7 @@ import recordReq from "@req/recordReq.js"; import TSUserAbyss from "@Sqlm/userAbyss.js"; import TSUserAvatar from "@Sqlm/userAvatar.js"; import useAppStore from "@store/app.js"; +import useHutaoStore from "@store/hutao.js"; import useUserStore from "@store/user.js"; import { getVersion } from "@tauri-apps/api/app"; import { open } from "@tauri-apps/plugin-dialog"; @@ -142,8 +143,11 @@ import { onMounted, ref, shallowRef, watch } from "vue"; import { useRouter } from "vue-router"; const router = useRouter(); +const hutaoStore = useHutaoStore(); + const { isLogin } = storeToRefs(useAppStore()); -const { account, cookie, hutaoEmail } = storeToRefs(useUserStore()); +const { account, cookie } = storeToRefs(useUserStore()); +const { userName } = storeToRefs(hutaoStore); const userTab = ref(0); const version = ref(); const uidCur = ref(); @@ -185,27 +189,8 @@ async function toWiki(): Promise { await router.push({ name: "深渊数据库" }); } -async function editHutaoEmail(): Promise { - if (hutaoEmail.value) { - const chgCheck = await showDialog.check("是否更改胡桃云账号", `当前账号:${hutaoEmail.value}`); - if (!chgCheck) { - showSnackbar.cancel("已取消更改胡桃云账号"); - return; - } - } - const newEmail = await showDialog.input("请输入胡桃云账号", "胡桃云账号", hutaoEmail.value); - if (!newEmail) { - showSnackbar.cancel("已取消设置胡桃云账号"); - return; - } - // 简单验证邮箱格式 - const mailReg = /^[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$/; - if (!mailReg.test(newEmail)) { - showSnackbar.error("邮箱格式错误"); - return; - } - hutaoEmail.value = newEmail; - showSnackbar.success("已设置胡桃云账号"); +async function tryLoginHutao(): Promise { + if (!userName.value) await hutaoStore.tryLogin(); } async function loadAbyss(): Promise { @@ -353,7 +338,7 @@ async function tryReadAbyss(): Promise { } async function uploadAbyss(): Promise { - if (!hutaoEmail.value || hutaoEmail.value === "") { + if (!userName.value || userName.value === "") { const check = await showDialog.check("确定上传?", "未设置胡桃云账号"); if (!check) return; } @@ -382,7 +367,7 @@ async function uploadAbyss(): Promise { try { await showLoading.start(`正在上传${account.value.gameUid}的深渊数据`, `期数:${abyssData.id}`); const transAbyss = hutao.Abyss.utils.transData(abyssData); - if (hutaoEmail.value) transAbyss.ReservedUserName = hutaoEmail.value; + if (userName.value) transAbyss.ReservedUserName = userName.value; await showLoading.update("正在获取角色数据"); const roles = await TSUserAvatar.getAvatars(Number(account.value.gameUid)); if (!roles) { diff --git a/src/pages/User/Combat.vue b/src/pages/User/Combat.vue index 304807ae..c3b8f07b 100644 --- a/src/pages/User/Combat.vue +++ b/src/pages/User/Combat.vue @@ -64,7 +64,7 @@ 统计数据
- {{ hutaoEmail ?? "设置胡桃云邮箱" }} + {{ userName ?? "登录胡桃云" }} (0); const version = ref(); const uidCur = ref(); @@ -204,27 +209,8 @@ async function loadCombat(): Promise { if (localCombat.value.length > 0) userTab.value = localCombat.value[0].id; } -async function editHutaoEmail(): Promise { - if (hutaoEmail.value) { - const chgCheck = await showDialog.check("是否更改胡桃云账号", `当前账号:${hutaoEmail.value}`); - if (!chgCheck) { - showSnackbar.cancel("已取消更改胡桃云账号"); - return; - } - } - const newEmail = await showDialog.input("请输入胡桃云账号", "胡桃云账号", hutaoEmail.value); - if (!newEmail) { - showSnackbar.cancel("已取消设置胡桃云账号"); - return; - } - // 简单验证邮箱格式 - const mailReg = /^[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$/; - if (!mailReg.test(newEmail)) { - showSnackbar.error("邮箱格式错误"); - return; - } - hutaoEmail.value = newEmail; - showSnackbar.success("已设置胡桃云账号"); +async function tryLoginHutao(): Promise { + if (!userName.value) await hutaoStore.tryLogin(); } async function refreshCombat(): Promise { @@ -314,7 +300,7 @@ async function deleteCombat(): Promise { } async function uploadCombat(): Promise { - if (!hutaoEmail.value || hutaoEmail.value === "") { + if (!userName.value || userName.value === "") { const check = await showDialog.check("确定上传?", "未设置胡桃云账号"); if (!check) return; } diff --git a/src/pages/common/PageTest.vue b/src/pages/common/PageTest.vue index 9e241944..5d503f8d 100644 --- a/src/pages/common/PageTest.vue +++ b/src/pages/common/PageTest.vue @@ -22,6 +22,10 @@ import showDialog from "@comp/func/dialog.js"; import showSnackbar from "@comp/func/snackbar.js"; import hutao from "@Hutao/index.js"; +import useHutaoStore from "@store/hutao.js"; +import { storeToRefs } from "pinia"; + +const { userName, accessToken, refreshToken } = storeToRefs(useHutaoStore()); async function test() { const inputN = await showDialog.input("UserName"); @@ -30,7 +34,12 @@ async function test() { const resp = await hutao.Account.login(inputN, inputP); if ("retcode" in resp) { showSnackbar.warn(`${resp.retcode}-${resp.message}`); + return; } + userName.value = inputN; + accessToken.value = resp.AccessToken; + refreshToken.value = resp.RefreshToken; + showSnackbar.success("登录成功!"); }