import {
|
|
WebviewWindow,
|
|
getAllWebviewWindows,
|
|
} from "@tauri-apps/api/webviewWindow";
|
|
|
|
export const SUB_WINDOW_WIDTH = 130;
|
|
export const SUB_WINDOW_HEIGHT = 130;
|
|
|
|
export async function createSubWindow(url: string, title: string) {
|
|
let message = "";
|
|
let success = true;
|
|
try {
|
|
const allWindows = await getAllWebviewWindows();
|
|
const windownsLen = allWindows.length;
|
|
const label = `NewWindow_${windownsLen + 1}`;
|
|
const openUrl = url || "index.html";
|
|
const newTitle = title || "新窗口";
|
|
const openTitle = `${newTitle}-${windownsLen + 1}`;
|
|
const webview_window = new WebviewWindow(label, {
|
|
url: openUrl,
|
|
title: openTitle,
|
|
parent: "main",
|
|
zoomHotkeysEnabled: false,
|
|
|
|
width: SUB_WINDOW_WIDTH,
|
|
height: SUB_WINDOW_HEIGHT,
|
|
minWidth: SUB_WINDOW_WIDTH,
|
|
minHeight: SUB_WINDOW_HEIGHT,
|
|
alwaysOnTop: true,
|
|
decorations: false, // 隐藏窗口边框
|
|
visible: false,
|
|
resizable: false,
|
|
});
|
|
webview_window.once("tauri://created", async () => {
|
|
message = "打开成功";
|
|
});
|
|
|
|
webview_window.once("tauri://error", function (e) {
|
|
message = `打开${openTitle}报错: ${e}`;
|
|
success = false;
|
|
});
|
|
return { success: success, message: message, webview: webview_window };
|
|
} catch (error) {
|
|
return { success: false, message: error };
|
|
}
|
|
}
|