From 8d6d44442cb820b1b0923b4958e0284c951d97c8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=99=BD=E7=86=B1?= Date: Mon, 30 Dec 2024 17:55:15 +0800 Subject: [PATCH] fix(watermark): fix invalid plugin configuration --- packages/watermark/src/plugin.ts | 27 +++++++++++++++++++++++---- 1 file changed, 23 insertions(+), 4 deletions(-) diff --git a/packages/watermark/src/plugin.ts b/packages/watermark/src/plugin.ts index d46d60c6bf0..715cac5d77f 100644 --- a/packages/watermark/src/plugin.ts +++ b/packages/watermark/src/plugin.ts @@ -52,13 +52,32 @@ export class UniverWatermarkPlugin extends Plugin { } private async _initWatermarkStorage() { - const { userWatermarkSettings, textWatermarkSettings, imageWatermarkSettings } = this._config; + const config = this._configService.getConfig(WATERMARK_PLUGIN_CONFIG_KEY); + if (!config) { + return; + } + const { userWatermarkSettings, textWatermarkSettings, imageWatermarkSettings } = config; if (userWatermarkSettings) { - this._localStorageService.setItem(UNIVER_WATERMARK_STORAGE_KEY, { type: IWatermarkTypeEnum.UserInfo, config: { userInfo: { ...WatermarkUserInfoBaseConfig, userWatermarkSettings } } }); + this._localStorageService.setItem(UNIVER_WATERMARK_STORAGE_KEY, { + type: IWatermarkTypeEnum.UserInfo, + config: { + userInfo: merge({}, WatermarkUserInfoBaseConfig, userWatermarkSettings), + }, + }); } else if (textWatermarkSettings) { - this._localStorageService.setItem(UNIVER_WATERMARK_STORAGE_KEY, { type: IWatermarkTypeEnum.Text, config: { text: { ...WatermarkTextBaseConfig, textWatermarkSettings } } }); + this._localStorageService.setItem(UNIVER_WATERMARK_STORAGE_KEY, { + type: IWatermarkTypeEnum.Text, + config: { + text: merge({}, WatermarkTextBaseConfig, textWatermarkSettings), + }, + }); } else if (imageWatermarkSettings) { - this._localStorageService.setItem(UNIVER_WATERMARK_STORAGE_KEY, { type: IWatermarkTypeEnum.Image, config: { image: { ...WatermarkImageBaseConfig, imageWatermarkSettings } } }); + this._localStorageService.setItem(UNIVER_WATERMARK_STORAGE_KEY, { + type: IWatermarkTypeEnum.Image, + config: { + image: merge({}, WatermarkImageBaseConfig, imageWatermarkSettings), + }, + }); } else { const config = await this._localStorageService.getItem(UNIVER_WATERMARK_STORAGE_KEY); if (config?.type === IWatermarkTypeEnum.UserInfo) {