diff --git a/core/core-backend/src/main/java/io/dataease/visualization/server/VisualizationWatermarkService.java b/core/core-backend/src/main/java/io/dataease/visualization/server/VisualizationWatermarkService.java new file mode 100644 index 0000000000..b1f880c99c --- /dev/null +++ b/core/core-backend/src/main/java/io/dataease/visualization/server/VisualizationWatermarkService.java @@ -0,0 +1,41 @@ +package io.dataease.visualization.server; + +import io.dataease.api.visualization.VisualizationWatermarkApi; +import io.dataease.api.visualization.request.VisualizationWatermarkRequest; +import io.dataease.api.visualization.vo.VisualizationWatermarkVO; +import io.dataease.utils.BeanUtils; +import io.dataease.visualization.dao.auto.entity.VisualizationWatermark; +import io.dataease.visualization.dao.auto.mapper.VisualizationWatermarkMapper; +import jakarta.annotation.Resource; +import org.springframework.stereotype.Service; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + * @author : WangJiaHao + * @date : 2024/1/10 16:59 + */ +@RestController +@RequestMapping("/watermark") +public class VisualizationWatermarkService implements VisualizationWatermarkApi { + + private final static String DEFAULT_ID ="system_default"; + + @Resource + private VisualizationWatermarkMapper watermarkMapper; + + @Override + public VisualizationWatermarkVO getWatermarkInfo() { + VisualizationWatermark watermark = watermarkMapper.selectById(DEFAULT_ID); + VisualizationWatermarkVO watermarkVO = new VisualizationWatermarkVO(); + return BeanUtils.copyBean(watermarkVO,watermark); + } + + @Override + public void saveWatermarkInfo(VisualizationWatermarkRequest watermarkRequest) { + VisualizationWatermark watermark = new VisualizationWatermark(); + BeanUtils.copyBean(watermark,watermarkRequest); + watermark.setId(DEFAULT_ID); + watermarkMapper.updateById(watermark); + } +} diff --git a/core/core-backend/src/main/resources/db/desktop/V2.3__ddl.sql b/core/core-backend/src/main/resources/db/desktop/V2.3__ddl.sql new file mode 100644 index 0000000000..f8a9c19a0e --- /dev/null +++ b/core/core-backend/src/main/resources/db/desktop/V2.3__ddl.sql @@ -0,0 +1,12 @@ + +DROP TABLE IF EXISTS `visualization_watermark`; +CREATE TABLE `visualization_watermark` ( + `id` varchar(50) NOT NULL COMMENT '主键', + `version` varchar(255) DEFAULT NULL COMMENT '版本号', + `setting_content` longtext COMMENT '设置内容', + `create_by` varchar(255) DEFAULT NULL COMMENT '创建人', + `create_time` bigint(13) DEFAULT NULL COMMENT '创建时间', + PRIMARY KEY (`id`) +) COMMENT='仪表板水印设置表'; + +INSERT INTO `visualization_watermark` (`id`, `version`, `setting_content`, `create_by`, `create_time`) VALUES ('system_default', '1.0', '{\"enable\":false,\"enablePanelCustom\":true,\"type\":\"custom\",\"content\":\"水印\",\"watermark_color\":\"#DD1010\",\"watermark_x_space\":12,\"watermark_y_space\":36,\"watermark_fontsize\":15}', 'admin', NULL); diff --git a/core/core-backend/src/main/resources/db/migration/V2.3__ddl.sql b/core/core-backend/src/main/resources/db/migration/V2.3__ddl.sql new file mode 100644 index 0000000000..f8a9c19a0e --- /dev/null +++ b/core/core-backend/src/main/resources/db/migration/V2.3__ddl.sql @@ -0,0 +1,12 @@ + +DROP TABLE IF EXISTS `visualization_watermark`; +CREATE TABLE `visualization_watermark` ( + `id` varchar(50) NOT NULL COMMENT '主键', + `version` varchar(255) DEFAULT NULL COMMENT '版本号', + `setting_content` longtext COMMENT '设置内容', + `create_by` varchar(255) DEFAULT NULL COMMENT '创建人', + `create_time` bigint(13) DEFAULT NULL COMMENT '创建时间', + PRIMARY KEY (`id`) +) COMMENT='仪表板水印设置表'; + +INSERT INTO `visualization_watermark` (`id`, `version`, `setting_content`, `create_by`, `create_time`) VALUES ('system_default', '1.0', '{\"enable\":false,\"enablePanelCustom\":true,\"type\":\"custom\",\"content\":\"水印\",\"watermark_color\":\"#DD1010\",\"watermark_x_space\":12,\"watermark_y_space\":36,\"watermark_fontsize\":15}', 'admin', NULL); diff --git a/core/core-frontend/src/api/watermark.ts b/core/core-frontend/src/api/watermark.ts index 6c78457973..dacfd4c8c3 100644 --- a/core/core-frontend/src/api/watermark.ts +++ b/core/core-frontend/src/api/watermark.ts @@ -1,4 +1,5 @@ import request from '@/config/axios' -export const searchRoleApi = (keyword: string) => - request.post({ url: '/role/query', data: { keyword } }) +export const watermarkSave = params => request.post({ url: '/watermark/save', data: params }) + +export const watermarkFind = () => request.get({ url: 'watermark/find' }) diff --git a/core/core-frontend/src/assets/img/watermark-demo-dark.png b/core/core-frontend/src/assets/img/watermark-demo-dark.png new file mode 100644 index 0000000000..b4a48c7334 Binary files /dev/null and b/core/core-frontend/src/assets/img/watermark-demo-dark.png differ diff --git a/core/core-frontend/src/assets/img/watermark-demo-light.png b/core/core-frontend/src/assets/img/watermark-demo-light.png new file mode 100644 index 0000000000..78b5b725a2 Binary files /dev/null and b/core/core-frontend/src/assets/img/watermark-demo-light.png differ diff --git a/core/core-frontend/src/locales/zh-CN.ts b/core/core-frontend/src/locales/zh-CN.ts index 7c29dca6a3..605dfb1fe3 100644 --- a/core/core-frontend/src/locales/zh-CN.ts +++ b/core/core-frontend/src/locales/zh-CN.ts @@ -2131,5 +2131,24 @@ export default { template_manage: { name_already_exists_type: '分类名称已存在', the_same_category: '同一分类下,该模板名称已存在' + }, + watermark: { + support_params: '当前支持的参数:', + enable: '启用水印', + enable_panel_custom: '允许仪表板单独打开或者关闭水印', + content: '水印内容', + custom_content: '自定义公式', + account: '账号', + nick_name: '昵称', + ip: 'IP', + now: '当前时间', + watermark_color: '水印颜色', + watermark_font_size: '水印字号', + watermark_space: '水印间距', + horizontal: '横向间距', + vertical: '纵向间距', + reset: '重置', + preview: '预览', + save: '保存' } } diff --git a/core/core-frontend/src/views/watermark/ParamsTips.vue b/core/core-frontend/src/views/watermark/ParamsTips.vue new file mode 100644 index 0000000000..c77e6c90cd --- /dev/null +++ b/core/core-frontend/src/views/watermark/ParamsTips.vue @@ -0,0 +1,33 @@ + + + + + diff --git a/core/core-frontend/src/views/watermark/index.vue b/core/core-frontend/src/views/watermark/index.vue new file mode 100644 index 0000000000..0d023a5b47 --- /dev/null +++ b/core/core-frontend/src/views/watermark/index.vue @@ -0,0 +1,304 @@ + + + + + diff --git a/sdk/api/api-base/src/main/java/io/dataease/api/visualization/VisualizationWatermarkApi.java b/sdk/api/api-base/src/main/java/io/dataease/api/visualization/VisualizationWatermarkApi.java new file mode 100644 index 0000000000..8714d4056e --- /dev/null +++ b/sdk/api/api-base/src/main/java/io/dataease/api/visualization/VisualizationWatermarkApi.java @@ -0,0 +1,27 @@ +package io.dataease.api.visualization; + +import com.github.xiaoymin.knife4j.annotations.ApiSupport; +import io.dataease.api.visualization.request.VisualizationSubjectRequest; +import io.dataease.api.visualization.request.VisualizationWatermarkRequest; +import io.dataease.api.visualization.vo.VisualizationSubjectVO; +import io.dataease.api.visualization.vo.VisualizationWatermarkVO; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +@Tag(name = "可视化管理:水印") +@ApiSupport(order = 994) +public interface VisualizationWatermarkApi { + + + @ResponseBody + @GetMapping("/find") + VisualizationWatermarkVO getWatermarkInfo(); + + @ResponseBody + @PostMapping("/save") + void saveWatermarkInfo(@RequestBody VisualizationWatermarkRequest watermarkRequest); + +} diff --git a/sdk/api/api-base/src/main/java/io/dataease/api/visualization/request/VisualizationWatermarkRequest.java b/sdk/api/api-base/src/main/java/io/dataease/api/visualization/request/VisualizationWatermarkRequest.java new file mode 100644 index 0000000000..608c61adb8 --- /dev/null +++ b/sdk/api/api-base/src/main/java/io/dataease/api/visualization/request/VisualizationWatermarkRequest.java @@ -0,0 +1,10 @@ +package io.dataease.api.visualization.request; + +import io.dataease.api.visualization.vo.VisualizationWatermarkVO; + +/** + * @author : WangJiaHao + * @date : 2024/1/10 17:02 + */ +public class VisualizationWatermarkRequest extends VisualizationWatermarkVO { +}