feat: 为 macOS 适配无边框窗口圆角效果

新增 macOS 平台配置文件,修改平台检测逻辑,在 macOS 时给 html 加标记,调整 CSS 让 #app 绘制背景并裁切 8px 圆角,避免首帧方角闪烁,同时适配弹窗遮罩圆角。
This commit is contained in:
Yuhang Wu
2026-10-14 13:38:35 +08:00
parent cbd5096595
commit 4adde51bef
5 changed files with 92 additions and 19 deletions
+9 -7
View File
@@ -5,15 +5,17 @@ export type Platform = "windows" | "macos" | "linux" | "unknown"
* 判断当前运行的操作系统类型。
* 通过 navigator.userAgent 推断,避免额外引入 @tauri-apps/plugin-os。
*/
export function usePlatform() {
export function detectPlatform(): Platform {
const ua = (navigator.userAgent || "").toLowerCase()
if (ua.includes("mac") || ua.includes("darwin")) return "macos"
if (ua.includes("win")) return "windows"
if (ua.includes("linux") || ua.includes("x11")) return "linux"
return "unknown"
}
const platform = computed<Platform>(() => {
if (ua.includes("mac") || ua.includes("darwin")) return "macos"
if (ua.includes("win")) return "windows"
if (ua.includes("linux") || ua.includes("x11")) return "linux"
return "unknown"
})
/** 在组件中响应式地获取当前平台 */
export function usePlatform() {
const platform = ref<Platform>(detectPlatform())
const isMac = computed(() => platform.value === "macos")
const isWindows = computed(() => platform.value === "windows")