diff --git a/src/Global/FlyRoam/index.js b/src/Global/FlyRoam/index.js index 0175fa1..c1a1819 100644 --- a/src/Global/FlyRoam/index.js +++ b/src/Global/FlyRoam/index.js @@ -135,6 +135,7 @@ const open = async (sdk, options = {}, _Dialog = {}) => { pitch: viewer.camera.pitch, roll: viewer.camera.roll } + tools.message({text: '操作成功'}) }) let totalTimeElm = contentElm.querySelector("input[name='totalTime']") diff --git a/src/Obj/Base/FlyRoam/index.js b/src/Obj/Base/FlyRoam/index.js index 31640b4..671259d 100644 --- a/src/Obj/Base/FlyRoam/index.js +++ b/src/Obj/Base/FlyRoam/index.js @@ -162,6 +162,7 @@ class FlyRoam extends Base { pitch: viewer.camera.pitch, roll: viewer.camera.roll } + this.message({text: '操作成功'}) }) let totalTimeElm = contentElm.querySelector("input[name='totalTime']") diff --git a/src/Tools/index.js b/src/Tools/index.js index fe1f38c..7bb0c14 100644 --- a/src/Tools/index.js +++ b/src/Tools/index.js @@ -1493,6 +1493,23 @@ class Tools { } } + message(option={}) { + let type = option.type || 'success' + let text = option.text || '' + let duration = option.duration || 1500 + + let message = document.getElementById('YJ-custom-message'); + if (message) { + document.body.removeChild(message) + } + message = document.createElement('div') + message.id = 'YJ-custom-message' + message.innerHTML = ` + ${text} + ` + document.body.appendChild(message) + message.classList.add(type) + } } diff --git a/static/custom/css/index.css b/static/custom/css/index.css index 2392cf0..a8221a2 100644 --- a/static/custom/css/index.css +++ b/static/custom/css/index.css @@ -3762,4 +3762,57 @@ .billboard-attribute-box .table .table-body .tr:first-child { border-top: none; +} + +/* 自定义提示 */ +#YJ-custom-message { + /* 固定在顶部中央 */ + position: fixed; + top: 0; + left: 50%; + transform: translate(-50%, 0%); + /* 初始位置在屏幕顶部外 */ + + /* 样式美化 */ + display: flex; + border-radius: 4px; + font-size: 14px; + padding: 15px 20px; + width: 380px; + box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); + z-index: 9999999; + + + /* 动画定义 */ + animation: YJ-custom-message-slideDown 0.5s forwards, + YJ-custom-message-fadeOut 0.5s 1500ms forwards; +} + +#YJ-custom-message i { + margin: 2px 10px 0 0; + display: flex; + align-items: center; + width: 16px; +} + +#YJ-custom-message.success { + background-color: #f0f9eb; + color: rgb(82, 196, 26); +} + +/* 滑入动画 */ +@keyframes YJ-custom-message-slideDown { + to { + top: 20px; + /* 移动到屏幕顶部 */ + } +} + +/* 淡出动画 - 1500ms后执行 */ +@keyframes YJ-custom-message-fadeOut { + to { + opacity: 0; + top: -200px + /* 移回顶部外 */ + } } \ No newline at end of file