mirror of
https://github.com/BTMuli/TeyvatGuide.git
synced 2025-12-12 09:18:14 +08:00
♻️ 动态路由,提高加载速度
This commit is contained in:
@@ -34,7 +34,6 @@ onBeforeMount(async () => {
|
||||
isMain.value = win.label === "TeyvatGuide";
|
||||
if (isMain.value) {
|
||||
const title = "Teyvat Guide v" + (await app.getVersion()) + " Beta";
|
||||
if (!(await win.isVisible())) await win.show();
|
||||
await win.setTitle(title);
|
||||
await listenOnInit();
|
||||
await tauri.invoke("init_app");
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/**
|
||||
* @file router index.ts
|
||||
* @description 路由入口
|
||||
* @since Beta v0.3.2
|
||||
* @since Beta v0.3.3
|
||||
*/
|
||||
|
||||
import { createRouter, createWebHistory } from "vue-router";
|
||||
@@ -15,7 +15,7 @@ const router = createRouter({
|
||||
|
||||
// 解决路由重复问题
|
||||
router.afterEach((to, from) => {
|
||||
if (from.name === to.name) {
|
||||
if (from.name === to.name && from.fullPath !== to.fullPath) {
|
||||
console.log("路由重复");
|
||||
window.location.reload();
|
||||
}
|
||||
|
||||
@@ -4,43 +4,36 @@
|
||||
* @since Beta v0.3.3
|
||||
*/
|
||||
|
||||
import Achievements from "../../pages/common/Achievements.vue";
|
||||
import Announcements from "../../pages/common/Announcements.vue";
|
||||
import Config from "../../pages/common/Config.vue";
|
||||
import Home from "../../pages/common/Home.vue";
|
||||
import News from "../../pages/common/News.vue";
|
||||
import Test from "../../pages/common/Test.vue";
|
||||
|
||||
const mainRoutes = [
|
||||
{
|
||||
path: "/",
|
||||
name: "首页",
|
||||
component: Home,
|
||||
component: async () => await import("../../pages/common/Home.vue"),
|
||||
},
|
||||
{
|
||||
path: "/announcements",
|
||||
name: "公告",
|
||||
component: Announcements,
|
||||
component: async () => await import("../../pages/common/Announcements.vue"),
|
||||
},
|
||||
{
|
||||
path: "/news/:gid",
|
||||
name: "咨讯",
|
||||
component: News,
|
||||
component: async () => await import("../../pages/common/News.vue"),
|
||||
},
|
||||
{
|
||||
path: "/achievements/:app?",
|
||||
name: "成就",
|
||||
component: Achievements,
|
||||
component: async () => await import("../../pages/common/Achievements.vue"),
|
||||
},
|
||||
{
|
||||
path: "/test",
|
||||
name: "测试页",
|
||||
component: Test,
|
||||
component: async () => await import("../../pages/common/Test.vue"),
|
||||
},
|
||||
{
|
||||
path: "/config",
|
||||
name: "设置",
|
||||
component: Config,
|
||||
component: async () => await import("../../pages/common/Config.vue"),
|
||||
},
|
||||
];
|
||||
|
||||
|
||||
@@ -4,37 +4,31 @@
|
||||
* @since Beta v0.3.3
|
||||
*/
|
||||
|
||||
import TAnnoJson from "../../views/t-anno-json.vue";
|
||||
import TAnno from "../../views/t-anno.vue";
|
||||
import TLottery from "../../views/t-lottery.vue";
|
||||
import TPostJson from "../../views/t-post-json.vue";
|
||||
import TPost from "../../views/t-post.vue";
|
||||
|
||||
const subRoutes = [
|
||||
{
|
||||
path: "/anno_detail/:anno_id",
|
||||
name: "游戏内公告",
|
||||
component: TAnno,
|
||||
component: async () => await import("../../views/t-anno.vue"),
|
||||
},
|
||||
{
|
||||
path: "/anno_detail_json/:anno_id",
|
||||
name: "游戏内公告(JSON)",
|
||||
component: TAnnoJson,
|
||||
component: async () => await import("../../views/t-anno-json.vue"),
|
||||
},
|
||||
{
|
||||
path: "/post_detail/:post_id",
|
||||
name: "帖子详情",
|
||||
component: TPost,
|
||||
component: async () => await import("../../views/t-post.vue"),
|
||||
},
|
||||
{
|
||||
path: "/post_detail_json/:post_id",
|
||||
name: "帖子详情(JSON)",
|
||||
component: TPostJson,
|
||||
component: async () => await import("../../views/t-post-json.vue"),
|
||||
},
|
||||
{
|
||||
path: "/lottery/:lottery_id",
|
||||
name: "抽奖详情",
|
||||
component: TLottery,
|
||||
component: async () => await import("../../views/t-lottery.vue"),
|
||||
},
|
||||
];
|
||||
|
||||
|
||||
@@ -1,37 +1,29 @@
|
||||
/**
|
||||
* @file router modules user.ts
|
||||
* @description user 路由模块
|
||||
* @author BTMuli<bt-muli@outlook.com>
|
||||
* @since Alpha v0.2.0
|
||||
* @since Beta v0.3.3
|
||||
*/
|
||||
|
||||
// user main
|
||||
import Abyss from "../../pages/User/Abyss.vue";
|
||||
import Characters from "../../pages/User/Characters.vue";
|
||||
import Gacha from "../../pages/User/Gacha.vue";
|
||||
import Record from "../../pages/User/Record.vue";
|
||||
// user sub
|
||||
|
||||
const userRoutes = [
|
||||
{
|
||||
path: "/user/abyss",
|
||||
name: "深渊记录",
|
||||
component: Abyss,
|
||||
component: async () => await import("../../pages/User/Abyss.vue"),
|
||||
},
|
||||
{
|
||||
path: "/user/characters",
|
||||
name: "我的角色",
|
||||
component: Characters,
|
||||
component: async () => await import("../../pages/User/Characters.vue"),
|
||||
},
|
||||
{
|
||||
path: "/user/gacha",
|
||||
name: "祈愿记录",
|
||||
component: Gacha,
|
||||
component: async () => await import("../../pages/User/Gacha.vue"),
|
||||
},
|
||||
{
|
||||
path: "/user/record",
|
||||
name: "原神战绩",
|
||||
component: Record,
|
||||
component: async () => await import("../../pages/User/Record.vue"),
|
||||
},
|
||||
];
|
||||
|
||||
|
||||
@@ -1,55 +1,44 @@
|
||||
/**
|
||||
* @file router modules wiki.ts
|
||||
* @description wiki 路由模块
|
||||
* @author BTMuli <bt-muli@outlook.com>
|
||||
* @since Alpha v0.2.1
|
||||
* @since Beta v0.3.3
|
||||
*/
|
||||
|
||||
// Wiki main
|
||||
import Abyss from "../../pages/WIKI/Abyss.vue";
|
||||
import Character from "../../pages/WIKI/Character.vue";
|
||||
import GCG from "../../pages/WIKI/GCG.vue";
|
||||
import Weapon from "../../pages/WIKI/Weapon.vue";
|
||||
// Wiki sub
|
||||
import TCharacter from "../../views/WIKI/t-character.vue";
|
||||
import TGCG from "../../views/WIKI/t-gcg.vue";
|
||||
import TWeapon from "../../views/WIKI/t-weapon.vue";
|
||||
|
||||
const wikiRoutes = [
|
||||
{
|
||||
path: "/wiki/abyss",
|
||||
name: "深渊数据库",
|
||||
component: Abyss,
|
||||
component: async () => await import("../../pages/WIKI/Abyss.vue"),
|
||||
},
|
||||
{
|
||||
path: "/wiki/character",
|
||||
name: "角色图鉴",
|
||||
component: Character,
|
||||
component: async () => await import("../../pages/WIKI/Character.vue"),
|
||||
},
|
||||
{
|
||||
path: "/wiki/GCG",
|
||||
name: "卡牌图鉴",
|
||||
component: GCG,
|
||||
component: async () => await import("../../pages/WIKI/GCG.vue"),
|
||||
},
|
||||
{
|
||||
path: "/wiki/weapon",
|
||||
name: "武器图鉴",
|
||||
component: Weapon,
|
||||
component: async () => await import("../../pages/WIKI/Weapon.vue"),
|
||||
},
|
||||
{
|
||||
path: "/wiki/detail/character/:id",
|
||||
name: "角色详情",
|
||||
component: TCharacter,
|
||||
component: async () => await import("../../views/WIKI/t-character.vue"),
|
||||
},
|
||||
{
|
||||
path: "/wiki/detail/GCG/:id",
|
||||
name: "卡牌详情",
|
||||
component: TGCG,
|
||||
component: async () => await import("../../views/WIKI/t-gcg.vue"),
|
||||
},
|
||||
{
|
||||
path: "/wiki/detail/weapon/:id",
|
||||
name: "武器详情",
|
||||
component: TWeapon,
|
||||
component: async () => await import("../../views/WIKI/t-weapon.vue"),
|
||||
},
|
||||
];
|
||||
|
||||
|
||||
Reference in New Issue
Block a user