liushengqiang 1 рік тому
батько
коміт
bc31b77a35

+ 12 - 2
src/pc/home/component/file-btn/index.tsx

@@ -4,8 +4,8 @@ import styles from "./index.module.less";
 import { getImage } from "../../images";
 import { DropdownMixedOption } from "naive-ui/es/dropdown/src/interface";
 
-/** 新建 | 保存 | 导入 | 上传 | 导出 | 打印 */
-export type IFileBtnType = "newMusic" | "save" | "xml" | "upload" | "png" | "wav" | "midi" | "print";
+/** 新建 | 保存 | 导入 | 上传 | 导出 | 打印 | 退出*/
+export type IFileBtnType = "newMusic" | "save" | "xml" | "upload" | "png" | "wav" | "midi" | "print" | 'exit';
 
 export default defineComponent({
 	name: "FileBtn",
@@ -90,6 +90,16 @@ export default defineComponent({
 				key: "print",
 				disabled: true,
 			},
+			{
+				label: () => (
+					<div class={styles.dropItem}>
+						<img class={styles.dropIcon} src={getImage("icon_26_5.png")} />
+						<span>退出</span>
+					</div>
+				),
+				key: "exit",
+				disabled: false,
+			},
 		];
 		return () => (
 			<NDropdown

BIN
src/pc/home/images/icon_26_5.png


+ 13 - 0
src/pc/home/index.tsx

@@ -1334,6 +1334,19 @@ export default defineComponent({
 									} else if (["png", "midi", "wav"].includes(val)) {
 										handleDownFile(val);
 									} else if (val === "print") {
+									} else if (val === "exit") {
+										// 判断是否在应用中
+										if (window.matchMedia("(display-mode: standalone)").matches) {
+											window.onbeforeunload = null;
+											window.parent.postMessage(
+												{
+													api: "notation_exit",
+												},
+												"*"
+											);
+										} else {
+											window.close();
+										}
 									}
 								}}
 							/>