🚚 snackbar → showSnackbar

This commit is contained in:
BTMuli
2023-08-28 16:55:16 +08:00
parent 63f7ca2409
commit 3873e0ad21
6 changed files with 46 additions and 45 deletions

View File

@@ -23,14 +23,14 @@ const renderBox = (props: TGApp.Component.Snackbar.Params): VNode => {
let snackbarInstance: any; let snackbarInstance: any;
const snackbarBox = (props: TGApp.Component.Snackbar.Params): void => { const showSnackbar = (props: TGApp.Component.Snackbar.Params): void => {
if (snackbarInstance) { if (snackbarInstance) {
const boxVue = snackbarInstance.component; const boxVue = snackbarInstance.component;
boxVue.exposeProxy.displayBox(props); boxVue.exposeProxy.displayBox(props);
} else { } else {
snackbarInstance = renderBox(props); snackbarInstance = renderBox(props);
snackbarBox(props); showSnackbar(props);
} }
}; };
export default snackbarBox; export default showSnackbar;

View File

@@ -68,7 +68,7 @@
<script lang="ts" setup> <script lang="ts" setup>
// vue // vue
import { computed, onMounted, ref } from "vue"; import { computed, onMounted, ref } from "vue";
import snackbar from "../../components/func/snackbar"; import showSnackbar from "../../components/func/snackbar";
import ToLoading from "../../components/overlay/to-loading.vue"; import ToLoading from "../../components/overlay/to-loading.vue";
import TSubLine from "../../components/main/t-subline.vue"; import TSubLine from "../../components/main/t-subline.vue";
import TuaOverview from "../../components/userAbyss/tua-overview.vue"; import TuaOverview from "../../components/userAbyss/tua-overview.vue";
@@ -146,7 +146,7 @@ function toAbyss(id: number): void {
if (abyssFind) { if (abyssFind) {
curAbyss.value = abyssFind; curAbyss.value = abyssFind;
} else { } else {
snackbar({ showSnackbar({
text: "未找到该深渊数据", text: "未找到该深渊数据",
color: "error", color: "error",
}); });
@@ -184,9 +184,9 @@ async function uploadAbyss(): Promise<void> {
const res = await Hutao.Abyss.postData(transAbyss); const res = await Hutao.Abyss.postData(transAbyss);
loading.value = false; loading.value = false;
if (res.retcode === 0) { if (res.retcode === 0) {
snackbar({ text: <string>res.message }); showSnackbar({ text: <string>res.message });
} else { } else {
snackbar({ showSnackbar({
text: <string>res.message, text: <string>res.message,
color: "error", color: "error",
}); });

View File

@@ -105,7 +105,7 @@
<script lang="ts" setup> <script lang="ts" setup>
// vue // vue
import { computed, onMounted, ref } from "vue"; import { computed, onMounted, ref } from "vue";
import snackbar from "../../components/func/snackbar"; import showSnackbar from "../../components/func/snackbar";
import ToLoading from "../../components/overlay/to-loading.vue"; import ToLoading from "../../components/overlay/to-loading.vue";
// utils // utils
import { createTGWindow } from "../../utils/TGWindow"; import { createTGWindow } from "../../utils/TGWindow";
@@ -139,7 +139,7 @@ function toOuter(cardName: string, cardId: number): void {
console.log(cardName, cardId); console.log(cardName, cardId);
// 若不存在 contentId // 若不存在 contentId
if (cardId === -1) { if (cardId === -1) {
snackbar({ showSnackbar({
text: "该卡牌暂无外部链接", text: "该卡牌暂无外部链接",
color: "error", color: "error",
}); });
@@ -167,7 +167,7 @@ async function searchCard(): Promise<void> {
console.log(res); console.log(res);
loading.value = false; loading.value = false;
if (res.length === 0) { if (res.length === 0) {
snackbar({ showSnackbar({
text: "未找到相关卡牌", text: "未找到相关卡牌",
color: "error", color: "error",
}); });

View File

@@ -110,7 +110,7 @@
// vue // vue
import { onMounted, ref, onBeforeMount, computed } from "vue"; import { onMounted, ref, onBeforeMount, computed } from "vue";
import ToLoading from "../../components/overlay/to-loading.vue"; import ToLoading from "../../components/overlay/to-loading.vue";
import snackbar from "../../components/func/snackbar"; import showSnackbar from "../../components/func/snackbar";
// tauri // tauri
import { dialog, fs } from "@tauri-apps/api"; import { dialog, fs } from "@tauri-apps/api";
// Store // Store
@@ -213,7 +213,7 @@ function handleScroll(e: Event): void {
async function selectSeries(index: number): Promise<void> { async function selectSeries(index: number): Promise<void> {
// 如果选中的是已经选中的系列,则不进行操作 // 如果选中的是已经选中的系列,则不进行操作
if (selectedSeries.value === index) { if (selectedSeries.value === index) {
snackbar({ showSnackbar({
color: "warn", color: "warn",
text: "已经选中该系列", text: "已经选中该系列",
}); });
@@ -237,7 +237,7 @@ function openImg(): void {
async function searchCard(): Promise<void> { async function searchCard(): Promise<void> {
if (search.value === "") { if (search.value === "") {
snackbar({ showSnackbar({
color: "error", color: "error",
text: "请输入搜索内容", text: "请输入搜索内容",
}); });
@@ -248,7 +248,7 @@ async function searchCard(): Promise<void> {
loading.value = true; loading.value = true;
selectedAchievement.value = await TGSqlite.searchAchievements(search.value); selectedAchievement.value = await TGSqlite.searchAchievements(search.value);
if (selectedAchievement.value.length === 0) { if (selectedAchievement.value.length === 0) {
snackbar({ showSnackbar({
color: "error", color: "error",
text: "没有找到对应的成就", text: "没有找到对应的成就",
}); });
@@ -269,7 +269,7 @@ async function importJson(): Promise<void> {
if (selectedFile && (await verifyUiafData(<string>selectedFile))) { if (selectedFile && (await verifyUiafData(<string>selectedFile))) {
const remoteRaw: string | false = await readUiafData(<string>selectedFile); const remoteRaw: string | false = await readUiafData(<string>selectedFile);
if (remoteRaw === false) { if (remoteRaw === false) {
snackbar({ showSnackbar({
color: "error", color: "error",
text: "读取 UIAF 数据失败,请检查文件是否符合规范", text: "读取 UIAF 数据失败,请检查文件是否符合规范",
}); });
@@ -290,7 +290,7 @@ async function importJson(): Promise<void> {
async function exportJson(): Promise<void> { async function exportJson(): Promise<void> {
// 判断是否有数据 // 判断是否有数据
if (achievementsStore.finAchievements === 0) { if (achievementsStore.finAchievements === 0) {
snackbar({ showSnackbar({
color: "error", color: "error",
text: "没有可导出的数据", text: "没有可导出的数据",
}); });
@@ -312,9 +312,9 @@ async function exportJson(): Promise<void> {
}); });
if (isSave) { if (isSave) {
await fs.writeTextFile(isSave, JSON.stringify(UiafData)); await fs.writeTextFile(isSave, JSON.stringify(UiafData));
snackbar({ text: "导出成功" }); showSnackbar({ text: "导出成功" });
} else { } else {
snackbar({ showSnackbar({
color: "warn", color: "warn",
text: "导出已取消", text: "导出已取消",
}); });

View File

@@ -191,7 +191,7 @@
<script lang="ts" setup> <script lang="ts" setup>
// vue // vue
import { computed, onMounted, ref } from "vue"; import { computed, onMounted, ref } from "vue";
import snackbar from "../../components/func/snackbar"; import showSnackbar from "../../components/func/snackbar";
import ToLoading from "../../components/overlay/to-loading.vue"; import ToLoading from "../../components/overlay/to-loading.vue";
import ToConfirm from "../../components/overlay/to-confirm.vue"; import ToConfirm from "../../components/overlay/to-confirm.vue";
// tauri // tauri
@@ -261,7 +261,7 @@ onMounted(async () => {
userStore.cookie = JSON.parse(ck.value); userStore.cookie = JSON.parse(ck.value);
} }
} catch (e) { } catch (e) {
snackbar({ showSnackbar({
color: "error", color: "error",
text: "读取数据库失败!", text: "读取数据库失败!",
}); });
@@ -391,7 +391,7 @@ async function backupData(): Promise<void> {
const abyss = await TGSqlite.getAbyss(); const abyss = await TGSqlite.getAbyss();
await backupAbyssData(abyss); await backupAbyssData(abyss);
loading.value = false; loading.value = false;
snackbar({ text: "数据已备份!" }); showSnackbar({ text: "数据已备份!" });
} }
async function restoreData(): Promise<void> { async function restoreData(): Promise<void> {
@@ -410,8 +410,9 @@ async function restoreData(): Promise<void> {
if (!res) { if (!res) {
fail.push("深渊数据"); fail.push("深渊数据");
} }
if (fail.length > 0) snackbar({ text: `${fail.join("、")} 恢复失败!`, color: "error" }); fail.length > 0
else snackbar({ text: "数据已恢复!" }); ? showSnackbar({ text: `${fail.join("、")} 恢复失败!`, color: "error" })
: showSnackbar({ text: "数据已恢复!" });
const cookie = await TGSqlite.getCookie(); const cookie = await TGSqlite.getCookie();
userStore.initCookie(cookie); userStore.initCookie(cookie);
loading.value = false; loading.value = false;
@@ -423,7 +424,7 @@ async function delTempData(): Promise<void> {
recursive: true, recursive: true,
}); });
await fs.createDir("tempData", { dir: fs.BaseDirectory.AppLocalData }); await fs.createDir("tempData", { dir: fs.BaseDirectory.AppLocalData });
snackbar({ text: "临时数据已删除!" }); showSnackbar({ text: "临时数据已删除!" });
} }
async function delUserData(): Promise<void> { async function delUserData(): Promise<void> {
@@ -431,7 +432,7 @@ async function delUserData(): Promise<void> {
dir: fs.BaseDirectory.AppLocalData, dir: fs.BaseDirectory.AppLocalData,
recursive: true, recursive: true,
}); });
snackbar({ text: "用户数据已删除!" }); showSnackbar({ text: "用户数据已删除!" });
achievementsStore.init(); achievementsStore.init();
await fs.createDir("userData", { dir: fs.BaseDirectory.AppLocalData }); await fs.createDir("userData", { dir: fs.BaseDirectory.AppLocalData });
} }
@@ -441,7 +442,7 @@ function initAppData(): void {
appStore.init(); appStore.init();
homeStore.init(); homeStore.init();
achievementsStore.init(); achievementsStore.init();
snackbar({ text: "已恢复默认配置!即将刷新页面..." }); showSnackbar({ text: "已恢复默认配置!即将刷新页面..." });
setTimeout(() => { setTimeout(() => {
window.location.reload(); window.location.reload();
}, 1500); }, 1500);
@@ -450,8 +451,8 @@ function initAppData(): void {
// 开启 dev 模式 // 开启 dev 模式
function submitDevMode(): void { function submitDevMode(): void {
appStore.devMode appStore.devMode
? snackbar({ text: "已关闭 dev 模式!" }) ? showSnackbar({ text: "已关闭 dev 模式!" })
: snackbar({ text: "已开启 dev 模式!" }); : showSnackbar({ text: "已开启 dev 模式!" });
} }
// 修改首页显示 // 修改首页显示
@@ -459,7 +460,7 @@ function submitHome(): void {
// 获取已选 // 获取已选
const show = showHome.value; const show = showHome.value;
if (show.length < 1) { if (show.length < 1) {
snackbar({ showSnackbar({
color: "error", color: "error",
text: "请至少选择一个!", text: "请至少选择一个!",
}); });
@@ -467,7 +468,7 @@ function submitHome(): void {
} }
// 设置 // 设置
homeStore.setShowValue(show); homeStore.setShowValue(show);
snackbar({ text: "已修改!" }); showSnackbar({ text: "已修改!" });
} }
// 刷新用户数据 // 刷新用户数据
@@ -475,7 +476,7 @@ async function refreshUser(): Promise<void> {
const ck = userStore.cookie; const ck = userStore.cookie;
// ck = {} // ck = {}
if (Object.keys(ck).length < 1) { if (Object.keys(ck).length < 1) {
snackbar({ showSnackbar({
color: "error", color: "error",
text: "请先输入 Cookie!", text: "请先输入 Cookie!",
}); });
@@ -533,12 +534,12 @@ async function refreshUser(): Promise<void> {
failCount++; failCount++;
} }
if (failCount > 0) { if (failCount > 0) {
snackbar({ showSnackbar({
color: "error", color: "error",
text: "刷新失败!请重新输入 cookie!", text: "刷新失败!请重新输入 cookie!",
}); });
} else { } else {
snackbar({ text: "刷新成功!" }); showSnackbar({ text: "刷新成功!" });
} }
loading.value = false; loading.value = false;
} }
@@ -547,7 +548,7 @@ async function refreshUser(): Promise<void> {
async function inputCookie(): Promise<void> { async function inputCookie(): Promise<void> {
const cookie = confirmInput.value; const cookie = confirmInput.value;
if (cookie === "") { if (cookie === "") {
snackbar({ showSnackbar({
color: "error", color: "error",
text: "Cookie 为空!", text: "Cookie 为空!",
}); });
@@ -562,7 +563,7 @@ async function inputCookie(): Promise<void> {
const uid = cookieObj.find((item) => item[0] === "login_uid")?.[1]; const uid = cookieObj.find((item) => item[0] === "login_uid")?.[1];
// 如果两者不存在 // 如果两者不存在
if (!ticket || !uid) { if (!ticket || !uid) {
snackbar({ showSnackbar({
color: "error", color: "error",
text: "Cookie 无效!", text: "Cookie 无效!",
}); });
@@ -584,12 +585,12 @@ async function inputCookie(): Promise<void> {
await TGSqlite.saveAccount(resAccounts); await TGSqlite.saveAccount(resAccounts);
} }
loading.value = false; loading.value = false;
snackbar({ showSnackbar({
text: "Cookie 已保存!", text: "Cookie 已保存!",
}); });
} catch (err) { } catch (err) {
loading.value = false; loading.value = false;
snackbar({ showSnackbar({
color: "error", color: "error",
text: "Cookie 无效!", text: "Cookie 无效!",
}); });
@@ -627,7 +628,7 @@ async function checkDB(): Promise<void> {
} }
} }
loading.value = false; loading.value = false;
snackbar({ showSnackbar({
text: "数据库已是最新!", text: "数据库已是最新!",
}); });
} }
@@ -639,7 +640,7 @@ async function resetDB(): Promise<void> {
loading.value = true; loading.value = true;
await TGSqlite.reset(); await TGSqlite.reset();
loading.value = false; loading.value = false;
snackbar({ showSnackbar({
text: "数据库已重置!请进行再次检查。", text: "数据库已重置!请进行再次检查。",
}); });
// 刷新 // 刷新
@@ -654,7 +655,7 @@ async function updateDB(): Promise<void> {
await TGSqlite.update(); await TGSqlite.update();
achievementsStore.lastVersion = await TGSqlite.getLatestAchievementVersion(); achievementsStore.lastVersion = await TGSqlite.getLatestAchievementVersion();
loading.value = false; loading.value = false;
snackbar({ showSnackbar({
text: "数据库已更新!", text: "数据库已更新!",
}); });
// 刷新 // 刷新

View File

@@ -270,7 +270,7 @@
// vue // vue
import { onMounted, ref } from "vue"; import { onMounted, ref } from "vue";
import { useRoute, useRouter } from "vue-router"; import { useRoute, useRouter } from "vue-router";
import snackbar from "../components/func/snackbar"; import showSnackbar from "../components/func/snackbar";
import ToLoading from "../components/overlay/to-loading.vue"; import ToLoading from "../components/overlay/to-loading.vue";
import ToChannel from "../components/overlay/to-channel.vue"; import ToChannel from "../components/overlay/to-channel.vue";
// store // store
@@ -367,7 +367,7 @@ async function switchAnno(): Promise<void> {
async function loadMore(data: "notice" | "activity" | "news"): Promise<void> { async function loadMore(data: "notice" | "activity" | "news"): Promise<void> {
loadingSub.value = true; loadingSub.value = true;
if (rawData.value[data].isLast) { if (rawData.value[data].isLast) {
snackbar({ showSnackbar({
text: "已经是最后一页了", text: "已经是最后一页了",
color: "warn", color: "warn",
}); });
@@ -384,7 +384,7 @@ async function loadMore(data: "notice" | "activity" | "news"): Promise<void> {
const getCard = Mys.News.card[data](getData); const getCard = Mys.News.card[data](getData);
postData.value[data] = postData.value[data].concat(getCard); postData.value[data] = postData.value[data].concat(getCard);
if (rawData.value[data].isLast) { if (rawData.value[data].isLast) {
snackbar({ showSnackbar({
text: "已经是最后一页了", text: "已经是最后一页了",
color: "warn", color: "warn",
}); });
@@ -440,7 +440,7 @@ async function toJson(item: TGApp.Plugins.Mys.News.RenderCard | string): Promise
async function searchPost(): Promise<void> { async function searchPost(): Promise<void> {
if (search.value === "") { if (search.value === "") {
snackbar({ showSnackbar({
text: "请输入搜索内容", text: "请输入搜索内容",
color: "error", color: "error",
}); });
@@ -452,7 +452,7 @@ async function searchPost(): Promise<void> {
await toJson(search.value); await toJson(search.value);
} }
} else { } else {
snackbar({ showSnackbar({
text: "请输入搜索内容", text: "请输入搜索内容",
color: "error", color: "error",
}); });