From 50f93b16ff404b4eb6e1359454128b70a70f067a Mon Sep 17 00:00:00 2001 From: BTMuli Date: Wed, 8 Mar 2023 15:24:58 +0800 Subject: [PATCH] =?UTF-8?q?feat(dev):=20=E6=96=B0=E5=BB=BA=E5=BC=80?= =?UTF-8?q?=E5=8F=91=E8=80=85=E9=A1=B5=E9=9D=A2=EF=BC=8C=E7=94=A8=E4=BA=8E?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/t-sidebar.vue | 19 ++++++++++++++++++- src/pages/Dev.vue | 11 +++++++++++ src/router/routes.ts | 9 +++++++++ src/store/modules/dev.ts | 28 ++++++++++++++++++++++++++++ 4 files changed, 66 insertions(+), 1 deletion(-) create mode 100644 src/pages/Dev.vue create mode 100644 src/store/modules/dev.ts diff --git a/src/components/t-sidebar.vue b/src/components/t-sidebar.vue index 7a6e182b..b8efee20 100644 --- a/src/components/t-sidebar.vue +++ b/src/components/t-sidebar.vue @@ -51,7 +51,13 @@ - 设置 + 设置 + + + + 开发 @@ -61,6 +67,7 @@ import { defineComponent } from "vue"; import { useRouter } from "vue-router"; import useAppStore from "../store/modules/app"; +import useDevStore from "../store/modules/dev"; export default defineComponent({ name: "TSidebar", @@ -68,6 +75,7 @@ export default defineComponent({ return { rail: this.getRail(), router: useRouter(), + showDev: this.getShowDev(), }; }, methods: { @@ -83,6 +91,15 @@ export default defineComponent({ appStore.sidebar.expand = !appStore.sidebar.expand; this.rail = appStore.sidebar.expand; }, + getShowDev() { + const devStore = useDevStore(); + return devStore.showDev; + }, + getDev() { + const devStore = useDevStore(); + devStore.addMagic(); + this.showDev = devStore.showDev; + }, }, }); diff --git a/src/pages/Dev.vue b/src/pages/Dev.vue new file mode 100644 index 00000000..e1817f17 --- /dev/null +++ b/src/pages/Dev.vue @@ -0,0 +1,11 @@ + + + + + diff --git a/src/router/routes.ts b/src/router/routes.ts index adafa688..3b035e43 100644 --- a/src/router/routes.ts +++ b/src/router/routes.ts @@ -1,7 +1,11 @@ +// 信息展示 import Home from "../pages/Home.vue"; import News from "../pages/News.vue"; +// 数据交互 import Achievements from "../pages/Achievements.vue"; +// 应用配置相关 import Config from "../pages/Config.vue"; +import Dev from "../pages/Dev.vue"; const routes = [ { @@ -23,6 +27,11 @@ const routes = [ name: "咨讯", component: News, }, + { + path: "/dev", + name: "开发者工具", + component: Dev, + }, { path: "/config", name: "设置", diff --git a/src/store/modules/dev.ts b/src/store/modules/dev.ts new file mode 100644 index 00000000..5c4ab18b --- /dev/null +++ b/src/store/modules/dev.ts @@ -0,0 +1,28 @@ +import { defineStore } from "pinia"; + +const useDevStore = defineStore({ + id: "dev", + state() { + return { + showDev: false, + magicCount: 0, + }; + }, + actions: { + addMagic() { + if (!this.showDev) { + this.magicCount++; + if (this.magicCount >= 5) { + this.toggleDev(); + } + } + }, + toggleDev() { + this.showDev = !this.showDev; + this.magicCount = 0; + }, + }, + persist: false, +}); + +export default useDevStore;