diff --git a/backend/src/main/java/io/dataease/base/mapper/ext/AuthMapper.xml b/backend/src/main/java/io/dataease/base/mapper/ext/AuthMapper.xml index 6a2b567c0f..b2163b66e0 100644 --- a/backend/src/main/java/io/dataease/base/mapper/ext/AuthMapper.xml +++ b/backend/src/main/java/io/dataease/base/mapper/ext/AuthMapper.xml @@ -24,13 +24,13 @@ select user_id, username, password, enabled from sys_user where username = #{username} - select r.code from sys_role r left join sys_users_roles sur on sur.role_id = r.role_id where sur.user_id = #{userId} - select sm.permission from sys_menu sm left join sys_roles_menus srm on srm.menu_id = sm.menu_id diff --git a/backend/src/main/java/io/dataease/commons/constants/ParamConstants.java b/backend/src/main/java/io/dataease/commons/constants/ParamConstants.java index dcac704f1c..f075b5149c 100644 --- a/backend/src/main/java/io/dataease/commons/constants/ParamConstants.java +++ b/backend/src/main/java/io/dataease/commons/constants/ParamConstants.java @@ -31,6 +31,7 @@ public interface ParamConstants { MAIL("smtp"), BASE("base"), LDAP("ldap"), + UI("ui"), REGISTRY("registry"); private String value; diff --git a/backend/src/main/java/io/dataease/controller/DisplayController.java b/backend/src/main/java/io/dataease/controller/DisplayController.java new file mode 100644 index 0000000000..c69519c4a8 --- /dev/null +++ b/backend/src/main/java/io/dataease/controller/DisplayController.java @@ -0,0 +1,23 @@ +package io.dataease.controller; + +import io.dataease.service.BaseDisplayService; +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import javax.annotation.Resource; +import java.io.IOException; + +@RestController +@RequestMapping +public class DisplayController { + @Resource + private BaseDisplayService baseDisplayService; + + @GetMapping("display/file/{imageName}") + public ResponseEntity image(@PathVariable("imageName") String imageName) throws IOException { + return baseDisplayService.getImage(imageName); + } +} diff --git a/backend/src/main/java/io/dataease/controller/SystemParameterController.java b/backend/src/main/java/io/dataease/controller/SystemParameterController.java new file mode 100644 index 0000000000..7aacf70966 --- /dev/null +++ b/backend/src/main/java/io/dataease/controller/SystemParameterController.java @@ -0,0 +1,63 @@ +package io.dataease.controller; + +import io.dataease.base.domain.SystemParameter; +import io.dataease.commons.constants.ParamConstants; +import io.dataease.commons.constants.RoleConstants; +import io.dataease.dto.BaseSystemConfigDTO; +import io.dataease.dto.SystemParameterDTO; +import io.dataease.notice.domain.MailInfo; +import io.dataease.service.system.SystemParameterService; +import org.apache.shiro.authz.annotation.RequiresRoles; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import javax.annotation.Resource; +import java.io.IOException; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +@RestController +@RequestMapping(value = "/system") +public class SystemParameterController { + @Resource + private SystemParameterService systemParameterService; + + @PostMapping("/edit/email") + public void editMail(@RequestBody List systemParameter) { + systemParameterService.editMail(systemParameter); + } + + @PostMapping("/testConnection") + public void testConnection(@RequestBody HashMap hashMap) { + systemParameterService.testConnection(hashMap); + } + + @GetMapping("/version") + public String getVersion() { + return systemParameterService.getVersion(); + } + + @GetMapping("/mail/info") + public MailInfo mailInfo() { + return systemParameterService.mailInfo(ParamConstants.Classify.MAIL.getValue()); + } + + + @GetMapping("/base/info") + public List getBaseInfo () { + return systemParameterService.getSystemParameterInfo(ParamConstants.Classify.BASE.getValue()); + } + + @GetMapping("/ui/info") + public List getDisplayInfo () { + return systemParameterService.getSystemParameterInfo(ParamConstants.Classify.UI.getValue()); + } + + @PostMapping(value="/save/ui", consumes = {"multipart/form-data"}) + public void saveUIInfo (@RequestPart("request") Map> systemParameterMap,@RequestPart(value = "files") List bodyFiles) throws IOException { + systemParameterService.saveUIInfo(systemParameterMap,bodyFiles); + } + + +} diff --git a/backend/src/main/java/io/dataease/service/BaseDisplayService.java b/backend/src/main/java/io/dataease/service/BaseDisplayService.java index 8179525716..54d5775ac7 100644 --- a/backend/src/main/java/io/dataease/service/BaseDisplayService.java +++ b/backend/src/main/java/io/dataease/service/BaseDisplayService.java @@ -3,7 +3,7 @@ package io.dataease.service; import io.dataease.base.domain.SystemParameter; import io.dataease.base.domain.SystemParameterExample; import io.dataease.base.mapper.SystemParameterMapper; -import org.apache.commons.collections4.CollectionUtils; +import org.apache.commons.collections.CollectionUtils; import org.apache.commons.io.IOUtils; import org.apache.commons.lang3.StringUtils; import org.springframework.core.io.support.PathMatchingResourcePatternResolver; @@ -48,15 +48,19 @@ public class BaseDisplayService { if (bytes == null) { PathMatchingResourcePatternResolver resolver = new PathMatchingResourcePatternResolver(getClass().getClassLoader()); switch (imageName) { + case "favicon": + bytes = IOUtils.toByteArray(resolver.getResources("/static/img/favicon.ico")[0].getInputStream()); + contentType = MediaType.valueOf("image/vnd.microsoft.icon"); + break; case "logo": - bytes = IOUtils.toByteArray(resolver.getResources("/static/img/logo-light-MeterSphere.*.svg")[0].getInputStream()); + bytes = IOUtils.toByteArray(resolver.getResources("/static/img/logo-light-MeterSphere*.svg")[0].getInputStream()); contentType = MediaType.valueOf("image/svg+xml"); break; case "loginImage": - bytes = IOUtils.toByteArray(resolver.getResources("/static/img/info.*.png")[0].getInputStream()); + bytes = IOUtils.toByteArray(resolver.getResources("/static/img/info*.png")[0].getInputStream()); break; case "loginLogo": - bytes = IOUtils.toByteArray(resolver.getResources("/static/img/logo-dark-MeterSphere.*.svg")[0].getInputStream()); + bytes = IOUtils.toByteArray(resolver.getResources("/static/img/logo-dark-MeterSphere*.svg")[0].getInputStream()); contentType = MediaType.valueOf("image/svg+xml"); break; default: diff --git a/backend/src/main/java/io/dataease/service/FileService.java b/backend/src/main/java/io/dataease/service/FileService.java index da799316cc..74af7d4233 100644 --- a/backend/src/main/java/io/dataease/service/FileService.java +++ b/backend/src/main/java/io/dataease/service/FileService.java @@ -85,9 +85,13 @@ public class FileService { } public FileMetadata saveFile(MultipartFile file) { + return saveFile(file,file.getOriginalFilename()); + } + + public FileMetadata saveFile(MultipartFile file,String fileName) { final FileMetadata fileMetadata = new FileMetadata(); fileMetadata.setId(UUID.randomUUID().toString()); - fileMetadata.setName(file.getOriginalFilename()); + fileMetadata.setName(fileName); fileMetadata.setSize(file.getSize()); fileMetadata.setCreateTime(System.currentTimeMillis()); fileMetadata.setUpdateTime(System.currentTimeMillis()); diff --git a/backend/src/main/resources/static/img/favicon-反白.png b/backend/src/main/resources/static/img/favicon-反白.png new file mode 100644 index 0000000000..c9ad4be020 Binary files /dev/null and b/backend/src/main/resources/static/img/favicon-反白.png differ diff --git a/backend/src/main/resources/static/img/favicon-彩色.png b/backend/src/main/resources/static/img/favicon-彩色.png new file mode 100644 index 0000000000..15fb97a693 Binary files /dev/null and b/backend/src/main/resources/static/img/favicon-彩色.png differ diff --git a/backend/src/main/resources/static/img/favicon.ico b/backend/src/main/resources/static/img/favicon.ico new file mode 100644 index 0000000000..9dc173ff67 Binary files /dev/null and b/backend/src/main/resources/static/img/favicon.ico differ diff --git a/backend/src/main/resources/static/img/info.png b/backend/src/main/resources/static/img/info.png new file mode 100755 index 0000000000..039f46cb4d Binary files /dev/null and b/backend/src/main/resources/static/img/info.png differ diff --git a/backend/src/main/resources/static/img/jira.png b/backend/src/main/resources/static/img/jira.png new file mode 100644 index 0000000000..b3ff15f2ab Binary files /dev/null and b/backend/src/main/resources/static/img/jira.png differ diff --git a/backend/src/main/resources/static/img/logo-MeterSphere.png b/backend/src/main/resources/static/img/logo-MeterSphere.png new file mode 100644 index 0000000000..3335489b92 Binary files /dev/null and b/backend/src/main/resources/static/img/logo-MeterSphere.png differ diff --git a/backend/src/main/resources/static/img/logo-dark-MeterSphere.svg b/backend/src/main/resources/static/img/logo-dark-MeterSphere.svg new file mode 100755 index 0000000000..1acbb1c0eb --- /dev/null +++ b/backend/src/main/resources/static/img/logo-dark-MeterSphere.svg @@ -0,0 +1,85 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/backend/src/main/resources/static/img/logo-light-MeterSphere.svg b/backend/src/main/resources/static/img/logo-light-MeterSphere.svg new file mode 100755 index 0000000000..1fb78563d5 --- /dev/null +++ b/backend/src/main/resources/static/img/logo-light-MeterSphere.svg @@ -0,0 +1,80 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/backend/src/main/resources/static/img/tapd.png b/backend/src/main/resources/static/img/tapd.png new file mode 100644 index 0000000000..4331f89694 Binary files /dev/null and b/backend/src/main/resources/static/img/tapd.png differ diff --git a/backend/src/main/resources/static/img/template.png b/backend/src/main/resources/static/img/template.png new file mode 100644 index 0000000000..1edb6c8bf7 Binary files /dev/null and b/backend/src/main/resources/static/img/template.png differ diff --git a/backend/src/main/resources/static/img/xmind.jpg b/backend/src/main/resources/static/img/xmind.jpg new file mode 100644 index 0000000000..3cd0340ada Binary files /dev/null and b/backend/src/main/resources/static/img/xmind.jpg differ diff --git a/backend/src/main/resources/static/img/zentao.jpg b/backend/src/main/resources/static/img/zentao.jpg new file mode 100644 index 0000000000..703a906898 Binary files /dev/null and b/backend/src/main/resources/static/img/zentao.jpg differ diff --git a/frontend/src/business/components/settings/router.js b/frontend/src/business/components/settings/router.js index 62be107918..096701c015 100644 --- a/frontend/src/business/components/settings/router.js +++ b/frontend/src/business/components/settings/router.js @@ -37,6 +37,11 @@ export default { component: () => import('@/business/components/settings/sys/user'), meta: {system: true, title: 'commons.user'} }, + { + path: 'systemparametersetting', + component: () => import('@/business/components/settings/system/SystemParameterSetting'), + meta: {system: true, title: 'commons.system_parameter_setting'} + }, // { // path: 'systemworkspace', // component: () => import('@/business/components/settings/system/SystemWorkspace'), diff --git a/frontend/src/business/components/settings/system/BaseSetting.vue b/frontend/src/business/components/settings/system/BaseSetting.vue index 8bfd993cc0..09eb57cceb 100644 --- a/frontend/src/business/components/settings/system/BaseSetting.vue +++ b/frontend/src/business/components/settings/system/BaseSetting.vue @@ -86,7 +86,6 @@ methods: { query() { this.result = this.$get("/system/base/info", response => { - debugger; this.systemParams = response.data; }) }, diff --git a/frontend/src/business/components/settings/system/UiSetting.vue b/frontend/src/business/components/settings/system/UiSetting.vue new file mode 100644 index 0000000000..48f3943c58 --- /dev/null +++ b/frontend/src/business/components/settings/system/UiSetting.vue @@ -0,0 +1,264 @@ + + + + +