feat: 完成 Frpilot 桌面应用核心布局与多语言支持
实现内容: - 新增多语言支持(中文/英文),包含完整翻译文件 - 适配 Windows 和 macOS 自定义标题栏,支持窗口控制与主题切换 - 新增侧边栏菜单,显示系统 CPU/内存占用与运行状态 - 配置 Tauri 窗口属性与权限,支持窗口拖拽、最大化等操作 - 新增 Pinia 状态管理,处理主题、语言与应用状态 - 新增系统统计数据获取与模拟逻辑,支持 Tauri 后端调用回退 - 新增路由配置,完成页面布局与视图组件初始化
This commit is contained in:
@@ -0,0 +1,44 @@
|
||||
/**
|
||||
* Tauri 窗口控制封装。
|
||||
* 在纯浏览器环境(非 Tauri)下调用会被安全忽略,方便 `pnpm dev` 调试。
|
||||
*/
|
||||
|
||||
export function isTauri() {
|
||||
return typeof window !== "undefined" && "__TAURI_INTERNALS__" in window
|
||||
}
|
||||
|
||||
async function currentWindow() {
|
||||
if (!isTauri()) return null
|
||||
const { getCurrentWindow } = await import("@tauri-apps/api/window")
|
||||
return getCurrentWindow()
|
||||
}
|
||||
|
||||
/** 最小化窗口 */
|
||||
export async function minimizeWindow() {
|
||||
const win = await currentWindow()
|
||||
await win?.minimize()
|
||||
}
|
||||
|
||||
/** 最大化 / 还原窗口 */
|
||||
export async function toggleMaximizeWindow() {
|
||||
const win = await currentWindow()
|
||||
await win?.toggleMaximize()
|
||||
}
|
||||
|
||||
/** 关闭窗口 */
|
||||
export async function closeWindow() {
|
||||
const win = await currentWindow()
|
||||
await win?.close()
|
||||
}
|
||||
|
||||
/** 开始拖拽窗口(配合 data-tauri-drag-region 使用) */
|
||||
export async function startDragging() {
|
||||
const win = await currentWindow()
|
||||
await win?.startDragging()
|
||||
}
|
||||
|
||||
/** 是否已最大化 */
|
||||
export async function isWindowMaximized() {
|
||||
const win = await currentWindow()
|
||||
return (await win?.isMaximized()) ?? false
|
||||
}
|
||||
Reference in New Issue
Block a user