✏️ 修复 IDE import 报错

This commit is contained in:
目棃
2024-06-26 22:03:22 +08:00
parent 7ea47b4606
commit 8a4edd29f5
77 changed files with 316 additions and 284 deletions

View File

@@ -12,21 +12,21 @@
<script lang="ts" setup>
import { app, event, fs, tauri, window as TauriWindow } from "@tauri-apps/api";
import { UnlistenFn } from "@tauri-apps/api/helpers/event";
import { UnlistenFn, Event } from "@tauri-apps/api/helpers/event";
import { storeToRefs } from "pinia";
import { computed, onBeforeMount, onMounted, onUnmounted, ref } from "vue";
import { useRouter } from "vue-router";
import TBackTop from "./components/app/t-backTop.vue";
import TSidebar from "./components/app/t-sidebar.vue";
import showConfirm from "./components/func/confirm";
import showSnackbar from "./components/func/snackbar";
import TGSqlite from "./plugins/Sqlite";
import { useAppStore } from "./store/modules/app";
import { useUserStore } from "./store/modules/user";
import { getBuildTime } from "./utils/TGBuild";
import TGLogger from "./utils/TGLogger";
import TGRequest from "./web/request/TGRequest";
import showConfirm from "./components/func/confirm.js";
import showSnackbar from "./components/func/snackbar.js";
import TGSqlite from "./plugins/Sqlite/index.js";
import { useAppStore } from "./store/modules/app.js";
import { useUserStore } from "./store/modules/user.js";
import { getBuildTime } from "./utils/TGBuild.js";
import TGLogger from "./utils/TGLogger.js";
import TGRequest from "./web/request/TGRequest.js";
const appStore = useAppStore();
const userStore = storeToRefs(useUserStore());
@@ -54,8 +54,8 @@ onBeforeMount(async () => {
onMounted(async () => {
document.documentElement.className = theme.value;
themeListener = await event.listen("readTheme", async (e) => {
const themeGet = <string>e.payload;
themeListener = await event.listen("readTheme", async (e: Event<string>) => {
const themeGet = e.payload;
if (theme.value !== themeGet) {
theme.value = themeGet;
document.documentElement.className = theme.value;
@@ -108,15 +108,18 @@ async function resetDB(): Promise<void> {
// 检测 deviceFp
async function checkDeviceFp(): Promise<void> {
const appData = await TGSqlite.getAppData();
const deviceInfo = appData.find((item) => item.key === "deviceInfo")?.value;
const deviceLocal = appStore.deviceInfo;
if (deviceInfo === undefined) {
if (deviceLocal.device_fp === "0000000000000")
const deviceFind = appData.find((item) => item.key === "deviceInfo");
if (typeof deviceFind === "undefined") {
if (deviceLocal.device_fp === "0000000000000") {
appStore.deviceInfo = await TGRequest.Device.getFp(appStore.deviceInfo);
}
await TGSqlite.saveAppData("deviceInfo", JSON.stringify(deviceLocal));
return;
}
if (JSON.parse(deviceInfo) !== deviceLocal) appStore.deviceInfo = JSON.parse(deviceInfo);
if (JSON.parse(deviceFind.value) !== deviceLocal) {
appStore.deviceInfo = JSON.parse(deviceFind.value);
}
}
// 检测 ck,info 数据
@@ -138,9 +141,9 @@ async function checkUserLoad(): Promise<void> {
const infoLocal = userStore.briefInfo.value;
const appData = await TGSqlite.getAppData();
const infoDB = appData.find((item) => item.key === "userInfo")?.value;
if (infoDB === undefined && JSON.stringify(infoLocal) !== "{}") {
if (typeof infoDB === "undefined" && JSON.stringify(infoLocal) !== "{}") {
await TGSqlite.saveAppData("userInfo", JSON.stringify(infoLocal));
} else if (infoDB !== undefined && infoLocal !== JSON.parse(infoDB)) {
} else if (typeof infoDB !== "undefined" && infoLocal !== JSON.parse(infoDB)) {
userStore.briefInfo.value = JSON.parse(infoDB);
console.info("briefInfo 数据已更新!");
}
@@ -158,7 +161,7 @@ async function checkUserLoad(): Promise<void> {
}
if (accountDB !== accountLocal) userStore.account.value = accountDB;
const userDir = appData.find((item) => item.key === "userDir")?.value;
if (userDir === undefined) {
if (typeof userDir === "undefined") {
await TGSqlite.saveAppData("userDir", appStore.userDir);
return;
}
@@ -167,7 +170,7 @@ async function checkUserLoad(): Promise<void> {
}
async function getDeepLink(): Promise<UnlistenFn> {
return await event.listen("active_deep_link", async (e) => {
return await event.listen("active_deep_link", async (e: Event<unknown>) => {
const windowGet = new TauriWindow.WebviewWindow("TeyvatGuide");
if (await windowGet.isMinimized()) {
await windowGet.unminimize();
@@ -215,7 +218,7 @@ async function getDeepLink(): Promise<UnlistenFn> {
async function toUIAF(link: string) {
const url = new URL(link);
const app = url.searchParams.get("app");
if (app === null || app === "") {
if (app == null || app === "") {
await router.push("/achievements");
} else {
await router.push("/achievements/?app=" + app);

View File

@@ -243,15 +243,15 @@
<script lang="ts" setup>
import { event, window as TauriWindow } from "@tauri-apps/api";
import { UnlistenFn } from "@tauri-apps/api/helpers/event";
import { UnlistenFn, Event } from "@tauri-apps/api/helpers/event";
import { storeToRefs } from "pinia";
import { computed, onMounted, onUnmounted, ref, watch } from "vue";
import { useAppStore } from "../../store/modules/app";
import { useUserStore } from "../../store/modules/user";
import mhyClient from "../../utils/TGClient";
import TGLogger from "../../utils/TGLogger";
import showSnackbar from "../func/snackbar";
import { useAppStore } from "../../store/modules/app.js";
import { useUserStore } from "../../store/modules/user.js";
import mhyClient from "../../utils/TGClient.js";
import TGLogger from "../../utils/TGLogger.js";
import showSnackbar from "../func/snackbar.js";
const appStore = useAppStore();
const userStore = storeToRefs(useUserStore());
@@ -298,8 +298,8 @@ function collapse(): void {
let themeListener: UnlistenFn;
onMounted(async () => {
themeListener = await event.listen("readTheme", (e) => {
const theme = <string>e.payload;
themeListener = await event.listen("readTheme", (e: Event<string>) => {
const theme = e.payload;
themeGet.value = theme === "default" ? "default" : "dark";
});
if (TauriWindow.getCurrent().label === "TeyvatGuide") {
@@ -329,9 +329,7 @@ function login(): void {
});
}
onUnmounted(() => {
themeListener();
});
onUnmounted(() => themeListener());
</script>
<style lang="css" scoped>

View File

@@ -9,10 +9,10 @@
</template>
<script lang="ts" setup>
import { event } from "@tauri-apps/api";
import { UnlistenFn } from "@tauri-apps/api/helpers/event";
import { UnlistenFn, Event } from "@tauri-apps/api/helpers/event";
import { computed, onMounted, onUnmounted } from "vue";
import { useAppStore } from "../../store/modules/app";
import { useAppStore } from "../../store/modules/app.js";
const appStore = useAppStore();
const themeGet = computed({
@@ -35,17 +35,13 @@ async function switchTheme(): Promise<void> {
}
async function listenOnTheme(): Promise<UnlistenFn> {
return await event.listen<string>("readTheme", (e) => {
return await event.listen("readTheme", (e: Event<string>) => {
const theme = e.payload;
themeGet.value = theme === "default" ? "default" : "dark";
});
}
onUnmounted(() => {
if (themeListener) {
themeListener();
}
});
onUnmounted(() => themeListener());
</script>
<style lang="css" scoped>
.switch-box {

View File

@@ -25,7 +25,7 @@
import { app } from "@tauri-apps/api";
import { computed, onMounted, ref } from "vue";
import { useAppStore } from "../../store/modules/app";
import { useAppStore } from "../../store/modules/app.js";
const appStore = useAppStore();
const versionApp = ref<string>();

View File

@@ -43,13 +43,14 @@
</template>
<script lang="ts" setup>
import { dialog, fs, path } from "@tauri-apps/api";
import { FileEntry } from "@tauri-apps/api/fs";
import TGSqlite from "../../plugins/Sqlite";
import { useAppStore } from "../../store/modules/app";
import { backUpUserData } from "../../utils/dataBS";
import TGShell from "../../utils/TGShell";
import showConfirm from "../func/confirm";
import showSnackbar from "../func/snackbar";
import TGSqlite from "../../plugins/Sqlite/index.js";
import { useAppStore } from "../../store/modules/app.js";
import { backUpUserData } from "../../utils/dataBS.js";
import TGShell from "../../utils/TGShell.js";
import showConfirm from "../func/confirm.js";
import showSnackbar from "../func/snackbar.js";
const appStore = useAppStore();
@@ -127,7 +128,7 @@ async function confirmCLD(): Promise<void> {
}
const logDir = appStore.logDir;
const files = await fs.readDir(logDir);
const delFiles = files.filter((file) => {
const delFiles = files.filter((file: FileEntry) => {
// yyyy-mm-dd.log
const reg = /(\d{4}-\d{2}-\d{2}\.log)/;
const match = file.path.match(reg);

View File

@@ -17,19 +17,19 @@
</template>
<script lang="ts" setup>
import { event, window as windowTauri } from "@tauri-apps/api";
import type { UnlistenFn } from "@tauri-apps/api/helpers/event";
import type { UnlistenFn, Event } from "@tauri-apps/api/helpers/event";
import { storeToRefs } from "pinia";
import { onMounted, onUnmounted, ref, watch } from "vue";
import TGSqlite from "../../plugins/Sqlite";
import { useAppStore } from "../../store/modules/app";
import { useUserStore } from "../../store/modules/user";
import TGClient from "../../utils/TGClient";
import TGLogger from "../../utils/TGLogger";
import { getDeviceFp } from "../../web/request/getDeviceFp";
import TGRequest from "../../web/request/TGRequest";
import showConfirm from "../func/confirm";
import showSnackbar from "../func/snackbar";
import TGSqlite from "../../plugins/Sqlite/index.js";
import { useAppStore } from "../../store/modules/app.js";
import { useUserStore } from "../../store/modules/user.js";
import TGClient from "../../utils/TGClient.js";
import TGLogger from "../../utils/TGLogger.js";
import { getDeviceFp } from "../../web/request/getDeviceFp.js";
import TGRequest from "../../web/request/TGRequest.js";
import showConfirm from "../func/confirm.js";
import showSnackbar from "../func/snackbar.js";
import ToGameLogin from "../overlay/to-gameLogin.vue";
interface TcUserBadgeEmits {
@@ -77,7 +77,7 @@ async function toWebLogin(): Promise<void> {
return;
}
await TGClient.open("config_sign_in", "https://user.mihoyo.com");
signListener = await event.listen("config_user_sign", async (e) => {
signListener = await event.listen("config_user_sign", async (e: Event<unknown>) => {
if (typeof e.payload !== "string") {
showSnackbar({
color: "error",

View File

@@ -16,7 +16,7 @@
<script lang="ts" setup>
import { onMounted, onUpdated, ref } from "vue";
import { saveImgLocal } from "../../utils/TGShare";
import { saveImgLocal } from "../../utils/TGShare.js";
interface DucDetailOlbProps {
modelValue: TGApp.Sqlite.Character.RoleConstellation[];

View File

@@ -10,7 +10,7 @@
<script lang="ts" setup>
import { onMounted, onUpdated, ref } from "vue";
import { saveImgLocal } from "../../utils/TGShare";
import { saveImgLocal } from "../../utils/TGShare.js";
interface DucDetailOrtProps {
modelValue: TGApp.Sqlite.Character.RoleTalent[];

View File

@@ -43,8 +43,8 @@
<script lang="ts" setup>
import { computed, onMounted, onUpdated, ref } from "vue";
import TGSqlite from "../../plugins/Sqlite";
import { generateShareImg } from "../../utils/TGShare";
import TGSqlite from "../../plugins/Sqlite/index.js";
import { generateShareImg } from "../../utils/TGShare.js";
import TOverlay from "../main/t-overlay.vue";
import DucDetailOlb from "./duc-detail-olb.vue";

View File

@@ -123,7 +123,7 @@ function loadData(): void {
star4List.value.push({
...item,
gachaCount: reset4count.value,
icon: getIcon(item.itemId, item.type),
icon: getIcon(item.itemId),
});
reset4count.value = 0;
} else if (item.rank === "5") {
@@ -131,7 +131,7 @@ function loadData(): void {
star5List.value.push({
...item,
gachaCount: reset5count.value,
icon: getIcon(item.itemId, item.type),
icon: getIcon(item.itemId),
});
reset5count.value = 0;
}

View File

@@ -16,7 +16,7 @@ import { CanvasRenderer } from "echarts/renderers";
import { onMounted, provide } from "vue";
import VChart, { THEME_KEY } from "vue-echarts";
import showSnackbar from "../func/snackbar";
import showSnackbar from "../func/snackbar.js";
// echarts
use([

View File

@@ -54,11 +54,11 @@
import { onMounted, ref } from "vue";
import { useRouter } from "vue-router";
import { AppGachaData, AppCharacterData, AppWeaponData } from "../../data";
import { createPost } from "../../utils/TGWindow";
import { timestampToDate } from "../../utils/toolFunc";
import showConfirm from "../func/confirm";
import showSnackbar from "../func/snackbar";
import { AppGachaData, AppCharacterData, AppWeaponData } from "../../data/index.js";
import { createPost } from "../../utils/TGWindow.js";
import { timestampToDate } from "../../utils/toolFunc.js";
import showConfirm from "../func/confirm.js";
import showSnackbar from "../func/snackbar.js";
import TItembox, { TItemBoxData } from "../main/t-itembox.vue";
interface GroHistoryMap {

View File

@@ -31,7 +31,7 @@
import { onBeforeMount, ref } from "vue";
import { useRouter } from "vue-router";
import TSAvatarBirth from "../../plugins/Sqlite/modules/avatarBirth";
import TSAvatarBirth from "../../plugins/Sqlite/modules/avatarBirth.js";
const isBirthday = ref<boolean>(false);
const router = useRouter();

View File

@@ -45,7 +45,7 @@
<script lang="ts" setup>
import { onMounted, ref, watch } from "vue";
import { AppCalendarData } from "../../data";
import { AppCalendarData } from "../../data/index.js";
import TibCalendarItem from "../itembox/tib-calendar-item.vue";
import ToCalendar from "../overlay/to-calendar.vue";

View File

@@ -56,11 +56,11 @@
import { ref, onMounted, onUnmounted } from "vue";
import { useRouter } from "vue-router";
import Mys from "../../plugins/Mys";
import { useHomeStore } from "../../store/modules/home";
import { createPost, createTGWindow } from "../../utils/TGWindow";
import { stamp2LastTime } from "../../utils/toolFunc";
import showSnackbar from "../func/snackbar";
import Mys from "../../plugins/Mys/index.js";
import { useHomeStore } from "../../store/modules/home.js";
import { createPost, createTGWindow } from "../../utils/TGWindow.js";
import { stamp2LastTime } from "../../utils/toolFunc.js";
import showSnackbar from "../func/snackbar.js";
import TItembox, { TItemBoxData } from "../main/t-itembox.vue";
import THomeCard from "./t-homecard.vue";

View File

@@ -40,9 +40,9 @@
<script lang="ts" setup>
import { ref, onMounted, onUnmounted } from "vue";
import Mys from "../../plugins/Mys";
import { createPost } from "../../utils/TGWindow";
import { stamp2LastTime } from "../../utils/toolFunc";
import Mys from "../../plugins/Mys/index.js";
import { createPost } from "../../utils/TGWindow.js";
import { stamp2LastTime } from "../../utils/toolFunc.js";
import THomeCard from "./t-homecard.vue";

View File

@@ -4,7 +4,7 @@
<script lang="ts" setup>
import { onMounted, ref } from "vue";
import TGSqlite from "../../plugins/Sqlite";
import TGSqlite from "../../plugins/Sqlite/index.js";
import TItemBox from "../main/t-itembox.vue";
import type { TItemBoxData } from "../main/t-itembox.vue";

View File

@@ -4,7 +4,7 @@
<script lang="ts" setup>
import { onMounted, ref } from "vue";
import TGSqlite from "../../plugins/Sqlite";
import TGSqlite from "../../plugins/Sqlite/index.js";
import TItemBox from "../main/t-itembox.vue";
import type { TItemBoxData } from "../main/t-itembox.vue";

View File

@@ -4,7 +4,7 @@
<script setup lang="ts">
import { ref, onMounted, computed } from "vue";
import TGSqlite from "../../plugins/Sqlite";
import TGSqlite from "../../plugins/Sqlite/index.js";
import TItemBox, { type TItemBoxData } from "../main/t-itembox.vue";
interface TibWikiAbyssProps {

View File

@@ -4,7 +4,7 @@
<script setup lang="ts">
import { ref, onMounted, computed } from "vue";
import TGSqlite from "../../plugins/Sqlite";
import TGSqlite from "../../plugins/Sqlite/index.js";
import TItemBox, { type TItemBoxData } from "../main/t-itembox.vue";
interface TibWikiAbyssProps {

View File

@@ -50,7 +50,7 @@
<script lang="ts" setup>
import { computed, onBeforeMount, ref } from "vue";
import { createPost } from "../../utils/TGWindow";
import { createPost } from "../../utils/TGWindow.js";
import TpAvatar from "../post/tp-avatar.vue";
interface TPostCardProps {

View File

@@ -7,8 +7,8 @@
</template>
<script lang="ts" setup>
// utils
import TGLogger from "../../utils/TGLogger";
import { generateShareImg } from "../../utils/TGShare";
import TGLogger from "../../utils/TGLogger.js";
import { generateShareImg } from "../../utils/TGShare.js";
interface TShareBtnProps {
modelValue: HTMLElement;

View File

@@ -56,8 +56,8 @@
<script lang="ts" setup>
import { computed, onMounted, ref, watch } from "vue";
import { AppAchievementsData, AppAchievementSeriesData } from "../../data";
import TGLogger from "../../utils/TGLogger";
import { AppAchievementsData, AppAchievementSeriesData } from "../../data/index.js";
import TGLogger from "../../utils/TGLogger.js";
import TOverlay from "../main/t-overlay.vue";
import ToPostSearch from "../post/to-postSearch.vue";

View File

@@ -33,9 +33,9 @@ import { ResponseType } from "@tauri-apps/api/http";
import { computed, onMounted, ref, watch } from "vue";
import { xml2json } from "xml-js";
import { copyToClipboard, getImageBuffer, saveCanvasImg } from "../../utils/TGShare";
import { bytesToSize } from "../../utils/toolFunc";
import showSnackbar from "../func/snackbar";
import { copyToClipboard, getImageBuffer, saveCanvasImg } from "../../utils/TGShare.js";
import { bytesToSize } from "../../utils/toolFunc.js";
import showSnackbar from "../func/snackbar.js";
import TOverlay from "../main/t-overlay.vue";
interface ToArcBirthProps {

View File

@@ -29,8 +29,8 @@
import { computed } from "vue";
import { useRouter } from "vue-router";
import { useAppStore } from "../../store/modules/app";
import showSnackbar from "../func/snackbar";
import { useAppStore } from "../../store/modules/app.js";
import showSnackbar from "../func/snackbar.js";
import TOverlay from "../main/t-overlay.vue";
interface ToChannelProps {

View File

@@ -24,9 +24,9 @@
<script setup lang="ts">
import { computed, ref, watch } from "vue";
import TSUserCollection from "../../plugins/Sqlite/modules/userCollect";
import showConfirm from "../func/confirm";
import showSnackbar from "../func/snackbar";
import TSUserCollection from "../../plugins/Sqlite/modules/userCollect.js";
import showConfirm from "../func/confirm.js";
import showSnackbar from "../func/snackbar.js";
import TOverlay from "../main/t-overlay.vue";
interface ToPostCollectProps {

View File

@@ -22,11 +22,11 @@ import { storeToRefs } from "pinia";
import QrcodeVue from "qrcode.vue";
import { computed, onUnmounted, reactive, ref, watch } from "vue";
import Mys from "../../plugins/Mys";
import { useUserStore } from "../../store/modules/user";
import TGLogger from "../../utils/TGLogger";
import TGRequest from "../../web/request/TGRequest";
import showSnackbar from "../func/snackbar";
import Mys from "../../plugins/Mys/index.js";
import { useUserStore } from "../../store/modules/user.js";
import TGLogger from "../../utils/TGLogger.js";
import TGRequest from "../../web/request/TGRequest.js";
import showSnackbar from "../func/snackbar.js";
import TOverlay from "../main/t-overlay.vue";
interface ToWebLoginProps {

View File

@@ -28,7 +28,7 @@
<script setup lang="ts">
import { computed, ref } from "vue";
import { generateShareImg } from "../../utils/TGShare";
import { generateShareImg } from "../../utils/TGShare.js";
import TOverlay from "../main/t-overlay.vue";
interface ToNamecardProps {

View File

@@ -36,9 +36,9 @@
<script setup lang="ts">
import { computed, ref, watch } from "vue";
import TSUserCollection from "../../plugins/Sqlite/modules/userCollect";
import showConfirm from "../func/confirm";
import showSnackbar from "../func/snackbar";
import TSUserCollection from "../../plugins/Sqlite/modules/userCollect.js";
import showConfirm from "../func/confirm.js";
import showSnackbar from "../func/snackbar.js";
import TOverlay from "../main/t-overlay.vue";
interface ToPostCollectProps {
@@ -100,7 +100,8 @@ async function deleteCollect(item: TGApp.Sqlite.UserCollection.UFCollection): Pr
});
return;
}
const resD = await TSUserCollection.deleteCollect(item.title);
// todo,这边暂时将默认force设为false后续需要根据需求修改
const resD = await TSUserCollection.deleteCollect(item.title, false);
if (resD) {
showSnackbar({
text: "删除成功",

View File

@@ -15,10 +15,10 @@
import { event } from "@tauri-apps/api";
import { onBeforeMount, ref, watch } from "vue";
import TSUserCollection from "../../plugins/Sqlite/modules/userCollect";
import TGLogger from "../../utils/TGLogger";
import showConfirm from "../func/confirm";
import showSnackbar from "../func/snackbar";
import TSUserCollection from "../../plugins/Sqlite/modules/userCollect.js";
import TGLogger from "../../utils/TGLogger.js";
import showConfirm from "../func/confirm.js";
import showSnackbar from "../func/snackbar.js";
import ToPostCollect from "../overlay/to-postCollect.vue";
const isCollected = ref(false);

View File

@@ -19,8 +19,8 @@
<script lang="ts" setup>
import { computed, onMounted, ref, watch } from "vue";
import Mys from "../../plugins/Mys";
import showSnackbar from "../func/snackbar";
import Mys from "../../plugins/Mys/index.js";
import showSnackbar from "../func/snackbar.js";
import TOverlay from "../main/t-overlay.vue";
import TPostCard from "../main/t-postcard.vue";

View File

@@ -12,7 +12,7 @@
<script lang="ts" setup>
import { StyleValue, ref } from "vue";
import { bytesToSize } from "../../utils/toolFunc";
import { bytesToSize } from "../../utils/toolFunc.js";
import TpoImage from "./tpo-image.vue";

View File

@@ -16,8 +16,8 @@
import { toRaw } from "vue";
import { useRouter } from "vue-router";
import { parseLink, parsePost } from "../../utils/linkParser";
import showSnackbar from "../func/snackbar";
import { parseLink, parsePost } from "../../utils/linkParser.js";
import showSnackbar from "../func/snackbar.js";
interface TpLinkCard {
insert: {

View File

@@ -7,9 +7,9 @@
<script lang="ts" setup>
import { toRaw } from "vue";
import TGClient from "../../utils/TGClient";
import showConfirm from "../func/confirm";
import showSnackbar from "../func/snackbar";
import TGClient from "../../utils/TGClient.js";
import showConfirm from "../func/confirm.js";
import showSnackbar from "../func/snackbar.js";
export interface TpMention {
insert: {

View File

@@ -23,10 +23,10 @@
import { onMounted, ref, StyleValue, toRaw } from "vue";
import { useRouter } from "vue-router";
import { getEmojis } from "../../plugins/Mys/request/getEmojis";
import { parseLink, parsePost } from "../../utils/linkParser";
import { isColorSimilar } from "../../utils/toolFunc";
import showSnackbar from "../func/snackbar";
import { getEmojis } from "../../plugins/Mys/request/getEmojis.js";
import { parseLink, parsePost } from "../../utils/linkParser.js";
import { isColorSimilar } from "../../utils/toolFunc.js";
import showSnackbar from "../func/snackbar.js";
export interface TpText {
insert: string;

View File

@@ -9,7 +9,7 @@
</div>
</template>
<script lang="ts" setup>
import { StyleValue } from "vue";
import { Component, StyleValue } from "vue";
import TpMention, { type TpMention as TpMentionType } from "./tp-mention.vue";
import TpText, { type TpText as TpTextType } from "./tp-text.vue";
@@ -24,7 +24,7 @@ interface TpTextsProps {
const props = defineProps<TpTextsProps>();
function getComp(text: TpTextType | TpMentionType): string {
function getComp(text: TpTextType | TpMentionType): Component {
if (typeof text.insert === "string") {
return TpText;
}

View File

@@ -6,7 +6,7 @@
<script lang="ts" setup>
import { onMounted, toRaw } from "vue";
import TGLogger from "../../utils/TGLogger";
import TGLogger from "../../utils/TGLogger.js";
interface TpUnknownProps {
data: TGApp.Plugins.Mys.SctPost.Empty;

View File

@@ -27,8 +27,8 @@
import { window as TauriWindow } from "@tauri-apps/api";
import { onBeforeMount, onMounted, ref } from "vue";
import Bili from "../../plugins/Bili";
import { saveImgLocal } from "../../utils/TGShare";
import Bili from "../../plugins/Bili/index.js";
import { saveImgLocal } from "../../utils/TGShare.js";
interface TpVideo {
insert: {

View File

@@ -15,7 +15,7 @@
<script lang="ts" setup>
import { window as TauriWindow } from "@tauri-apps/api";
import Artplayer from "artplayer";
import type { Option } from "artplayer/types/option";
import type { Option } from "artplayer/types/option.js";
import { onMounted, ref, toRaw } from "vue";
interface TpVod {

View File

@@ -23,7 +23,7 @@
<script lang="ts" setup>
import { onMounted, ref } from "vue";
import Mys from "../../plugins/Mys";
import Mys from "../../plugins/Mys/index.js";
interface TpVote {
insert: {

View File

@@ -50,8 +50,8 @@
import { ref, computed, onMounted } from "vue";
import { useRouter } from "vue-router";
import Mys from "../../plugins/Mys";
import showSnackbar from "../func/snackbar";
import Mys from "../../plugins/Mys/index.js";
import showSnackbar from "../func/snackbar.js";
import TOverlay from "../main/t-overlay.vue";
interface TpoCollectionProps {

View File

@@ -25,9 +25,9 @@
<script setup lang="ts">
import { computed, onUnmounted, ref } from "vue";
import { copyToClipboard, getImageBuffer, saveCanvasImg } from "../../utils/TGShare";
import { bytesToSize } from "../../utils/toolFunc";
import showSnackbar from "../func/snackbar";
import { copyToClipboard, getImageBuffer, saveCanvasImg } from "../../utils/TGShare.js";
import { bytesToSize } from "../../utils/toolFunc.js";
import showSnackbar from "../func/snackbar.js";
import TOverlay from "../main/t-overlay.vue";
import { TpImage } from "./tp-image.vue";

View File

@@ -44,8 +44,8 @@
<script setup lang="ts">
import { computed, ref, watch } from "vue";
import Mys from "../../plugins/Mys";
import showSnackbar from "../func/snackbar";
import Mys from "../../plugins/Mys/index.js";
import showSnackbar from "../func/snackbar.js";
import TOverlay from "../main/t-overlay.vue";
interface TpoLotteryProps {

View File

@@ -24,7 +24,7 @@
</TucDetailDesc>
</template>
<script lang="ts" setup>
import { parseHtmlText } from "../../utils/toolFunc";
import { parseHtmlText } from "../../utils/toolFunc.js";
import TucDetailConstellation from "./tuc-detail-constellation.vue";
import TucDetailDesc from "./tuc-detail-desc.vue";

View File

@@ -29,7 +29,7 @@
<script lang="ts" setup>
import { computed } from "vue";
import { parseHtmlText } from "../../utils/toolFunc";
import { parseHtmlText } from "../../utils/toolFunc.js";
import TucDetailDesc from "./tuc-detail-desc.vue";
import TucDetailItemBox from "./tuc-detail-itembox.vue";

View File

@@ -34,8 +34,8 @@
<script lang="ts" setup>
import { computed, onMounted, onUnmounted, ref } from "vue";
import TGSqlite from "../../plugins/Sqlite";
import { saveImgLocal } from "../../utils/TGShare";
import TGSqlite from "../../plugins/Sqlite/index.js";
import { saveImgLocal } from "../../utils/TGShare.js";
import TItemBox from "../main/t-itembox.vue";
interface TucRoleBoxProps {

View File

@@ -36,7 +36,7 @@
<script lang="ts" setup>
import { onMounted, ref } from "vue";
import { saveImgLocal } from "../../utils/TGShare";
import { saveImgLocal } from "../../utils/TGShare.js";
interface TurHomeSubProps {
data: TGApp.Sqlite.Record.Home;

View File

@@ -7,7 +7,7 @@
<script lang="ts" setup>
import { computed } from "vue";
import showSnackbar from "../func/snackbar";
import showSnackbar from "../func/snackbar.js";
import TurWorldSub from "./tur-world-sub.vue";

View File

@@ -43,7 +43,7 @@ import { event } from "@tauri-apps/api";
import { UnlistenFn } from "@tauri-apps/api/helpers/event";
import { onMounted, onUnmounted, ref } from "vue";
import { saveImgLocal } from "../../utils/TGShare";
import { saveImgLocal } from "../../utils/TGShare.js";
interface TurWorldSubProps {
theme: "default" | "dark";

View File

@@ -49,7 +49,7 @@
</div>
</div>
</div>
<TopNamecard :data="nameCard" @selected="toNameCard" />
<TopNamecard :data="nameCard" @selected="toNameCard" v-if="nameCard" />
<TwcMaterials :data="data.materials" />
<TwcSkills :data="data.skills" />
<TwcConstellations :data="data.constellation" />
@@ -100,11 +100,11 @@
import { computed, onMounted, ref, watch } from "vue";
import { useRouter } from "vue-router";
import { WikiCharacterData, AppNameCardsData, AppCharacterData } from "../../data";
import Mys from "../../plugins/Mys";
import { createTGWindow } from "../../utils/TGWindow";
import { parseHtmlText } from "../../utils/toolFunc";
import showSnackbar from "../func/snackbar";
import { WikiCharacterData, AppNameCardsData, AppCharacterData } from "../../data/index.js";
import Mys from "../../plugins/Mys/index.js";
import { createTGWindow } from "../../utils/TGWindow.js";
import { parseHtmlText } from "../../utils/toolFunc.js";
import showSnackbar from "../func/snackbar.js";
import TItembox, { TItemBoxData } from "../main/t-itembox.vue";
import ToNamecard from "../overlay/to-namecard.vue";
import TopNamecard from "../overlay/top-namecard.vue";

View File

@@ -28,7 +28,7 @@
<script setup lang="ts">
import { onMounted, ref, watch } from "vue";
import { parseHtmlText } from "../../utils/toolFunc";
import { parseHtmlText } from "../../utils/toolFunc.js";
interface TwcConstellationProps {
data: TGApp.Plugins.Hutao.Character.RhisdTalent[];

View File

@@ -19,13 +19,14 @@
</div>
</div>
</div>
<!-- todo 这边加了 v-if需要经过测试 -->
<TwoMaterial :data="curData" v-model="showOverlay" />
</template>
<script lang="ts" setup>
import { ref } from "vue";
import { WikiMaterialData } from "../../data";
import showSnackbar from "../func/snackbar";
import { WikiMaterialData } from "../../data/index.js";
import showSnackbar from "../func/snackbar.js";
import TwoMaterial from "./two-material.vue";
@@ -35,7 +36,15 @@ interface TwcMaterialsProp {
const props = defineProps<TwcMaterialsProp>();
const showOverlay = ref(false);
const curData = ref<TGApp.App.Material.WikiItem>();
const curData = ref<TGApp.App.Material.WikiItem>({
id: 0,
name: "",
description: "",
type: "",
star: 0,
source: [],
convert: [],
});
function checkData(item: TGApp.App.Calendar.Material) {
if (showOverlay.value) showOverlay.value = false;

View File

@@ -25,7 +25,7 @@
<script lang="ts" setup>
import { onMounted, ref, watch } from "vue";
import { parseHtmlText } from "../../utils/toolFunc";
import { parseHtmlText } from "../../utils/toolFunc.js";
interface TwcSkillsProps {
data: TGApp.App.Character.WikiSkill[];

View File

@@ -53,11 +53,11 @@
<script lang="ts" setup>
import { computed, onMounted, ref, watch } from "vue";
import { WikiWeaponData } from "../../data";
import Mys from "../../plugins/Mys";
import { createTGWindow } from "../../utils/TGWindow";
import { parseHtmlText } from "../../utils/toolFunc";
import showSnackbar from "../func/snackbar";
import { WikiWeaponData } from "../../data/index.js";
import Mys from "../../plugins/Mys/index.js";
import { createTGWindow } from "../../utils/TGWindow.js";
import { parseHtmlText } from "../../utils/toolFunc.js";
import showSnackbar from "../func/snackbar.js";
import TItembox, { TItemBoxData } from "../main/t-itembox.vue";
import TwcMaterials from "./twc-materials.vue";

View File

@@ -8,9 +8,9 @@
</v-card>
</template>
<script lang="ts" setup>
import Mys from "../../plugins/Mys";
import { createTGWindow } from "../../utils/TGWindow";
import showSnackbar from "../func/snackbar";
import Mys from "../../plugins/Mys/index.js";
import { createTGWindow } from "../../utils/TGWindow.js";
import showSnackbar from "../func/snackbar.js";
interface TwgCardProps {
data: TGApp.App.GCG.WikiBriefInfo;

View File

@@ -4,7 +4,7 @@
* @since Beta v0.4.7
*/
import type { SchemaType } from "ajv/lib/types/index.js";
import type { Schema } from "ajv";
import achievements from "./app/achievements.json";
import achievementSeries from "./app/achievementSeries.json";
@@ -33,8 +33,8 @@ export const AppGCGData: TGApp.App.GCG.WikiBriefInfo[] = GCG;
export const AppNameCardsData: TGApp.App.NameCard.Item[] = nameCards;
export const AppWeaponData: TGApp.App.Weapon.WikiBriefInfo[] = weapon;
// Schema
export const UiafSchema: SchemaType = schemaUiaf;
export const UigfSchema: SchemaType = schemaUigf;
export const UiafSchema: Schema = schemaUiaf;
export const UigfSchema: Schema = schemaUigf;
// Archive
export const ArcBirCalendar: TGApp.Archive.Birth.CalendarData = arcBirCalendar;
export const ArcBirDraw: TGApp.Archive.Birth.DrawItem[] = arcBirDraw;

View File

@@ -8,8 +8,8 @@ import { createApp } from "vue";
import { createVuetify } from "vuetify";
import App from "./App.vue";
import router from "./router";
import store from "./store";
import router from "./router/index.js";
import store from "./store/index.js";
import "@mdi/font/css/materialdesignicons.css";
import "vuetify/styles";

View File

@@ -13,9 +13,9 @@
clearable
variant="outlined"
label="角色"
:item-value="(item) => item.role_birthday"
:item-title="(item) => item.name"
:item-props="(item) => getItemProps(item)"
:item-value="(item: TGApp.Archive.Birth.RoleItem) => item.role_birthday"
:item-title="(item: TGApp.Archive.Birth.RoleItem) => item.name"
:item-props="(item: TGApp.Archive.Birth.RoleItem) => getItemProps(item)"
>
</v-select>
</div>
@@ -39,8 +39,8 @@ import { onMounted, ref, watch } from "vue";
import { useRoute } from "vue-router";
import ToArcBrith from "../../components/overlay/to-arcBrith.vue";
import { ArcBirDraw, ArcBirRole } from "../../data";
import TGClient from "../../utils/TGClient";
import { ArcBirDraw, ArcBirRole } from "../../data/index.js";
import TGClient from "../../utils/TGClient.js";
const page = ref(1);
const length = ref(0);

View File

@@ -71,17 +71,17 @@
import { storeToRefs } from "pinia";
import { onMounted, ref } from "vue";
import showSnackbar from "../../components/func/snackbar";
import showSnackbar from "../../components/func/snackbar.js";
import TSubLine from "../../components/main/t-subline.vue";
import ToLoading from "../../components/overlay/to-loading.vue";
import TuaDetail from "../../components/userAbyss/tua-detail.vue";
import TuaOverview from "../../components/userAbyss/tua-overview.vue";
import Hutao from "../../plugins/Hutao";
import TGSqlite from "../../plugins/Sqlite";
import { useUserStore } from "../../store/modules/user";
import TGLogger from "../../utils/TGLogger";
import { generateShareImg } from "../../utils/TGShare";
import TGRequest from "../../web/request/TGRequest";
import Hutao from "../../plugins/Hutao/index.js";
import TGSqlite from "../../plugins/Sqlite/index.js";
import { useUserStore } from "../../store/modules/user.js";
import TGLogger from "../../utils/TGLogger.js";
import { generateShareImg } from "../../utils/TGShare.js";
import TGRequest from "../../web/request/TGRequest.js";
// store
const userStore = storeToRefs(useUserStore());

View File

@@ -58,15 +58,15 @@ import { storeToRefs } from "pinia";
import { onBeforeMount, onMounted, ref } from "vue";
import DucDetailOverlay from "../../components/devCharacter/duc-detail-overlay.vue";
import showSnackbar from "../../components/func/snackbar";
import showSnackbar from "../../components/func/snackbar.js";
import ToLoading from "../../components/overlay/to-loading.vue";
import TucDetailOverlay from "../../components/userCharacter/tuc-detail-overlay.vue";
import TucRoleBox from "../../components/userCharacter/tuc-role-box.vue";
import TGSqlite from "../../plugins/Sqlite";
import { useUserStore } from "../../store/modules/user";
import TGLogger from "../../utils/TGLogger";
import { generateShareImg } from "../../utils/TGShare";
import TGRequest from "../../web/request/TGRequest";
import TGSqlite from "../../plugins/Sqlite/index.js";
import { useUserStore } from "../../store/modules/user.js";
import TGLogger from "../../utils/TGLogger.js";
import { generateShareImg } from "../../utils/TGShare.js";
import TGRequest from "../../web/request/TGRequest.js";
// store
const userStore = storeToRefs(useUserStore());

View File

@@ -45,19 +45,19 @@ import { dialog, path } from "@tauri-apps/api";
import { storeToRefs } from "pinia";
import { onMounted, ref, watch } from "vue";
import showConfirm from "../../components/func/confirm";
import showSnackbar from "../../components/func/snackbar";
import showConfirm from "../../components/func/confirm.js";
import showSnackbar from "../../components/func/snackbar.js";
import GroEcharts from "../../components/gachaRecord/gro-echarts.vue";
import GroHistory from "../../components/gachaRecord/gro-history.vue";
import GroOverview from "../../components/gachaRecord/gro-overview.vue";
import ToLoading from "../../components/overlay/to-loading.vue";
import { AppCharacterData, AppWeaponData } from "../../data";
import TSUserGacha from "../../plugins/Sqlite/modules/userGacha";
import { useAppStore } from "../../store/modules/app";
import { useUserStore } from "../../store/modules/user";
import TGLogger from "../../utils/TGLogger";
import { backupUigfData, exportUigfData, readUigfData, verifyUigfData } from "../../utils/UIGF";
import TGRequest from "../../web/request/TGRequest";
import { AppCharacterData, AppWeaponData } from "../../data/index.js";
import TSUserGacha from "../../plugins/Sqlite/modules/userGacha.js";
import { useAppStore } from "../../store/modules/app.js";
import { useUserStore } from "../../store/modules/user.js";
import TGLogger from "../../utils/TGLogger.js";
import { backupUigfData, exportUigfData, readUigfData, verifyUigfData } from "../../utils/UIGF.js";
import TGRequest from "../../web/request/TGRequest.js";
// store
const appStore = useAppStore();

View File

@@ -35,18 +35,18 @@
import { storeToRefs } from "pinia";
import { onMounted, ref } from "vue";
import showSnackbar from "../../components/func/snackbar";
import showSnackbar from "../../components/func/snackbar.js";
import TSubLine from "../../components/main/t-subline.vue";
import ToLoading from "../../components/overlay/to-loading.vue";
import TurAvatarGrid from "../../components/userRecord/tur-avatar-grid.vue";
import TurHomeGrid from "../../components/userRecord/tur-home-grid.vue";
import TurOverviewGrid from "../../components/userRecord/tur-overview-grid.vue";
import TurWorldGrid from "../../components/userRecord/tur-world-grid.vue";
import TGSqlite from "../../plugins/Sqlite";
import { useUserStore } from "../../store/modules/user";
import TGLogger from "../../utils/TGLogger";
import { generateShareImg } from "../../utils/TGShare";
import TGRequest from "../../web/request/TGRequest";
import TGSqlite from "../../plugins/Sqlite/index.js";
import { useUserStore } from "../../store/modules/user.js";
import TGLogger from "../../utils/TGLogger.js";
import { generateShareImg } from "../../utils/TGShare.js";
import TGRequest from "../../web/request/TGRequest.js";
// store
const userStore = storeToRefs(useUserStore());

View File

@@ -40,7 +40,7 @@ import HtaTabTeam from "../../components/hutaoAbyss/hta-tab-team.vue";
import HtaTabUp from "../../components/hutaoAbyss/hta-tab-up.vue";
import HtaTabUse from "../../components/hutaoAbyss/hta-tab-use.vue";
import ToLoading from "../../components/overlay/to-loading.vue";
import Hutao from "../../plugins/Hutao";
import Hutao from "../../plugins/Hutao/index.js";
// loading
const loading = ref<boolean>(false);

View File

@@ -28,20 +28,32 @@
import { onBeforeMount, ref, watch } from "vue";
import { useRoute } from "vue-router";
import showConfirm from "../../components/func/confirm";
import showSnackbar from "../../components/func/snackbar";
import showConfirm from "../../components/func/confirm.js";
import showSnackbar from "../../components/func/snackbar.js";
import TwcCharacter from "../../components/wiki/twc-character.vue";
import TwcListItem from "../../components/wiki/twc-list-item.vue";
import TwoSelectC, { SelectedCValue } from "../../components/wiki/two-select-c.vue";
import { AppCharacterData } from "../../data";
import Mys from "../../plugins/Mys";
import { createTGWindow } from "../../utils/TGWindow";
import { AppCharacterData } from "../../data/index.js";
import Mys from "../../plugins/Mys/index.js";
import { createTGWindow } from "../../utils/TGWindow.js";
const id = useRoute().params.id.toString() ?? "0";
const showSelect = ref(false);
const resetSelect = ref(false);
const cardsInfo = ref(AppCharacterData);
const curItem = ref<TGApp.App.Character.WikiBriefInfo>();
// todo这边赋予了默认值需要经过测试
const curItem = ref<TGApp.App.Character.WikiBriefInfo>({
id: 0,
contentId: 0,
name: "",
title: "",
area: "",
birthday: [0, 0],
star: 0,
element: "",
weapon: "",
nameCard: "",
});
onBeforeMount(() => {
if (id === "0") {

View File

@@ -36,10 +36,10 @@
<script lang="ts" setup>
import { onBeforeMount, onMounted, ref } from "vue";
import showSnackbar from "../../components/func/snackbar";
import showSnackbar from "../../components/func/snackbar.js";
import ToLoading from "../../components/overlay/to-loading.vue";
import TwgCard from "../../components/wiki/twg-card.vue";
import { AppGCGData } from "../../data";
import { AppGCGData } from "../../data/index.js";
const loading = ref<boolean>(true);
const doSearch = ref<boolean>(false);

View File

@@ -34,10 +34,10 @@
<script lang="ts" setup>
import { onMounted, ref } from "vue";
import showSnackbar from "../../components/func/snackbar";
import showSnackbar from "../../components/func/snackbar.js";
import ToNamecard from "../../components/overlay/to-namecard.vue";
import TopNamecard from "../../components/overlay/top-namecard.vue";
import { AppNameCardsData } from "../../data";
import { AppNameCardsData } from "../../data/index.js";
const curNameCard = ref<TGApp.App.NameCard.Item>();
const sortNameCardsData = ref<TGApp.App.NameCard.Item[]>([]);

View File

@@ -29,20 +29,29 @@
import { onBeforeMount, ref } from "vue";
import { useRoute } from "vue-router";
import showConfirm from "../../components/func/confirm";
import showSnackbar from "../../components/func/snackbar";
import showConfirm from "../../components/func/confirm.js";
import showSnackbar from "../../components/func/snackbar.js";
import TwcListItem from "../../components/wiki/twc-list-item.vue";
import TwcWeapon from "../../components/wiki/twc-weapon.vue";
import TwoSelectW, { SelectedWValue } from "../../components/wiki/two-select-w.vue";
import { AppWeaponData } from "../../data";
import Mys from "../../plugins/Mys";
import { createTGWindow } from "../../utils/TGWindow";
import { AppWeaponData } from "../../data/index.js";
import Mys from "../../plugins/Mys/index.js";
import { createTGWindow } from "../../utils/TGWindow.js";
const id = useRoute().params.id.toString() ?? "0";
const showSelect = ref(false);
const resetSelect = ref(false);
const cardsInfo = ref(AppWeaponData);
const curItem = ref<TGApp.App.Weapon.WikiBriefInfo>();
// todo这边赋予了默认值需要经过测试
const curItem = ref<TGApp.App.Weapon.WikiBriefInfo>({
id: 0,
contentId: 0,
name: "",
star: 0,
bg: "",
weaponIcon: "",
icon: "",
});
onBeforeMount(() => {
if (id === "0") {

View File

@@ -38,7 +38,8 @@
<!-- 右侧内容-->
<div class="right-wrap">
<div v-if="curCardName !== '' && selectedSeries !== -1 && !loading">
<TopNamecard :data="curCard" @selected="openImg()" />
<!-- todo这边用 v-if 包装需要经过测试 -->
<TopNamecard :data="curCard" @selected="openImg()" v-if="curCard" />
</div>
<div
v-for="(achievement, index) in renderSelect"
@@ -109,23 +110,23 @@ import { dialog, fs, path } from "@tauri-apps/api";
import { computed, nextTick, onMounted, ref } from "vue";
import { useRoute, useRouter } from "vue-router";
import showConfirm from "../../components/func/confirm";
import showSnackbar from "../../components/func/snackbar";
import showConfirm from "../../components/func/confirm.js";
import showSnackbar from "../../components/func/snackbar.js";
import ToAchiInfo from "../../components/overlay/to-achiInfo.vue";
import ToLoading from "../../components/overlay/to-loading.vue";
import ToNamecard from "../../components/overlay/to-namecard.vue";
import TopNamecard from "../../components/overlay/top-namecard.vue";
import { AppAchievementSeriesData, AppNameCardsData } from "../../data";
import { AppAchievementSeriesData, AppNameCardsData } from "../../data/index.js";
import TSUserAchi from "../../plugins/Sqlite/modules/userAchi.js";
import { useAchievementsStore } from "../../store/modules/achievements";
import TGLogger from "../../utils/TGLogger";
import { getNowStr } from "../../utils/toolFunc";
import { useAchievementsStore } from "../../store/modules/achievements.js";
import TGLogger from "../../utils/TGLogger.js";
import { getNowStr } from "../../utils/toolFunc.js";
import {
getUiafHeader,
readUiafData,
verifyUiafData,
verifyUiafDataClipboard,
} from "../../utils/UIAF";
} from "../../utils/UIAF.js";
// Store
const achievementsStore = useAchievementsStore();
@@ -224,7 +225,7 @@ async function selectSeries(index: number): Promise<void> {
selectedSeries.value = index;
selectedAchievement.value = await getAchiData("series", index.toString());
loadingTitle.value = "正在查找对应的成就名片";
curCardName.value = await TSUserAchi.getSeriesNameCard(index);
curCardName.value = await TSUserAchi.getSeriesNameCard(String(index));
if (curCardName.value !== "") {
curCard.value = AppNameCardsData.find((item) => item.name === curCardName.value);
}

View File

@@ -57,12 +57,12 @@ import { nextTick, onMounted, ref, watch } from "vue";
import { useRouter } from "vue-router";
import ToLoading from "../../components/overlay/to-loading.vue";
import { useAppStore } from "../../store/modules/app";
import TGLogger from "../../utils/TGLogger";
import { createTGWindow } from "../../utils/TGWindow";
import { AnnoLang, AnnoServer } from "../../web/request/getAnno";
import TGRequest from "../../web/request/TGRequest";
import TGUtils from "../../web/utils/TGUtils";
import { useAppStore } from "../../store/modules/app.js";
import TGLogger from "../../utils/TGLogger.js";
import { createTGWindow } from "../../utils/TGWindow.js";
import { AnnoLang, AnnoServer } from "../../web/request/getAnno.js";
import TGRequest from "../../web/request/TGRequest.js";
import TGUtils from "../../web/utils/TGUtils.js";
// 服务器名称-服务器对应
type AnnoServerMap = {

View File

@@ -94,19 +94,19 @@ import TcAppBadge from "../../components/config/tc-appBadge.vue";
import TcDataDir from "../../components/config/tc-dataDir.vue";
import TcInfo from "../../components/config/tc-info.vue";
import TcUserBadge from "../../components/config/tc-userBadge.vue";
import showConfirm from "../../components/func/confirm";
import showSnackbar from "../../components/func/snackbar";
import showConfirm from "../../components/func/confirm.js";
import showSnackbar from "../../components/func/snackbar.js";
import ToLoading from "../../components/overlay/to-loading.vue";
import TGSqlite from "../../plugins/Sqlite";
import TGSqlite from "../../plugins/Sqlite/index.js";
import TSUserAchi from "../../plugins/Sqlite/modules/userAchi.js";
import { useAchievementsStore } from "../../store/modules/achievements";
import { useAppStore } from "../../store/modules/app";
import { useHomeStore } from "../../store/modules/home";
import { backUpUserData, restoreUserData } from "../../utils/dataBS";
import { getBuildTime } from "../../utils/TGBuild";
import TGLogger from "../../utils/TGLogger";
import { bytesToSize, getCacheDir, getDeviceInfo, getRandomString } from "../../utils/toolFunc";
import TGRequest from "../../web/request/TGRequest";
import { useAchievementsStore } from "../../store/modules/achievements.js";
import { useAppStore } from "../../store/modules/app.js";
import { useHomeStore } from "../../store/modules/home.js";
import { backUpUserData, restoreUserData } from "../../utils/dataBS.js";
import { getBuildTime } from "../../utils/TGBuild.js";
import TGLogger from "../../utils/TGLogger.js";
import { bytesToSize, getCacheDir, getDeviceInfo, getRandomString } from "../../utils/toolFunc.js";
import TGRequest from "../../web/request/TGRequest.js";
// Store
const appStore = useAppStore();

View File

@@ -25,14 +25,14 @@
<script lang="ts" setup>
import { onMounted, onUnmounted, ref, shallowRef } from "vue";
import showSnackbar from "../../components/func/snackbar";
import showSnackbar from "../../components/func/snackbar.js";
import TCalendar from "../../components/home/t-calendar.vue";
import TPool from "../../components/home/t-pool.vue";
import TPosition from "../../components/home/t-position.vue";
import ToLoading from "../../components/overlay/to-loading.vue";
import { useAppStore } from "../../store/modules/app";
import { useHomeStore } from "../../store/modules/home";
import TGLogger from "../../utils/TGLogger";
import { useAppStore } from "../../store/modules/app.js";
import { useHomeStore } from "../../store/modules/home.js";
import TGLogger from "../../utils/TGLogger.js";
// store
const appStore = useAppStore();

View File

@@ -47,15 +47,15 @@
import { nextTick, onMounted, ref, watch } from "vue";
import { useRoute, useRouter } from "vue-router";
import showSnackbar from "../../components/func/snackbar";
import showSnackbar from "../../components/func/snackbar.js";
import TPostCard from "../../components/main/t-postcard.vue";
import ToChannel from "../../components/overlay/to-channel.vue";
import ToLoading from "../../components/overlay/to-loading.vue";
import ToPostSearch from "../../components/post/to-postSearch.vue";
import Mys from "../../plugins/Mys";
import { useAppStore } from "../../store/modules/app";
import TGLogger from "../../utils/TGLogger";
import { createPost } from "../../utils/TGWindow";
import Mys from "../../plugins/Mys/index.js";
import { useAppStore } from "../../store/modules/app.js";
import TGLogger from "../../utils/TGLogger.js";
import { createPost } from "../../utils/TGWindow.js";
// 类型定义
enum NewsType {

View File

@@ -95,16 +95,16 @@ import { UnlistenFn } from "@tauri-apps/api/helpers/event";
import { storeToRefs } from "pinia";
import { computed, onBeforeMount, onMounted, onUnmounted, ref, watch } from "vue";
import showConfirm from "../../components/func/confirm";
import showSnackbar from "../../components/func/snackbar";
import showConfirm from "../../components/func/confirm.js";
import showSnackbar from "../../components/func/snackbar.js";
import TPostCard from "../../components/main/t-postcard.vue";
import ToCollectPost from "../../components/overlay/to-collectPost.vue";
import ToLoading from "../../components/overlay/to-loading.vue";
import TGSqlite from "../../plugins/Sqlite";
import TSUserCollection from "../../plugins/Sqlite/modules/userCollect";
import { useUserStore } from "../../store/modules/user";
import TGLogger from "../../utils/TGLogger";
import TGRequest from "../../web/request/TGRequest";
import TGSqlite from "../../plugins/Sqlite/index.js";
import TSUserCollection from "../../plugins/Sqlite/modules/userCollect.js";
import { useUserStore } from "../../store/modules/user.js";
import TGLogger from "../../utils/TGLogger.js";
import TGRequest from "../../web/request/TGRequest.js";
const loading = ref(false);
const loadingTitle = ref("加载中...");

View File

@@ -56,15 +56,15 @@
<script setup lang="ts">
import { nextTick, onMounted, ref, watch } from "vue";
import showConfirm from "../../components/func/confirm";
import showSnackbar from "../../components/func/snackbar";
import showConfirm from "../../components/func/confirm.js";
import showSnackbar from "../../components/func/snackbar.js";
import TPostCard from "../../components/main/t-postcard.vue";
import ToLoading from "../../components/overlay/to-loading.vue";
import ToPostSearch from "../../components/post/to-postSearch.vue";
import Mys from "../../plugins/Mys";
import TGClient from "../../utils/TGClient";
import TGLogger from "../../utils/TGLogger";
import { createPost } from "../../utils/TGWindow";
import Mys from "../../plugins/Mys/index.js";
import TGClient from "../../utils/TGClient.js";
import TGLogger from "../../utils/TGLogger.js";
import { createPost } from "../../utils/TGWindow.js";
const loading = ref<boolean>(true);
const loadingTitle = ref<string>("正在加载数据");
@@ -282,6 +282,8 @@ async function freshPostData(): Promise<void> {
function freshCurForum(newVal: string): void {
const forum = forumList[curGameLabel.value];
// todo这边需要优化逻辑以经过测试目前暂时ignore
// @ts-expect-error-next-line Vue: Element implicitly has an any type because expression of type string can't be used to index type
curForum.value = forum[newVal];
}

View File

@@ -4,8 +4,8 @@
* @since Beta v0.4.0
*/
import getVideoUrl from "./request/getVideoUrl";
import getVideoView from "./request/getVideoView";
import getVideoUrl from "./request/getVideoUrl.js";
import getVideoView from "./request/getVideoView.js";
const Bili = {
video: {

View File

@@ -16,7 +16,7 @@ import {
UidCheckApi,
UidRankApi,
WeaponCollocationApi,
} from "./abyss";
} from "./abyss.js";
const HutaoApi = {
Abyss: {

View File

@@ -4,21 +4,21 @@
* @since Beta v0.4.5
*/
import MysApi from "./api";
import { getLoginQr, getLoginStatus } from "./request/doGameLogin";
import { getCollectionData, getCollectionPosts } from "./request/getCollectionData";
import getForumList from "./request/getForumList";
import getGachaData from "./request/getGachaData";
import getHomeNavigator from "./request/getHomeNavigator";
import getLotteryData from "./request/getLotteryData";
import getNewsList from "./request/getNewsList";
import { getPositionData } from "./request/getPositionData";
import getPostData from "./request/getPostData";
import { getVoteInfo, getVoteResult } from "./request/getVoteData";
import searchPosts from "./request/searchPost";
import { getGachaCard } from "./utils/getGachaCard";
import getLotteryCard from "./utils/getLotteryCard";
import getPositionCard from "./utils/getPositionCard";
import MysApi from "./api/index.js";
import { getLoginQr, getLoginStatus } from "./request/doGameLogin.js";
import { getCollectionData, getCollectionPosts } from "./request/getCollectionData.js";
import getForumList from "./request/getForumList.js";
import getGachaData from "./request/getGachaData.js";
import getHomeNavigator from "./request/getHomeNavigator.js";
import getLotteryData from "./request/getLotteryData.js";
import getNewsList from "./request/getNewsList.js";
import { getPositionData } from "./request/getPositionData.js";
import getPostData from "./request/getPostData.js";
import { getVoteInfo, getVoteResult } from "./request/getVoteData.js";
import searchPosts from "./request/searchPost.js";
import { getGachaCard } from "./utils/getGachaCard.js";
import getLotteryCard from "./utils/getLotteryCard.js";
import getPositionCard from "./utils/getPositionCard.js";
const Mys = {
Api: MysApi,