From 70b0538dd56b56bd9d3346aae87df9c4a7b9b731 Mon Sep 17 00:00:00 2001 From: kuaifan Date: Sat, 9 Aug 2025 10:03:45 +0800 Subject: [PATCH] no message --- .../assets/js/components/MicroApps/index.vue | 18 ++++++++++++ .../assets/js/components/MicroApps/modal.vue | 4 +-- resources/assets/js/functions/common.js | 29 +++++++++++++++++-- 3 files changed, 46 insertions(+), 5 deletions(-) diff --git a/resources/assets/js/components/MicroApps/index.vue b/resources/assets/js/components/MicroApps/index.vue index ab4b8e056..df3a35fc2 100644 --- a/resources/assets/js/components/MicroApps/index.vue +++ b/resources/assets/js/components/MicroApps/index.vue @@ -318,6 +318,18 @@ export default { capsule: config, } }) + ;(async () => { + const cache = await $A.IDBJson("microAppsCapsuleCache"); + if ($A.isTrue(config.no_cache)) { + if (typeof cache[name] === "undefined") { + return + } + delete cache[name]; + } else { + cache[name] = config; + } + await $A.IDBSet("microAppsCapsuleCache", cache); + })() }, nextZIndex: () => { if (typeof window.modalTransferIndex === 'number') { @@ -386,6 +398,12 @@ export default { }) } else { // 新建微应用 + if (!$A.isHave(config.capsule, true)) { + const capsuleCache = await $A.IDBJson("microAppsCapsuleCache"); + if ($A.isJson(capsuleCache[config.name])) { + config.capsule = capsuleCache[config.name]; + } + } config.isOpen = false config.postMessage = () => {} config.onBeforeClose = () => true diff --git a/resources/assets/js/components/MicroApps/modal.vue b/resources/assets/js/components/MicroApps/modal.vue index 8576b4e1b..4dbe9987b 100644 --- a/resources/assets/js/components/MicroApps/modal.vue +++ b/resources/assets/js/components/MicroApps/modal.vue @@ -318,8 +318,8 @@ export default { background: var(--modal-capsule-bgcolor); border: 1px solid var(--modal-capsule-bor-color); border-radius: 16px; - transition: box-shadow 0.2s, background 0.2s; - will-change: box-shadow, background; + transition: box-shadow 0.2s, background 0.2s, top 0.2s, right 0.2s; + will-change: box-shadow, background, top, right; &:hover { background: var(--modal-capsule-hov-bgcolor); diff --git a/resources/assets/js/functions/common.js b/resources/assets/js/functions/common.js index 17cc33308..9ecb6b95d 100755 --- a/resources/assets/js/functions/common.js +++ b/resources/assets/js/functions/common.js @@ -220,11 +220,34 @@ const timezone = require("dayjs/plugin/timezone"); /** * 判断是否有 - * @param set + * @param val + * @param {boolean} enhanced * @returns {boolean} */ - isHave(set) { - return !!(set !== null && set !== "null" && set !== undefined && set !== "undefined" && set); + isHave(val, enhanced = false) { + // 基础检查 + if (val === null || val === "null" || val === undefined || val === "undefined" || !val) { + return false; + } + // 增强检查 + if (enhanced) { + if (Array.isArray(val)) return val.length > 0; + if (typeof val === 'object' && val.constructor === Object) return Object.keys(val).length > 0; + } + return true; + }, + + /** + * 判断是否为真 + * @param value + * @returns {boolean} + */ + isTrue(value) { + const type = typeof value; + if (type === 'boolean') return value === true; + if (type === 'number') return value === 1; + if (type === 'string') return value.toLowerCase() === 'true' || value === '1'; + return false; }, /**