From 4ad463845e9f261065d66020027f125a03b6f301 Mon Sep 17 00:00:00 2001 From: sswiki Date: Sun, 8 Dec 2024 22:19:48 +0800 Subject: [PATCH] =?UTF-8?q?=E8=8F=9C=E5=8D=95=E7=9B=AE=E5=BD=95=E4=BC=98?= =?UTF-8?q?=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/components/single/MessagePrompt.js | 41 +++++++++ .../src/components/single/PromptDialog.vue | 80 ++++++++++++++++++ .../wiki-ui/src/views/view/PageLayout.vue | 66 --------------- .../wiki-ui/src/views/view/aside/AddMenu.vue | 77 ++++++++++------- .../src/views/view/aside/LeftAside.vue | 84 +++++++++++++++++-- 5 files changed, 244 insertions(+), 104 deletions(-) create mode 100644 zyplayer-doc-ui/wiki-ui/src/components/single/MessagePrompt.js create mode 100644 zyplayer-doc-ui/wiki-ui/src/components/single/PromptDialog.vue diff --git a/zyplayer-doc-ui/wiki-ui/src/components/single/MessagePrompt.js b/zyplayer-doc-ui/wiki-ui/src/components/single/MessagePrompt.js new file mode 100644 index 00000000..7401453b --- /dev/null +++ b/zyplayer-doc-ui/wiki-ui/src/components/single/MessagePrompt.js @@ -0,0 +1,41 @@ +import { createVNode, render } from "vue"; +import PromptDialog from "./PromptDialog.vue"; + +/** + * 生成一个带输入框的弹窗 + * @author zyplayer-doc + * @date 2024-12-08 + */ +let promise = null; +function getInstance(config) { + if (promise) { + try { + promise.close(); + } catch (error) {} + } + const div = document.createElement("div"); + const conf = Object.assign({cancelText: '取消', okText: '确定'}, config); + const close = () => { + try { + document.body.removeChild(div); + promise.reject(); + promise = null; + } catch (error) {} + }; + conf.close = close; + conf.ok = (value) => { + promise.resolve(value); + }; + const node = createVNode(PromptDialog, conf); + render(node, div); + document.body.appendChild(div); + return new Promise((resolve, reject) => { + promise = {resolve, reject, close}; + }); +} +const MessagePrompt = (opts) => { + return getInstance(opts); +}; + +export default MessagePrompt; + diff --git a/zyplayer-doc-ui/wiki-ui/src/components/single/PromptDialog.vue b/zyplayer-doc-ui/wiki-ui/src/components/single/PromptDialog.vue new file mode 100644 index 00000000..e5908221 --- /dev/null +++ b/zyplayer-doc-ui/wiki-ui/src/components/single/PromptDialog.vue @@ -0,0 +1,80 @@ + + + + + diff --git a/zyplayer-doc-ui/wiki-ui/src/views/view/PageLayout.vue b/zyplayer-doc-ui/wiki-ui/src/views/view/PageLayout.vue index 3dc4bb0a..5e07fb25 100644 --- a/zyplayer-doc-ui/wiki-ui/src/views/view/PageLayout.vue +++ b/zyplayer-doc-ui/wiki-ui/src/views/view/PageLayout.vue @@ -129,69 +129,3 @@ body { } - - diff --git a/zyplayer-doc-ui/wiki-ui/src/views/view/aside/AddMenu.vue b/zyplayer-doc-ui/wiki-ui/src/views/view/aside/AddMenu.vue index 3c51fbda..f0ec1819 100644 --- a/zyplayer-doc-ui/wiki-ui/src/views/view/aside/AddMenu.vue +++ b/zyplayer-doc-ui/wiki-ui/src/views/view/aside/AddMenu.vue @@ -3,18 +3,18 @@