diff --git a/electron.vite.config.ts b/electron.vite.config.ts index 659b9ed..feaba98 100644 --- a/electron.vite.config.ts +++ b/electron.vite.config.ts @@ -18,7 +18,7 @@ export default defineConfig({ alias: { config: resolve("config"), main: resolve("src/main"), - "common": resolve("src/common"), + common: resolve("src/common"), "@res": resolve("resources"), }, }, @@ -32,7 +32,7 @@ export default defineConfig({ resolve: { alias: { config: resolve("config"), - "common": resolve("src/common"), + common: resolve("src/common"), "@": resolve("src/renderer/src"), "@res": resolve("resources"), }, @@ -41,7 +41,7 @@ export default defineConfig({ preprocessorOptions: { scss: { additionalData: `@use "@/assets/style/global" as *;\n`, - api: "modern-compiler" + api: "modern-compiler", }, }, }, diff --git a/packages/locales/index.ts b/packages/locales/index.ts index e5ad212..e518c7b 100644 --- a/packages/locales/index.ts +++ b/packages/locales/index.ts @@ -1,3 +1,9 @@ +if (import.meta.env.DEV) { + // 引入之后可以热更新 + import("./languages/zh.json") + import("./languages/en.json") +} + const datetimeFormats = { en: { short: { diff --git a/packages/locales/languages/en.json b/packages/locales/languages/en.json index bc3070e..f5d95ce 100644 --- a/packages/locales/languages/en.json +++ b/packages/locales/languages/en.json @@ -73,5 +73,6 @@ }, "qie-huan-kai-fa-zhe-gong-ju": "ToggleDevtool", "qu-xiao-quan-ping": "Canel FullScreen", - "quan-ping": "FullScreen" + "quan-ping": "FullScreen", + "caidan": "Menu" } diff --git a/packages/locales/languages/zh.json b/packages/locales/languages/zh.json index c6099ce..70a2315 100644 --- a/packages/locales/languages/zh.json +++ b/packages/locales/languages/zh.json @@ -72,5 +72,6 @@ }, "qie-huan-kai-fa-zhe-gong-ju": "切换开发者工具", "qu-xiao-quan-ping": "取消全屏", - "quan-ping": "全屏" + "quan-ping": "全屏", + "caidan": "菜单" } diff --git a/src/common/event/PlatForm/index.ts b/src/common/event/PlatForm/index.ts new file mode 100644 index 0000000..2edf73e --- /dev/null +++ b/src/common/event/PlatForm/index.ts @@ -0,0 +1,25 @@ +import { _Base } from "common/lib/_Base" + +class PlatForm extends _Base { + constructor() { + super() + } + + async showAbout() { + return await fetch("api://fuck/BasicService/showAbout") + } + + async isFullScreen() { + return await api.call("BasicCommand.isFullscreen") + } + + async toggleFullScreen() { + return api.call("BasicCommand.fullscreen") + } + + async toggleDevTools() { + return api.call("BasicCommand.toggleDevTools") + } +} + +export { PlatForm } diff --git a/src/renderer/src/platform/Tabs.ts b/src/common/event/Tabs/index.ts similarity index 96% rename from src/renderer/src/platform/Tabs.ts rename to src/common/event/Tabs/index.ts index 2e82276..5b8cd7c 100644 --- a/src/renderer/src/platform/Tabs.ts +++ b/src/common/event/Tabs/index.ts @@ -1,4 +1,4 @@ -import { _Base } from "./_Base" +import { _Base } from "../../lib/_Base" export class Tabs extends _Base { constructor() { diff --git a/src/common/event/update/common.ts b/src/common/event/common.ts similarity index 74% rename from src/common/event/update/common.ts rename to src/common/event/common.ts index 6b969cf..4b75798 100644 --- a/src/common/event/update/common.ts +++ b/src/common/event/common.ts @@ -2,6 +2,4 @@ const keys = ["progress"] as const type AllKeys = (typeof keys)[number] -export type{ - AllKeys -} \ No newline at end of file +export type { AllKeys } diff --git a/src/common/event/update/renderer.ts b/src/common/event/update/index.ts similarity index 81% rename from src/common/event/update/renderer.ts rename to src/common/event/update/index.ts index 7ccdfaa..5d11315 100644 --- a/src/common/event/update/renderer.ts +++ b/src/common/event/update/index.ts @@ -1,4 +1,4 @@ -import type { AllKeys } from "./common" +import type { AllKeys } from "../common" const curProgress = ref(0) api.on("progress", () => { diff --git a/src/common/event/update/main.ts b/src/common/event/update/main.ts index 7ce5aa0..2bd003c 100644 --- a/src/common/event/update/main.ts +++ b/src/common/event/update/main.ts @@ -1,10 +1,8 @@ import { broadcast } from "main/utils" -import { AllKeys } from "./common" +import { AllKeys } from "../common" function emitProgress(...argu) { broadcast("progress", ...argu) } -export { - emitProgress -} \ No newline at end of file +export { emitProgress } diff --git a/src/renderer/src/platform/_Base.ts b/src/common/lib/_Base.ts similarity index 100% rename from src/renderer/src/platform/_Base.ts rename to src/common/lib/_Base.ts diff --git a/src/renderer/src/composables/usePlatform.ts b/src/common/usePlatform.ts similarity index 62% rename from src/renderer/src/composables/usePlatform.ts rename to src/common/usePlatform.ts index b6268e0..1316845 100644 --- a/src/renderer/src/composables/usePlatform.ts +++ b/src/common/usePlatform.ts @@ -1,5 +1,5 @@ -import { PlatForm } from "@/platform/PlatForm" -import { Tabs } from "@/platform/Tabs" +import { PlatForm } from "./event/PlatForm" +import { Tabs } from "./event/Tabs" export function usePlatForm() { return { diff --git a/src/renderer/auto-imports.d.ts b/src/renderer/auto-imports.d.ts index 4098275..ce4d49e 100644 --- a/src/renderer/auto-imports.d.ts +++ b/src/renderer/auto-imports.d.ts @@ -212,7 +212,6 @@ declare global { const useParentElement: typeof import('@vueuse/core')['useParentElement'] const usePerformanceObserver: typeof import('@vueuse/core')['usePerformanceObserver'] const usePermission: typeof import('@vueuse/core')['usePermission'] - const usePlatForm: typeof import('./src/composables/usePlatform')['usePlatForm'] const usePointer: typeof import('@vueuse/core')['usePointer'] const usePointerLock: typeof import('@vueuse/core')['usePointerLock'] const usePointerSwipe: typeof import('@vueuse/core')['usePointerSwipe'] @@ -514,7 +513,6 @@ declare module 'vue' { readonly useParentElement: UnwrapRef readonly usePerformanceObserver: UnwrapRef readonly usePermission: UnwrapRef - readonly usePlatForm: UnwrapRef readonly usePointer: UnwrapRef readonly usePointerLock: UnwrapRef readonly usePointerSwipe: UnwrapRef diff --git a/src/renderer/src/components/NavBar.vue b/src/renderer/src/components/NavBar.vue index 7ad502e..95a01d9 100644 --- a/src/renderer/src/components/NavBar.vue +++ b/src/renderer/src/components/NavBar.vue @@ -15,7 +15,7 @@
{{ config.app_title }}
-
菜单
+
{{ t("caidan") }}
@@ -42,19 +42,20 @@ import icon from "@res/icon.png" import config from "config" import { PopupMenu } from "@/bridge/PopupMenu" +import { usePlatForm } from "common/usePlatform" + +const { PlatForm } = usePlatForm() const router = useRouter() const route = useRoute() const isFullScreen = ref(false) onBeforeMount(async () => { - isFullScreen.value = await api.call("BasicCommand.isFullscreen") + isFullScreen.value = await PlatForm.isFullScreen() }) -const { PlatForm } = usePlatForm() - const isHome = computed(() => { - if (route?.meta?.home) { + if (route.fullPath === "/") { return true } return false @@ -85,7 +86,7 @@ const onClickMenu = e => { } const onClickAbout = () => { - fetch("api://fuck/BasicService/showAbout") + PlatForm.showAbout() } diff --git a/src/renderer/src/platform/PlatForm.ts b/src/renderer/src/platform/PlatForm.ts deleted file mode 100644 index 1c7e8c0..0000000 --- a/src/renderer/src/platform/PlatForm.ts +++ /dev/null @@ -1,17 +0,0 @@ -import { _Base } from "./_Base" - -class PlatForm extends _Base { - constructor() { - super() - } - - toggleFullScreen() { - return api.call("BasicCommand.fullscreen") - } - - toggleDevTools() { - return api.call("BasicCommand.toggleDevTools") - } -} - -export { PlatForm } diff --git a/tsconfig.node.json b/tsconfig.node.json index a1b5b17..c967ae0 100644 --- a/tsconfig.node.json +++ b/tsconfig.node.json @@ -1,22 +1,51 @@ { - "extends": "@electron-toolkit/tsconfig/tsconfig.node.json", - "include": ["electron.vite.config.*", "src/main/**/*", "src/preload/**/*", "config/**/*", "src/types/**/*", "packages/locales/main.ts", - "src/common/**/*.main.ts", "src/common/**/main.ts", "src/common/**/*.common.ts", "src/common/**/common.ts"], - "compilerOptions": { - "composite": true, - "emitDecoratorMetadata": true, - "experimentalDecorators": true, - "types": ["electron-vite/node", "reflect-metadata",], - "baseUrl": ".", - "paths": { - "#": ["src/types/index"], - "#/*": ["src/types/*"], - "config": ["config/index.ts"], - "config/*": ["config/*"], - "main/*": ["src/main/*"], - "common/*": ["src/common/*"], - "@res/*": ["resources/*"], - "locales/*": ["packages/locales/*"], + "extends": "@electron-toolkit/tsconfig/tsconfig.node.json", + "include": [ + "electron.vite.config.*", + "src/main/**/*", + "src/preload/**/*", + "config/**/*", + "src/types/**/*", + "packages/locales/main.ts", + "src/common/**/*.main.ts", + "src/common/**/main.ts", + "src/common/**/*.common.ts", + "src/common/**/common.ts" +, "src/common/event/_Base.ts" ], + "compilerOptions": { + "composite": true, + "emitDecoratorMetadata": true, + "experimentalDecorators": true, + "types": [ + "electron-vite/node", + "reflect-metadata", + ], + "baseUrl": ".", + "paths": { + "#": [ + "src/types/index" + ], + "#/*": [ + "src/types/*" + ], + "config": [ + "config/index.ts" + ], + "config/*": [ + "config/*" + ], + "main/*": [ + "src/main/*" + ], + "common/*": [ + "src/common/*" + ], + "@res/*": [ + "resources/*" + ], + "locales/*": [ + "packages/locales/*" + ], + } } - } } diff --git a/tsconfig.web.json b/tsconfig.web.json index 14fed57..bbf6e3d 100644 --- a/tsconfig.web.json +++ b/tsconfig.web.json @@ -1,39 +1,56 @@ { - "extends": "@electron-toolkit/tsconfig/tsconfig.web.json", - "include": [ - "src/renderer/auto-imports.d.ts", - "src/renderer/components.d.ts", - "src/renderer/src/env.d.ts", - "src/renderer/src/**/*", - "src/renderer/src/**/*.vue", - "src/preload/*.d.ts", - "src/types/**/*", - "config/**/*", - "./typed-router.d.ts", - "src/common/**/*.renderer.ts", - "src/common/**/renderer.ts", - "src/common/**/*.common.ts", "src/common/**/common.ts", - ], - "vueCompilerOptions": { - "plugins": ["unplugin-vue-macros/volar"], - }, - "compilerOptions": { - "composite": true, - "baseUrl": ".", - "moduleResolution": "Bundler", - "types": ["unplugin-vue-macros/macros-global", "vite-plugin-vue-layouts/client"], - "paths": { - "#": ["src/types/index"], - "#/*": ["src/types/*"], - "config": ["config/index.ts"], - "config/*": ["config/*"], - "common/*": ["src/common/*"], - "@/*": [ - "src/renderer/src/*" - ], - "@res/*": [ - "resources/*" - ], + "extends": "@electron-toolkit/tsconfig/tsconfig.web.json", + "include": [ + "src/renderer/auto-imports.d.ts", + "src/renderer/components.d.ts", + "src/renderer/src/env.d.ts", + "src/renderer/src/**/*", + "src/renderer/src/**/*.vue", + "src/preload/*.d.ts", + "src/types/**/*", + "config/**/*", + "./typed-router.d.ts", + "src/common/**/*" + ], + "exclude": [ + "src/common/**/*.main.ts", + "src/common/**/main.ts" + ], + "vueCompilerOptions": { + "plugins": [ + "unplugin-vue-macros/volar" + ], + }, + "compilerOptions": { + "composite": true, + "baseUrl": ".", + "moduleResolution": "Bundler", + "types": [ + "unplugin-vue-macros/macros-global", + "vite-plugin-vue-layouts/client" + ], + "paths": { + "#": [ + "src/types/index" + ], + "#/*": [ + "src/types/*" + ], + "config": [ + "config/index.ts" + ], + "config/*": [ + "config/*" + ], + "common/*": [ + "src/common/*" + ], + "@/*": [ + "src/renderer/src/*" + ], + "@res/*": [ + "resources/*" + ], + } } - } -} +} \ No newline at end of file