fix: add os platform value

This commit is contained in:
GyDi 2023-01-14 12:07:31 +08:00
parent 453c230716
commit 1b44ae098c
No known key found for this signature in database
GPG Key ID: B28E790B95193457
4 changed files with 23 additions and 6 deletions

View File

@ -24,10 +24,6 @@ import useCustomTheme from "@/components/layout/use-custom-theme";
import getSystem from "@/utils/get-system"; import getSystem from "@/utils/get-system";
import "dayjs/locale/zh-cn"; import "dayjs/locale/zh-cn";
declare global {
const WIN_PORTABLE: boolean;
}
dayjs.extend(relativeTime); dayjs.extend(relativeTime);
const OS = getSystem(); const OS = getSystem();

View File

@ -1,3 +1,22 @@
type Platform =
| "aix"
| "android"
| "darwin"
| "freebsd"
| "haiku"
| "linux"
| "openbsd"
| "sunos"
| "win32"
| "cygwin"
| "netbsd";
/**
* defines in `vite.config.ts`
*/
declare const WIN_PORTABLE: boolean;
declare const OS_PLATFORM: Platform;
/** /**
* Some interface for clash api * Some interface for clash api
*/ */

View File

@ -2,10 +2,11 @@
// according to UA // according to UA
export default function getSystem() { export default function getSystem() {
const ua = navigator.userAgent; const ua = navigator.userAgent;
const platform = OS_PLATFORM;
if (ua.includes("Mac OS X")) return "macos"; if (ua.includes("Mac OS X") || platform === "darwin") return "macos";
if (/win64|win32/i.test(ua)) return "windows"; if (/win64|win32/i.test(ua) || platform === "win32") return "windows";
if (/linux/i.test(ua)) return "linux"; if (/linux/i.test(ua)) return "linux";

View File

@ -24,6 +24,7 @@ export default defineConfig({
}, },
}, },
define: { define: {
OS_PLATFORM: `"${process.platform}"`,
WIN_PORTABLE: !!process.env.VITE_WIN_PORTABLE, WIN_PORTABLE: !!process.env.VITE_WIN_PORTABLE,
}, },
}); });