From 0cbadbeda8f34f85150359dc11acadbe23671013 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=A6=82?= <8775@163.com> Date: Sat, 19 Oct 2024 20:27:16 +0800 Subject: [PATCH] 5.0 --- .../controller/isv/IsvInfoController.java | 14 +++ .../isv/req/IsvInfoUpdateKeysParam.java | 47 ++++++++++ .../controller/serve/ApiInfoController.java | 1 - .../service/isv/IsvInfoService.java | 26 ++++-- .../service/isv/IsvKeysService.java | 11 +++ .../service/isv/dto/IsvInfoUpdateDTO.java | 1 + .../service/isv/dto/IsvInfoUpdateKeysDTO.java | 38 ++++++++ .../service/isv/dto/IsvKeysDTO.java | 7 ++ sop-admin/sop-admin-frontend/README.md | 58 +++++-------- sop-admin/sop-admin-frontend/package.json | 2 +- sop-admin/sop-admin-frontend/pnpm-lock.yaml | 10 +-- .../sop-admin-frontend/src/api/isvList.ts | 40 +++++++-- .../sop-admin-frontend/src/api/serveApi.ts | 8 +- .../src/api/sysAdminUser.ts | 6 +- .../src/model/enums/index.ts | 10 +++ .../sop-admin-frontend/src/model/index.ts | 4 +- .../sop-admin-frontend/src/style/index.scss | 11 +++ .../src/utils/http/index.ts | 3 + .../src/views/admin/user/index.vue | 1 + .../src/views/isv/list/index.ts | 2 +- .../src/views/isv/list/index.vue | 53 ++++++----- .../src/views/isv/list/isvKeys.ts | 86 ++++++++++++++++-- .../src/views/isv/list/showKeys.ts | 33 +++++-- .../src/views/serve/api/index.ts | 87 ++++++++++++++----- .../src/views/serve/api/index.vue | 46 +++++++++- 25 files changed, 487 insertions(+), 118 deletions(-) create mode 100644 sop-admin/sop-admin-backend/src/main/java/com/gitee/sop/adminbackend/controller/isv/req/IsvInfoUpdateKeysParam.java create mode 100644 sop-admin/sop-admin-backend/src/main/java/com/gitee/sop/adminbackend/service/isv/dto/IsvInfoUpdateKeysDTO.java diff --git a/sop-admin/sop-admin-backend/src/main/java/com/gitee/sop/adminbackend/controller/isv/IsvInfoController.java b/sop-admin/sop-admin-backend/src/main/java/com/gitee/sop/adminbackend/controller/isv/IsvInfoController.java index 2042c0a7..2274c0cb 100644 --- a/sop-admin/sop-admin-backend/src/main/java/com/gitee/sop/adminbackend/controller/isv/IsvInfoController.java +++ b/sop-admin/sop-admin-backend/src/main/java/com/gitee/sop/adminbackend/controller/isv/IsvInfoController.java @@ -9,6 +9,7 @@ import com.gitee.sop.adminbackend.common.dto.StatusUpdateDTO; import com.gitee.sop.adminbackend.common.req.StatusUpdateParam; import com.gitee.sop.adminbackend.common.resp.Result; import com.gitee.sop.adminbackend.controller.isv.req.IsvInfoAddParam; +import com.gitee.sop.adminbackend.controller.isv.req.IsvInfoUpdateKeysParam; import com.gitee.sop.adminbackend.controller.isv.req.IsvInfoUpdateParam; import com.gitee.sop.adminbackend.controller.isv.req.IsvKeysGenParam; import com.gitee.sop.adminbackend.dao.entity.IsvInfo; @@ -16,6 +17,7 @@ import com.gitee.sop.adminbackend.service.isv.IsvInfoService; import com.gitee.sop.adminbackend.service.isv.dto.IsvInfoAddDTO; import com.gitee.sop.adminbackend.service.isv.dto.IsvInfoDTO; import com.gitee.sop.adminbackend.service.isv.dto.IsvInfoUpdateDTO; +import com.gitee.sop.adminbackend.service.isv.dto.IsvInfoUpdateKeysDTO; import com.gitee.sop.adminbackend.service.isv.dto.IsvKeysDTO; import com.gitee.sop.adminbackend.util.CopyUtil; import org.springframework.validation.annotation.Validated; @@ -104,6 +106,18 @@ public class IsvInfoController { return Result.ok(isvInfoService.update(isvInfoUpdateDTO)); } + /** + * 修改秘钥 + * + * @param param 表单数据 + * @return 返回影响行数 + */ + @PostMapping("/updateKeys") + public Result updateKeys(@Validated @RequestBody IsvInfoUpdateKeysParam param) { + IsvInfoUpdateKeysDTO isvInfoUpdateKeysDTO = CopyUtil.copyBean(param, IsvInfoUpdateKeysDTO::new); + return Result.ok(isvInfoService.updateKeys(isvInfoUpdateKeysDTO)); + } + /** * 修改状态 * diff --git a/sop-admin/sop-admin-backend/src/main/java/com/gitee/sop/adminbackend/controller/isv/req/IsvInfoUpdateKeysParam.java b/sop-admin/sop-admin-backend/src/main/java/com/gitee/sop/adminbackend/controller/isv/req/IsvInfoUpdateKeysParam.java new file mode 100644 index 00000000..e131c0e0 --- /dev/null +++ b/sop-admin/sop-admin-backend/src/main/java/com/gitee/sop/adminbackend/controller/isv/req/IsvInfoUpdateKeysParam.java @@ -0,0 +1,47 @@ +package com.gitee.sop.adminbackend.controller.isv.req; + +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; + + +/** + * @author 六如 + */ +@Data +public class IsvInfoUpdateKeysParam { + + @NotNull + private Long isvId; + + /** + * 秘钥格式,1:PKCS8(JAVA适用),2:PKCS1(非JAVA适用) + */ + @NotNull + private Integer keyFormat; + + /** + * 开发者生成的公钥, 数据库字段:public_key_isv + */ + @NotBlank + private String publicKeyIsv; + + /** + * 开发者生成的私钥(交给开发者), 数据库字段:private_key_isv + */ + @NotBlank + private String privateKeyIsv; + + /** + * 平台生成的公钥(交给开发者), 数据库字段:public_key_platform + */ + @NotBlank + private String publicKeyPlatform; + + /** + * 平台生成的私钥, 数据库字段:private_key_platform + */ + @NotBlank + private String privateKeyPlatform; +} diff --git a/sop-admin/sop-admin-backend/src/main/java/com/gitee/sop/adminbackend/controller/serve/ApiInfoController.java b/sop-admin/sop-admin-backend/src/main/java/com/gitee/sop/adminbackend/controller/serve/ApiInfoController.java index b5b959ad..731b15da 100644 --- a/sop-admin/sop-admin-backend/src/main/java/com/gitee/sop/adminbackend/controller/serve/ApiInfoController.java +++ b/sop-admin/sop-admin-backend/src/main/java/com/gitee/sop/adminbackend/controller/serve/ApiInfoController.java @@ -3,7 +3,6 @@ package com.gitee.sop.adminbackend.controller.serve; import com.gitee.fastmybatis.core.PageInfo; import com.gitee.fastmybatis.core.query.Query; import com.gitee.sop.adminbackend.common.dto.StatusUpdateDTO; -import com.gitee.sop.adminbackend.common.req.IdParam; import com.gitee.sop.adminbackend.common.req.StatusUpdateParam; import com.gitee.sop.adminbackend.common.resp.Result; import com.gitee.sop.adminbackend.controller.serve.req.ApiInfoParam; diff --git a/sop-admin/sop-admin-backend/src/main/java/com/gitee/sop/adminbackend/service/isv/IsvInfoService.java b/sop-admin/sop-admin-backend/src/main/java/com/gitee/sop/adminbackend/service/isv/IsvInfoService.java index 9247a66f..6e5e4ccd 100644 --- a/sop-admin/sop-admin-backend/src/main/java/com/gitee/sop/adminbackend/service/isv/IsvInfoService.java +++ b/sop-admin/sop-admin-backend/src/main/java/com/gitee/sop/adminbackend/service/isv/IsvInfoService.java @@ -14,15 +14,11 @@ import com.gitee.sop.adminbackend.dao.mapper.IsvInfoMapper; import com.gitee.sop.adminbackend.service.isv.dto.IsvInfoAddDTO; import com.gitee.sop.adminbackend.service.isv.dto.IsvInfoDTO; import com.gitee.sop.adminbackend.service.isv.dto.IsvInfoUpdateDTO; +import com.gitee.sop.adminbackend.service.isv.dto.IsvInfoUpdateKeysDTO; import com.gitee.sop.adminbackend.service.isv.dto.IsvKeysDTO; import com.gitee.sop.adminbackend.service.isv.dto.IsvKeysGenDTO; import com.gitee.sop.adminbackend.util.CopyUtil; import com.gitee.sop.adminbackend.util.IdGen; -import org.apache.commons.lang3.StringUtils; -import org.springframework.stereotype.Service; -import org.springframework.util.CollectionUtils; - -import javax.annotation.Resource; import java.text.SimpleDateFormat; import java.util.Date; import java.util.List; @@ -30,6 +26,11 @@ import java.util.Map; import java.util.Optional; import java.util.function.Function; import java.util.stream.Collectors; +import javax.annotation.Resource; +import org.apache.commons.lang3.StringUtils; +import org.springframework.stereotype.Service; +import org.springframework.util.CollectionUtils; + /** @@ -44,6 +45,7 @@ public class IsvInfoService implements LambdaService { private PermIsvRoleService permIsvRoleService; public PageInfo doPage(LambdaQuery query) { + query.orderByDesc(IsvInfo::getId); PageInfo page = this.page(query); List list = page.getList(); if (CollectionUtils.isEmpty(list)) { @@ -106,6 +108,10 @@ public class IsvInfoService implements LambdaService { .update(); } + public int updateKeys(IsvInfoUpdateKeysDTO isvInfoUpdateKeysDTO) { + return isvKeysService.saveKeys(isvInfoUpdateKeysDTO); + } + private void saveIsvRole(IsvInfo isvInfo, List roleCodeList) { Long isvId = isvInfo.getId(); @@ -145,6 +151,16 @@ public class IsvInfoService implements LambdaService { public IsvKeysDTO getKeys(Long isvId) { IsvKeys isvKeys = isvKeysService.get(IsvKeys::getIsvId, isvId); + if (isvKeys == null) { + IsvKeysDTO isvKeysDTO = new IsvKeysDTO(); + isvKeysDTO.setIsvId(isvId); + isvKeysDTO.setKeyFormat(RSATool.KeyFormat.PKCS8.getValue()); + isvKeysDTO.setPublicKeyIsv(""); + isvKeysDTO.setPrivateKeyIsv(""); + isvKeysDTO.setPublicKeyPlatform(""); + isvKeysDTO.setPrivateKeyPlatform(""); + return isvKeysDTO; + } return CopyUtil.copyBean(isvKeys, IsvKeysDTO::new); } diff --git a/sop-admin/sop-admin-backend/src/main/java/com/gitee/sop/adminbackend/service/isv/IsvKeysService.java b/sop-admin/sop-admin-backend/src/main/java/com/gitee/sop/adminbackend/service/isv/IsvKeysService.java index 3e6c5f79..53f5c426 100644 --- a/sop-admin/sop-admin-backend/src/main/java/com/gitee/sop/adminbackend/service/isv/IsvKeysService.java +++ b/sop-admin/sop-admin-backend/src/main/java/com/gitee/sop/adminbackend/service/isv/IsvKeysService.java @@ -3,6 +3,8 @@ package com.gitee.sop.adminbackend.service.isv; import com.gitee.fastmybatis.core.support.LambdaService; import com.gitee.sop.adminbackend.dao.entity.IsvKeys; import com.gitee.sop.adminbackend.dao.mapper.IsvKeysMapper; +import com.gitee.sop.adminbackend.service.isv.dto.IsvInfoUpdateKeysDTO; +import com.gitee.sop.adminbackend.util.CopyUtil; import org.springframework.stereotype.Service; @@ -12,4 +14,13 @@ import org.springframework.stereotype.Service; @Service public class IsvKeysService implements LambdaService { + public int saveKeys(IsvInfoUpdateKeysDTO isvInfoUpdateKeysDTO) { + IsvKeys isvKeys = this.get(IsvKeys::getIsvId, isvInfoUpdateKeysDTO.getIsvId()); + if (isvKeys == null) { + isvKeys = new IsvKeys(); + } + CopyUtil.copyPropertiesIgnoreNull(isvInfoUpdateKeysDTO, isvKeys); + return this.saveOrUpdate(isvKeys); + } + } diff --git a/sop-admin/sop-admin-backend/src/main/java/com/gitee/sop/adminbackend/service/isv/dto/IsvInfoUpdateDTO.java b/sop-admin/sop-admin-backend/src/main/java/com/gitee/sop/adminbackend/service/isv/dto/IsvInfoUpdateDTO.java index be8664a0..6b335614 100644 --- a/sop-admin/sop-admin-backend/src/main/java/com/gitee/sop/adminbackend/service/isv/dto/IsvInfoUpdateDTO.java +++ b/sop-admin/sop-admin-backend/src/main/java/com/gitee/sop/adminbackend/service/isv/dto/IsvInfoUpdateDTO.java @@ -10,4 +10,5 @@ import lombok.EqualsAndHashCode; @Data public class IsvInfoUpdateDTO extends IsvInfoAddDTO { private Long id; + } diff --git a/sop-admin/sop-admin-backend/src/main/java/com/gitee/sop/adminbackend/service/isv/dto/IsvInfoUpdateKeysDTO.java b/sop-admin/sop-admin-backend/src/main/java/com/gitee/sop/adminbackend/service/isv/dto/IsvInfoUpdateKeysDTO.java new file mode 100644 index 00000000..6d87eb05 --- /dev/null +++ b/sop-admin/sop-admin-backend/src/main/java/com/gitee/sop/adminbackend/service/isv/dto/IsvInfoUpdateKeysDTO.java @@ -0,0 +1,38 @@ +package com.gitee.sop.adminbackend.service.isv.dto; + +import lombok.Data; + + +/** + * @author 六如 + */ +@Data +public class IsvInfoUpdateKeysDTO { + + private Long isvId; + + /** + * 秘钥格式,1:PKCS8(JAVA适用),2:PKCS1(非JAVA适用) + */ + private Integer keyFormat; + + /** + * 开发者生成的公钥, 数据库字段:public_key_isv + */ + private String publicKeyIsv; + + /** + * 开发者生成的私钥(交给开发者), 数据库字段:private_key_isv + */ + private String privateKeyIsv; + + /** + * 平台生成的公钥(交给开发者), 数据库字段:public_key_platform + */ + private String publicKeyPlatform; + + /** + * 平台生成的私钥, 数据库字段:private_key_platform + */ + private String privateKeyPlatform; +} diff --git a/sop-admin/sop-admin-backend/src/main/java/com/gitee/sop/adminbackend/service/isv/dto/IsvKeysDTO.java b/sop-admin/sop-admin-backend/src/main/java/com/gitee/sop/adminbackend/service/isv/dto/IsvKeysDTO.java index 23995d58..d8d1f490 100644 --- a/sop-admin/sop-admin-backend/src/main/java/com/gitee/sop/adminbackend/service/isv/dto/IsvKeysDTO.java +++ b/sop-admin/sop-admin-backend/src/main/java/com/gitee/sop/adminbackend/service/isv/dto/IsvKeysDTO.java @@ -8,6 +8,13 @@ import lombok.Data; @Data public class IsvKeysDTO { + private Long isvId; + + /** + * 秘钥格式,1:PKCS8(JAVA适用),2:PKCS1(非JAVA适用) + */ + private Integer keyFormat; + /** * 开发者生成的公钥, 数据库字段:public_key_isv */ diff --git a/sop-admin/sop-admin-frontend/README.md b/sop-admin/sop-admin-frontend/README.md index f19a805f..6749b165 100644 --- a/sop-admin/sop-admin-frontend/README.md +++ b/sop-admin/sop-admin-frontend/README.md @@ -1,51 +1,35 @@ -

vue-pure-admin精简版(国际化版本)

+# SOP Admin 前端实现 -[![license](https://img.shields.io/github/license/pure-admin/vue-pure-admin.svg)](LICENSE) +## 参考文档 -**中文** | [English](./README.en-US.md) +- 模板:https://pure-admin.github.io/pure-admin-doc/ +- 表单表格组件:https://plus-pro-components.com/ -## 介绍 +## 开发部署 -精简版是基于 [vue-pure-admin](https://github.com/pure-admin/vue-pure-admin) 提炼出的架子,包含主体功能,更适合实际项目开发,打包后的大小在全局引入 [element-plus](https://element-plus.org) 的情况下仍然低于 `2.3MB`,并且会永久同步完整版的代码。开启 `brotli` 压缩和 `cdn` 替换本地库模式后,打包大小低于 `350kb` +> 规定 node 版本应不小于 18.18.0 -## 版本选择 +- macOS用户在命令前面添加`sudo` -当前是国际化版本,如果您需要非国际化版本 [请点击](https://github.com/pure-admin/pure-admin-thin) +```shell +# 安装pnpm +npm install -g pnpm -## `js` 版本 +# 安装依赖 +pnpm install -[点我查看 js 版本](https://pure-admin.github.io/pure-admin-doc/pages/js/) +# 启动 +pnpm dev +``` -## `max` 版本 +打包: -[点我查看 max 版本](https://github.com/pure-admin/vue-pure-admin-max) +`pnpm build` -## 配套视频 +安装一个包: -[点我查看 UI 设计](https://www.bilibili.com/video/BV17g411T7rq) -[点我查看快速开发教程](https://www.bilibili.com/video/BV1kg411v7QT) +`pnpm add 包名` -## 配套保姆级文档 +卸载一个包: -[点我查看 vue-pure-admin 文档](https://pure-admin.github.io/pure-admin-doc) -[点我查看 @pureadmin/utils 文档](https://pure-admin-utils.netlify.app) - -## 优质服务、软件外包、赞助支持 - -[点我查看详情](https://pure-admin.github.io/pure-admin-doc/pages/service/) - -## 预览 - -[查看预览](https://pure-admin-thin.netlify.app/#/login) - -## 维护者 - -[xiaoxian521](https://github.com/xiaoxian521) - -## ⚠️ 注意 - -精简版不接受任何 `issues` 和 `pr`,如果有问题请到完整版 [issues](https://github.com/pure-admin/vue-pure-admin/issues/new/choose) 去提,谢谢! - -## 许可证 - -[MIT © 2020-present, pure-admin](./LICENSE) +`pnpm remove 包名` \ No newline at end of file diff --git a/sop-admin/sop-admin-frontend/package.json b/sop-admin/sop-admin-frontend/package.json index e887dc17..807927bd 100644 --- a/sop-admin/sop-admin-frontend/package.json +++ b/sop-admin/sop-admin-frontend/package.json @@ -66,7 +66,7 @@ "path": "0.12.7", "pinia": "2.2.2", "pinyin-pro": "3.24.2", - "plus-pro-components": "0.1.16", + "plus-pro-components": "0.1.17", "qs": "6.13.0", "responsive-storage": "2.2.0", "sortablejs": "1.15.2", diff --git a/sop-admin/sop-admin-frontend/pnpm-lock.yaml b/sop-admin/sop-admin-frontend/pnpm-lock.yaml index 38a5b5af..591273b0 100644 --- a/sop-admin/sop-admin-frontend/pnpm-lock.yaml +++ b/sop-admin/sop-admin-frontend/pnpm-lock.yaml @@ -63,8 +63,8 @@ importers: specifier: 3.24.2 version: 3.24.2 plus-pro-components: - specifier: 0.1.16 - version: 0.1.16(element-plus@2.8.0(vue@3.4.38(typescript@5.5.4)))(vue@3.4.38(typescript@5.5.4)) + specifier: 0.1.17 + version: 0.1.17(element-plus@2.8.0(vue@3.4.38(typescript@5.5.4)))(vue@3.4.38(typescript@5.5.4)) qs: specifier: 6.13.0 version: 6.13.0 @@ -2797,8 +2797,8 @@ packages: pkg-types@1.1.3: resolution: {integrity: sha512-+JrgthZG6m3ckicaOB74TwQ+tBWsFl3qVQg7mN8ulwSOElJ7gBhKzj2VkCPnZ4NlF6kEquYU+RIYNVAvzd54UA==} - plus-pro-components@0.1.16: - resolution: {integrity: sha512-SVjqsnuBjn8wMQihA3ltoKUXx7iX4DtF0KHMYpJLgTNUZDfOzSvQb1vKnubSrFfUpaGFa3c6LSfFpFhzvVfT9Q==} + plus-pro-components@0.1.17: + resolution: {integrity: sha512-a4UaLJHAf+e1aph3iAjNceVFoyaPxmrX6gS7mWmTg8rfou3sPX7qL0IARKuj8P8oQih65AJRunIfaT+s9IZLvw==} peerDependencies: element-plus: ^2.3.4 vue: ^3.2.0 @@ -6633,7 +6633,7 @@ snapshots: mlly: 1.7.1 pathe: 1.1.2 - plus-pro-components@0.1.16(element-plus@2.8.0(vue@3.4.38(typescript@5.5.4)))(vue@3.4.38(typescript@5.5.4)): + plus-pro-components@0.1.17(element-plus@2.8.0(vue@3.4.38(typescript@5.5.4)))(vue@3.4.38(typescript@5.5.4)): dependencies: '@element-plus/icons-vue': 2.3.1(vue@3.4.38(typescript@5.5.4)) element-plus: 2.8.0(vue@3.4.38(typescript@5.5.4)) diff --git a/sop-admin/sop-admin-frontend/src/api/isvList.ts b/sop-admin/sop-admin-frontend/src/api/isvList.ts index eb166553..bede9fb9 100644 --- a/sop-admin/sop-admin-frontend/src/api/isvList.ts +++ b/sop-admin/sop-admin-frontend/src/api/isvList.ts @@ -8,9 +8,20 @@ const apiUrl: any = createUrl({ update: "/isv/update", del: "/isv/delete", getKeys: "/isv/getKeys", - updateStatus: "/isv/updateStatus" + updateStatus: "/isv/updateStatus", + createKeys: "/isv/createKeys", + updateKeys: "/isv/updateKeys" }); +/* +private String publicKey; +private String privateKey; + */ +export interface KeyStore { + publicKey: string; + privateKey: string; +} + /** * 接口管理 */ @@ -27,34 +38,51 @@ export const api: any = { * @param data 表单内容 */ add(data: object) { - return http.post(apiUrl.add, { data }); + return http.post, any>(apiUrl.add, { data }); }, /** * 修改 * @param data 表单内容 */ update(data: object) { - return http.post(apiUrl.update, { data }); + return http.post, any>(apiUrl.update, { data }); }, /** * 删除 * @param data 表单内容 */ del(data: object) { - return http.post(apiUrl.del, { data }); + return http.post, any>(apiUrl.del, { data }); }, /** * 查看秘钥 * @param params */ viewKeys(params: object) { - return http.get(apiUrl.getKeys, { params }); + return http.get, any>(apiUrl.getKeys, { params }); }, /** * 修改状态 * @param data 表单内容 */ updateStatus(data: object) { - return http.post(apiUrl.updateStatus, { data }); + return http.post, any>(apiUrl.updateStatus, { data }); + }, + /** + * 创建秘钥 + * @param keyFormat 秘钥格式,1:PKCS8(JAVA适用),2:PKCS1(非JAVA适用) + */ + createKeys(keyFormat): Promise> { + const data = { + keyFormat: keyFormat + }; + return http.post, any>(apiUrl.createKeys, { data }); + }, + /** + * 修改秘钥 + * @param data 表单内容 + */ + updateKeys(data: object): Promise> { + return http.post, any>(apiUrl.updateKeys, { data }); } }; diff --git a/sop-admin/sop-admin-frontend/src/api/serveApi.ts b/sop-admin/sop-admin-frontend/src/api/serveApi.ts index e8d9d28c..5f23044b 100644 --- a/sop-admin/sop-admin-frontend/src/api/serveApi.ts +++ b/sop-admin/sop-admin-frontend/src/api/serveApi.ts @@ -26,27 +26,27 @@ export const api: any = { * @param data 表单内容 */ add(data: object) { - return http.post(apiUrl.add, { data }); + return http.post, any>(apiUrl.add, { data }); }, /** * 修改 * @param data 表单内容 */ update(data: object) { - return http.post(apiUrl.update, { data }); + return http.post, any>(apiUrl.update, { data }); }, /** * 删除 * @param data 表单内容 */ del(data: object) { - return http.post(apiUrl.del, { data }); + return http.post, any>(apiUrl.del, { data }); }, /** * 修改状态 * @param data 表单内容 */ updateStatus(data: object) { - return http.post(apiUrl.updateStatus, { data }); + return http.post, any>(apiUrl.updateStatus, { data }); } }; diff --git a/sop-admin/sop-admin-frontend/src/api/sysAdminUser.ts b/sop-admin/sop-admin-frontend/src/api/sysAdminUser.ts index 6d91f314..9b22c1c4 100644 --- a/sop-admin/sop-admin-frontend/src/api/sysAdminUser.ts +++ b/sop-admin/sop-admin-frontend/src/api/sysAdminUser.ts @@ -25,20 +25,20 @@ export const api: any = { * @param data 表单内容 */ add(data: object) { - return http.post(apiUrl.add, { data }); + return http.post, any>(apiUrl.add, { data }); }, /** * 修改 * @param data 表单内容 */ update(data: object) { - return http.post(apiUrl.update, { data }); + return http.post, any>(apiUrl.update, { data }); }, /** * 删除 * @param data 表单内容 */ del(data: object) { - return http.post(apiUrl.del, { data }); + return http.post, any>(apiUrl.del, { data }); } }; diff --git a/sop-admin/sop-admin-frontend/src/model/enums/index.ts b/sop-admin/sop-admin-frontend/src/model/enums/index.ts index 36acdbf1..c2466c8f 100644 --- a/sop-admin/sop-admin-frontend/src/model/enums/index.ts +++ b/sop-admin/sop-admin-frontend/src/model/enums/index.ts @@ -1,3 +1,8 @@ +export enum YesOrNoEnum { + NO = 0, + YES = 1 +} + export enum StatusEnum { ENABLE = 1, DISABLE = 2 @@ -7,3 +12,8 @@ export enum KeyFormatEnum { PKCS8 = 1, PKCS1 = 2 } + +export enum RegSource { + SYS = 1, + CUSTOM = 2 +} diff --git a/sop-admin/sop-admin-frontend/src/model/index.ts b/sop-admin/sop-admin-frontend/src/model/index.ts index 87c38cb1..61f5980f 100644 --- a/sop-admin/sop-admin-frontend/src/model/index.ts +++ b/sop-admin/sop-admin-frontend/src/model/index.ts @@ -1,6 +1,6 @@ -export interface Result { +export interface Result { success: boolean; - data: object; + data: T; msg: ""; code: ""; } diff --git a/sop-admin/sop-admin-frontend/src/style/index.scss b/sop-admin/sop-admin-frontend/src/style/index.scss index d267d389..f111071d 100644 --- a/sop-admin/sop-admin-frontend/src/style/index.scss +++ b/sop-admin/sop-admin-frontend/src/style/index.scss @@ -24,3 +24,14 @@ .html-weakness { filter: invert(80%); } + +.grow { + .el-card { + --el-card-padding: 18px !important; + border: 0 !important; + border-radius: 0; + } + .main-content { + margin: 0 !important; + } +} diff --git a/sop-admin/sop-admin-frontend/src/utils/http/index.ts b/sop-admin/sop-admin-frontend/src/utils/http/index.ts index 41d37e20..e516736c 100644 --- a/sop-admin/sop-admin-frontend/src/utils/http/index.ts +++ b/sop-admin/sop-admin-frontend/src/utils/http/index.ts @@ -16,6 +16,9 @@ import { useUserStoreHook } from "@/store/modules/user"; import { ElMessage } from "element-plus"; export const baseUrl = (url: string) => { + if (!url) { + throw new Error("url不能为空"); + } if (url.startsWith("/")) { url = url.substring(1); } diff --git a/sop-admin/sop-admin-frontend/src/views/admin/user/index.vue b/sop-admin/sop-admin-frontend/src/views/admin/user/index.vue index 86fbcddb..624b8652 100644 --- a/sop-admin/sop-admin-frontend/src/views/admin/user/index.vue +++ b/sop-admin/sop-admin-frontend/src/views/admin/user/index.vue @@ -56,6 +56,7 @@ import { labelWidth: '100px', labelPosition: 'right' }" + :hasErrorTip="false" @confirm="handleSave" /> diff --git a/sop-admin/sop-admin-frontend/src/views/isv/list/index.ts b/sop-admin/sop-admin-frontend/src/views/isv/list/index.ts index 39c2dcc0..90f0b01d 100644 --- a/sop-admin/sop-admin-frontend/src/views/isv/list/index.ts +++ b/sop-admin/sop-admin-frontend/src/views/isv/list/index.ts @@ -282,7 +282,7 @@ export const handlePaginationChange = (_pageInfo: PageInfo): void => { }; // 查询 -const search = async () => { +export const search = async () => { try { const { data } = await doSearch(); tableData.value = data.list; diff --git a/sop-admin/sop-admin-frontend/src/views/isv/list/index.vue b/sop-admin/sop-admin-frontend/src/views/isv/list/index.vue index abdccfe1..19fb0c41 100644 --- a/sop-admin/sop-admin-frontend/src/views/isv/list/index.vue +++ b/sop-admin/sop-admin-frontend/src/views/isv/list/index.vue @@ -25,8 +25,14 @@ import { } from "./showKeys"; import { dlgKeysSetting, + handleUpdateKeys, + resetIsvKeys, + resetPlatformKeys, + restIsvKeysLoading, + resetPlatformKeysLoading, settingKeysFormColumns, - settingKeysFormData + settingKeysFormData, + settingKeysFormRules } from "@/views/isv/list/isvKeys";