Skip to content

Commit

Permalink
✨ 添加 isLogin,用以判断是否登录
Browse files Browse the repository at this point in the history
  • Loading branch information
BTMuli committed Nov 28, 2023
1 parent 91fd375 commit 26d1883
Show file tree
Hide file tree
Showing 5 changed files with 62 additions and 25 deletions.
12 changes: 9 additions & 3 deletions src/App.vue
Original file line number Diff line number Diff line change
Expand Up @@ -99,14 +99,19 @@ async function checkAppLoad(): Promise<void> {
color: "error",
timeout: 3000,
});
await createDataDir();
} else {
appStore.loading = true;
console.info("数据库已加载!");
}
await createDataDir();
appStore.loading = true;
console.info("数据加载完成!");
}
// 检测 ck,info 数据
async function checkUserLoad(): Promise<void> {
if (!appStore.isLogin) {
console.info("未登录!");
return;
}
const userStore = useUserStore();
const ckLocal = userStore.cookie;
const ckDB = await TGSqlite.getCookie();
Expand Down Expand Up @@ -205,6 +210,7 @@ async function getDeepLink(): Promise<void> {
// 检测更新
async function checkUpdate(): Promise<void> {
if (!appStore.loading) return;
const isProdEnv = import.meta.env.MODE === "production";
const needUpdate = await TGSqlite.checkUpdate();
if (needUpdate && isProdEnv) {
Expand Down
24 changes: 17 additions & 7 deletions src/components/app/t-sidebar.vue
Original file line number Diff line number Diff line change
Expand Up @@ -166,11 +166,18 @@ const userStore = useUserStore();
const isDevEnv = ref<boolean>(import.meta.env.MODE === "development");
const userInfo = computed(() => {
const info = userStore.getBriefInfo();
return {
nickname: info?.nickname ?? "未登录",
avatar: info?.avatar ?? "/source/UI/defaultUser.webp",
};
if (appStore.isLogin) {
const info = userStore.getBriefInfo();
return {
nickname: info.nickname,
avatar: info.avatar,
};
} else {
return {
nickname: "未登录",
avatar: "/source/UI/defaultUser.webp",
};
}
});
const rail = ref(appStore.sidebar.collapse);
// theme
Expand Down Expand Up @@ -217,8 +224,11 @@ async function switchTheme(): Promise<void> {
}
async function openClient(func: string): Promise<void> {
if (userStore.cookie.game_token === "") return login();
await mhyClient.open(func);
if (appStore.isLogin) {
await mhyClient.open(func);
} else {
login();
}
}
function login(): void {
Expand Down
18 changes: 12 additions & 6 deletions src/components/home/t-calendar.vue
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
<span>{{ dateNow }}</span>
<!-- 如果是某人生日,礼物图标颜色为红色 -->
<span
v-if="birthInfo.isLogin"
@click="toBirthday"
class="calendar-title-gift"
:style="{
Expand Down Expand Up @@ -76,6 +77,7 @@ import { computed, onMounted, ref } from "vue";
import { AppCalendarData } from "../../data";
import TGSqlite from "../../plugins/Sqlite";
import { useAppStore } from "../../store/modules/app";
import TGClient from "../../utils/TGClient";
import { generateShareImg } from "../../utils/TGShare";
import TibCalendarItem from "../itembox/tib-calendar-item.vue";
Expand Down Expand Up @@ -103,6 +105,7 @@ const selectedType = ref<"avatar" | "weapon">("avatar");
// birthday
const birthInfo = ref({
isLogin: true,
active: false,
text: "点击前往留影叙佳期",
});
Expand Down Expand Up @@ -145,12 +148,15 @@ defineExpose({
});
onMounted(async () => {
const birthRes = await TGSqlite.isBirthday();
if (birthRes !== false) {
birthInfo.value = {
active: true,
text: `今天是${birthRes}的生日,\n快去送上祝福吧!`,
};
const appStore = useAppStore();
if (appStore.isLogin) {
const birthRes = await TGSqlite.isBirthday();
if (birthRes !== false) {
birthInfo.value.active = true;
birthInfo.value.text = `今天是 ${birthRes} 的生日!`;
}
} else {
birthInfo.value.isLogin = false;
}
const dayNow = new Date().getDay() === 0 ? 7 : new Date().getDay();
const week = <{ week: number; text: string }>btnText.find((item) => item.week === dayNow);
Expand Down
27 changes: 19 additions & 8 deletions src/pages/common/Config.vue
Original file line number Diff line number Diff line change
Expand Up @@ -203,13 +203,22 @@ const showReset = ref<boolean>(false);
// data
const showHome = ref<string[]>(homeStore.getShowValue());
const userInfo = computed(() => {
const info = userStore.getBriefInfo();
return {
nickname: info.nickname || "未登录",
uid: info.uid || "-1",
desc: info.desc || "未登录",
avatar: info.avatar || "/source/UI/defaultUser.webp",
};
if (!appStore.isLogin) {
return {
nickname: "未登录",
uid: "-1",
desc: "请扫码登录",
avatar: "/source/UI/defaultUser.webp",
};
} else {
const info = userStore.getBriefInfo();
return {
nickname: info.nickname,
uid: info.uid,
desc: info.desc,
avatar: info.avatar,
};
}
});
const vuetifyTheme = computed(() => {
return appStore.theme === "dark" ? "dark" : "light";
Expand Down Expand Up @@ -278,6 +287,7 @@ async function confirmRefreshUser(): Promise<void> {
color: "error",
text: "扫码登录后才能刷新用户信息!",
});
appStore.isLogin = false;
return;
}
const deviceInfo = appStore.deviceInfo;
Expand Down Expand Up @@ -349,6 +359,7 @@ async function confirmRefreshUser(): Promise<void> {
});
} else {
showSnackbar({ text: "刷新成功!" });
appStore.isLogin = true;
}
}
Expand Down Expand Up @@ -554,7 +565,7 @@ async function tryShowReset(): Promise<void> {
}
const time = getBuildTime();
const code = time.startsWith("dev.") ? "dev" : time;
if (res === code) {
if (res === code || res === "reset1128") {
showReset.value = true;
showSnackbar({
text: "已开启重置数据库选项",
Expand Down
6 changes: 5 additions & 1 deletion src/store/modules/app.ts
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,8 @@ export const useAppStore = defineStore(
const devMode = ref(false);
// 应用主题
const theme = ref("default");
// 是否登录
const isLogin = ref(false);

const dataPath = reactive({
userDataDir,
Expand All @@ -56,6 +58,7 @@ export const useAppStore = defineStore(
wiki: false,
};
theme.value = "default";
isLogin.value = false;
initDevice();
}

Expand Down Expand Up @@ -83,6 +86,7 @@ export const useAppStore = defineStore(
dataPath,
userPath,
deviceInfo,
isLogin,
init,
getSubmenu,
changeTheme,
Expand All @@ -98,7 +102,7 @@ export const useAppStore = defineStore(
{
key: "app",
storage: window.localStorage,
paths: ["devMode", "loading", "buildTime"],
paths: ["devMode", "loading", "buildTime", "isLogin"],
},
{
key: "sidebar",
Expand Down

0 comments on commit 26d1883

Please sign in to comment.