diff --git a/CHANGELOG.md b/CHANGELOG.md index f79f7891230146083b738af30f5c6d20dcfd1319..54e4feb6e3dd7fcf5629c520e86bc7582c7d7885 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,7 @@ ### Added - 第三方登录组件支持通过自定义补充参数指定需要展示的第三方登录方式 +- 新增水印工具类,新增应用水印挂载,新增视图水印挂载。新增应用全局参数watermark(应用水印配置参数),新增视图默认参数waterMarkOption(视图水印配置参数),视图默认参数配置示例:waterMarkOption={"enable":true,"text":"示例系统"} ## Fixed diff --git a/src/web-app/App.tsx b/src/web-app/App.tsx index 2f0b0387c9042a926bf313498cbb18376bcd2c26..d2d163b379cccfea5d6f5d2710f3b06a4955c203 100644 --- a/src/web-app/App.tsx +++ b/src/web-app/App.tsx @@ -1,4 +1,10 @@ -import { defineComponent, onUnmounted } from 'vue'; +import { + defineComponent, + onUnmounted, + onMounted, + onBeforeUnmount, + nextTick, +} from 'vue'; import { Modal, ViewMode } from '@ibiz-template/runtime'; import { AppHooks } from '@ibiz-template/vue3-util'; import './App.scss'; @@ -21,6 +27,22 @@ export default defineComponent({ // 页面关闭 window.addEventListener('unload', destroyAppHub); + // 水印销毁方法 + let watermarkDestroy: () => void; + onMounted(() => { + nextTick(() => { + const { watermark } = ibiz.config; + if (!watermark.enable) return; + + // 挂载视图水印 + watermarkDestroy = ibiz.util.watermark.mount(watermark); + }); + }); + + onBeforeUnmount(() => { + watermarkDestroy?.(); + }); + // 页面卸载 onUnmounted(() => { destroyAppHub();