diff --git a/jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/openapi/controller/OpenApiController.java b/jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/openapi/controller/OpenApiController.java index 7bbc9b8e7..2a64505d0 100644 --- a/jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/openapi/controller/OpenApiController.java +++ b/jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/openapi/controller/OpenApiController.java @@ -1,5 +1,6 @@ package org.jeecg.modules.openapi.controller; +import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; @@ -16,8 +17,6 @@ import org.jeecg.modules.openapi.entity.OpenApiHeader; import org.jeecg.modules.openapi.entity.OpenApiParam; import org.jeecg.modules.openapi.generator.PathGenerator; import org.jeecg.modules.openapi.service.OpenApiAuthService; -import org.jeecg.modules.openapi.service.OpenApiHeaderService; -import org.jeecg.modules.openapi.service.OpenApiParamService; import org.jeecg.modules.openapi.service.OpenApiService; import org.jeecg.modules.openapi.swagger.*; import org.jeecg.modules.system.entity.SysUser; @@ -26,7 +25,6 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpEntity; import org.springframework.http.HttpHeaders; import org.springframework.http.HttpMethod; -import org.springframework.util.CollectionUtils; import org.springframework.util.StringUtils; import org.springframework.web.bind.annotation.*; import org.springframework.web.client.RestTemplate; @@ -44,10 +42,6 @@ public class OpenApiController extends JeecgController @Autowired private RestTemplate restTemplate; @Autowired - private OpenApiParamService openApiParamService; - @Autowired - private OpenApiHeaderService openApiHeaderService; - @Autowired private ISysUserService sysUserService; @Autowired private OpenApiAuthService openApiAuthService; @@ -67,10 +61,6 @@ public class OpenApiController extends JeecgController QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(openApi, req.getParameterMap()); Page page = new Page<>(pageNo, pageSize); IPage pageList = service.page(page, queryWrapper); - for (OpenApi api : pageList.getRecords()) { - api.setParams(openApiParamService.findByApiId(api.getId())); - api.setHeaders(openApiHeaderService.findByApiId(api.getId())); - } return Result.ok(pageList); } @@ -82,16 +72,7 @@ public class OpenApiController extends JeecgController */ @PostMapping(value = "/add") public Result add(@RequestBody OpenApi openApi) { - if (service.save(openApi)) { - if (!CollectionUtils.isEmpty(openApi.getHeaders())) { - openApiHeaderService.saveBatch(openApi.getHeaders()); - } - - if (!CollectionUtils.isEmpty(openApi.getParams())) { - openApiParamService.saveBatch(openApi.getParams()); - } - } - + service.save(openApi); return Result.ok("添加成功!"); } @@ -103,18 +84,7 @@ public class OpenApiController extends JeecgController */ @PutMapping(value = "/edit") public Result edit(@RequestBody OpenApi openApi) { - if (service.updateById(openApi)) { - openApiHeaderService.deleteByApiId(openApi.getId()); - openApiParamService.deleteByApiId(openApi.getId()); - - if (!CollectionUtils.isEmpty(openApi.getHeaders())) { - openApiHeaderService.saveBatch(openApi.getHeaders()); - } - - if (!CollectionUtils.isEmpty(openApi.getParams())) { - openApiParamService.saveBatch(openApi.getParams()); - } - } + service.updateById(openApi); return Result.ok("修改成功!"); } @@ -170,8 +140,7 @@ public class OpenApiController extends JeecgController result.put("data", null); return Result.error("失败", result); } - List headers = openApiHeaderService.findByApiId(openApi.getId()); - + List headers = JSON.parseArray(openApi.getHeadersJson(),OpenApiHeader.class); String url = openApi.getOriginUrl(); String method = openApi.getRequestMethod(); @@ -179,7 +148,6 @@ public class OpenApiController extends JeecgController for (OpenApiHeader header : headers) { httpHeaders.put(header.getHeaderKey(), Lists.newArrayList(request.getHeader(header.getHeaderKey()))); } - String appkey = request.getHeader("appkey"); OpenApiAuth openApiAuth = openApiAuthService.getByAppkey(appkey); SysUser systemUser = sysUserService.getById(openApiAuth.getSystemUserId()); @@ -230,13 +198,16 @@ public class OpenApiController extends JeecgController definition.setType("object"); Map definitionProperties = new HashMap<>(); definition.setProperties(definitionProperties); - - JSONObject jsonObject = JSONObject.parseObject(openApi.getBody()); - for (Map.Entry properties : jsonObject.entrySet()) { - SwaggerDefinitionProperties swaggerDefinitionProperties = new SwaggerDefinitionProperties(); - swaggerDefinitionProperties.setType("string"); - swaggerDefinitionProperties.setDescription(properties.getValue()+""); - definitionProperties.put(properties.getKey(), swaggerDefinitionProperties); + if (openApi.getBody()!=null){ + JSONObject jsonObject = JSONObject.parseObject(openApi.getBody()); + if (jsonObject.size()>0){ + for (Map.Entry properties : jsonObject.entrySet()) { + SwaggerDefinitionProperties swaggerDefinitionProperties = new SwaggerDefinitionProperties(); + swaggerDefinitionProperties.setType("string"); + swaggerDefinitionProperties.setDescription(properties.getValue()+""); + definitionProperties.put(properties.getKey(), swaggerDefinitionProperties); + } + } } // body的definition构建完成 definitions.put(openApi.getRequestUrl()+"Using"+openApi.getRequestMethod()+"body", definition); @@ -327,25 +298,28 @@ public class OpenApiController extends JeecgController private void parameters(SwaggerOperation operation, OpenApi openApi) { List parameters = new ArrayList<>(); - - for (OpenApiParam openApiParam : openApiParamService.findByApiId(openApi.getId())) { - SwaggerOperationParameter parameter = new SwaggerOperationParameter(); - parameter.setIn("path"); - parameter.setName(openApiParam.getParamKey()); - parameter.setRequired(openApiParam.getRequired() == 1); - parameter.setDescription(openApiParam.getNote()); - parameters.add(parameter); + if (openApi.getParamsJson()!=null) { + List openApiParams = JSON.parseArray(openApi.getParamsJson(), OpenApiParam.class); + for (OpenApiParam openApiParam : openApiParams) { + SwaggerOperationParameter parameter = new SwaggerOperationParameter(); + parameter.setIn("path"); + parameter.setName(openApiParam.getParamKey()); + parameter.setRequired(openApiParam.getRequired() == 1); + parameter.setDescription(openApiParam.getNote()); + parameters.add(parameter); + } } - - for (OpenApiHeader openApiHeader : openApiHeaderService.findByApiId(openApi.getId())) { - SwaggerOperationParameter parameter = new SwaggerOperationParameter(); - parameter.setIn("header"); - parameter.setName(openApiHeader.getHeaderKey()); - parameter.setRequired(openApiHeader.getRequired() == 1); - parameter.setDescription(openApiHeader.getNote()); - parameters.add(parameter); + if (openApi.getHeadersJson()!=null) { + List openApiHeaders = JSON.parseArray(openApi.getHeadersJson(), OpenApiHeader.class); + for (OpenApiHeader openApiHeader : openApiHeaders) { + SwaggerOperationParameter parameter = new SwaggerOperationParameter(); + parameter.setIn("header"); + parameter.setName(openApiHeader.getHeaderKey()); + parameter.setRequired(openApiHeader.getRequired() == 1); + parameter.setDescription(openApiHeader.getNote()); + parameters.add(parameter); + } } - operation.setParameters(parameters); } diff --git a/jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/openapi/controller/OpenApiRecordController.java b/jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/openapi/controller/OpenApiLogController.java similarity index 66% rename from jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/openapi/controller/OpenApiRecordController.java rename to jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/openapi/controller/OpenApiLogController.java index 72a8732ca..8fb495532 100644 --- a/jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/openapi/controller/OpenApiRecordController.java +++ b/jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/openapi/controller/OpenApiLogController.java @@ -6,8 +6,8 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import org.jeecg.common.api.vo.Result; import org.jeecg.common.system.base.controller.JeecgController; import org.jeecg.common.system.query.QueryGenerator; -import org.jeecg.modules.openapi.entity.OpenApiRecord; -import org.jeecg.modules.openapi.service.OpenApiRecordService; +import org.jeecg.modules.openapi.entity.OpenApiLog; +import org.jeecg.modules.openapi.service.OpenApiLogService; import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletRequest; @@ -18,47 +18,47 @@ import java.util.Arrays; */ @RestController @RequestMapping("/openapi/record") -public class OpenApiRecordController extends JeecgController { +public class OpenApiLogController extends JeecgController { /** * 分页列表查询 * - * @param openApiRecord + * @param OpenApiLog * @param pageNo * @param pageSize * @param req * @return */ @GetMapping(value = "/list") - public Result queryPageList(OpenApiRecord openApiRecord, @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, + public Result queryPageList(OpenApiLog OpenApiLog, @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, HttpServletRequest req) { - QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(openApiRecord, req.getParameterMap()); - Page page = new Page<>(pageNo, pageSize); - IPage pageList = service.page(page, queryWrapper); + QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(OpenApiLog, req.getParameterMap()); + Page page = new Page<>(pageNo, pageSize); + IPage pageList = service.page(page, queryWrapper); return Result.ok(pageList); } /** * 添加 * - * @param openApiRecord + * @param OpenApiLog * @return */ @PostMapping(value = "/add") - public Result add(@RequestBody OpenApiRecord openApiRecord) { - service.save(openApiRecord); + public Result add(@RequestBody OpenApiLog OpenApiLog) { + service.save(OpenApiLog); return Result.ok("添加成功!"); } /** * 编辑 * - * @param openApiRecord + * @param OpenApiLog * @return */ @PutMapping(value = "/edit") - public Result edit(@RequestBody OpenApiRecord openApiRecord) { - service.updateById(openApiRecord); + public Result edit(@RequestBody OpenApiLog OpenApiLog) { + service.updateById(OpenApiLog); return Result.ok("修改成功!"); } @@ -96,7 +96,7 @@ public class OpenApiRecordController extends JeecgController queryById(@RequestParam(name = "id", required = true) String id) { - OpenApiRecord openApiRecord = service.getById(id); - return Result.ok(openApiRecord); + OpenApiLog OpenApiLog = service.getById(id); + return Result.ok(OpenApiLog); } } diff --git a/jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/openapi/controller/OpenApiPermissionController.java b/jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/openapi/controller/OpenApiPermissionController.java index 727a8d0f5..6d3324dfa 100644 --- a/jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/openapi/controller/OpenApiPermissionController.java +++ b/jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/openapi/controller/OpenApiPermissionController.java @@ -1,13 +1,15 @@ package org.jeecg.modules.openapi.controller; +import cn.hutool.core.collection.CollectionUtil; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; import org.jeecg.common.api.vo.Result; import org.jeecg.common.system.base.controller.JeecgController; import org.jeecg.modules.openapi.entity.OpenApiPermission; import org.jeecg.modules.openapi.service.OpenApiPermissionService; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; + +import java.util.Arrays; +import java.util.List; @RestController @RequestMapping("/openapi/permission") @@ -15,6 +17,19 @@ public class OpenApiPermissionController extends JeecgController list = Arrays.asList(openApiPermission.getApiId().split(",")); + if (CollectionUtil.isNotEmpty(list)) { + list.forEach(l->{ + OpenApiPermission saveApiPermission = new OpenApiPermission(); + saveApiPermission.setApiId(l); + saveApiPermission.setApiAuthId(openApiPermission.getApiAuthId()); + service.save(saveApiPermission); + }); + } + return Result.ok("保存成功"); + } + @GetMapping("/list") + public Result list( String apiAuthId) { + return Result.ok(service.list(Wrappers.lambdaQuery().eq(OpenApiPermission::getApiAuthId,apiAuthId))); } } diff --git a/jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/openapi/entity/OpenApi.java b/jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/openapi/entity/OpenApi.java index 4eeebe964..5913ccfad 100644 --- a/jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/openapi/entity/OpenApi.java +++ b/jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/openapi/entity/OpenApi.java @@ -47,18 +47,15 @@ public class OpenApi implements Serializable { * IP 黑名单 */ private String blackList; - /** - * 请求头列表 + * 请求头json */ - @TableField(exist = false) - private List headers; - + private String headersJson; /** - * 请求参数列表 + * 请求参数json */ - @TableField(exist = false) - private List params; + private String paramsJson; + /** * 目前仅支持json diff --git a/jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/openapi/entity/OpenApiAuth.java b/jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/openapi/entity/OpenApiAuth.java index 15a7c9a09..c95963adb 100644 --- a/jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/openapi/entity/OpenApiAuth.java +++ b/jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/openapi/entity/OpenApiAuth.java @@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.annotation.TableId; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.experimental.Accessors; +import org.jeecg.common.aspect.annotation.Dict; import java.io.Serializable; import java.util.Date; @@ -44,6 +45,7 @@ public class OpenApiAuth implements Serializable { /** * 系统用户ID */ + @Dict(dictTable = "sys_user",dicCode = "id",dicText = "username") private String systemUserId; /** diff --git a/jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/openapi/entity/OpenApiHeader.java b/jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/openapi/entity/OpenApiHeader.java index 92393e54f..de4067bc2 100644 --- a/jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/openapi/entity/OpenApiHeader.java +++ b/jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/openapi/entity/OpenApiHeader.java @@ -18,16 +18,6 @@ import java.io.Serializable; public class OpenApiHeader implements Serializable { private static final long serialVersionUID = 5032708503120184683L; - /** - * id - */ - @TableId(type = IdType.ASSIGN_ID) - private String id; - - /** - * 接口ID - */ - private String apiId; /** * key diff --git a/jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/openapi/entity/OpenApiRecord.java b/jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/openapi/entity/OpenApiLog.java similarity index 94% rename from jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/openapi/entity/OpenApiRecord.java rename to jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/openapi/entity/OpenApiLog.java index 6cfc59b68..80d2c2607 100644 --- a/jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/openapi/entity/OpenApiRecord.java +++ b/jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/openapi/entity/OpenApiLog.java @@ -16,7 +16,7 @@ import java.util.Date; @Data @EqualsAndHashCode(callSuper = false) @Accessors(chain = true) -public class OpenApiRecord implements Serializable { +public class OpenApiLog implements Serializable { private static final long serialVersionUID = -5870384488947863579L; /** diff --git a/jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/openapi/entity/OpenApiParam.java b/jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/openapi/entity/OpenApiParam.java index d2839602e..202a07a13 100644 --- a/jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/openapi/entity/OpenApiParam.java +++ b/jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/openapi/entity/OpenApiParam.java @@ -17,16 +17,6 @@ import java.io.Serializable; @Accessors(chain = true) public class OpenApiParam implements Serializable { private static final long serialVersionUID = -6174831468578022357L; - /** - * id - */ - @TableId(type = IdType.ASSIGN_ID) - private String id; - - /** - * 接口ID - */ - private String apiId; /** * key diff --git a/jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/openapi/filter/ApiAuthFilter.java b/jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/openapi/filter/ApiAuthFilter.java index 88d65e364..6755843ae 100644 --- a/jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/openapi/filter/ApiAuthFilter.java +++ b/jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/openapi/filter/ApiAuthFilter.java @@ -4,11 +4,11 @@ import lombok.extern.slf4j.Slf4j; import org.jeecg.common.exception.JeecgBootException; import org.jeecg.modules.openapi.entity.OpenApi; import org.jeecg.modules.openapi.entity.OpenApiAuth; +import org.jeecg.modules.openapi.entity.OpenApiLog; import org.jeecg.modules.openapi.entity.OpenApiPermission; -import org.jeecg.modules.openapi.entity.OpenApiRecord; import org.jeecg.modules.openapi.service.OpenApiAuthService; +import org.jeecg.modules.openapi.service.OpenApiLogService; import org.jeecg.modules.openapi.service.OpenApiPermissionService; -import org.jeecg.modules.openapi.service.OpenApiRecordService; import org.jeecg.modules.openapi.service.OpenApiService; import org.springframework.util.StringUtils; import org.springframework.web.context.WebApplicationContext; @@ -27,7 +27,7 @@ import java.util.List; @Slf4j public class ApiAuthFilter implements Filter { - private OpenApiRecordService openApiRecordService; + private OpenApiLogService openApiLogService; private OpenApiAuthService openApiAuthService; private OpenApiPermissionService openApiPermissionService; private OpenApiService openApiService; @@ -61,13 +61,13 @@ public class ApiAuthFilter implements Filter { filterChain.doFilter(servletRequest, servletResponse); long endTime = System.currentTimeMillis(); - OpenApiRecord record = new OpenApiRecord(); - record.setApiId(openApi.getId()); - record.setCallAuthId(openApiAuth.getId()); - record.setCallTime(callTime); - record.setUsedTime(endTime - startTime); - record.setResponseTime(new Date()); - openApiRecordService.save(record); + OpenApiLog openApiLog = new OpenApiLog(); + openApiLog.setApiId(openApi.getId()); + openApiLog.setCallAuthId(openApiAuth.getId()); + openApiLog.setCallTime(callTime); + openApiLog.setUsedTime(endTime - startTime); + openApiLog.setResponseTime(new Date()); + openApiLogService.save(openApiLog); } @Override @@ -75,7 +75,7 @@ public class ApiAuthFilter implements Filter { ServletContext servletContext = filterConfig.getServletContext(); WebApplicationContext applicationContext = (WebApplicationContext)servletContext.getAttribute(WebApplicationContext.ROOT_WEB_APPLICATION_CONTEXT_ATTRIBUTE); this.openApiService = applicationContext.getBean(OpenApiService.class); - this.openApiRecordService = applicationContext.getBean(OpenApiRecordService.class); + this.openApiLogService = applicationContext.getBean(OpenApiLogService.class); this.openApiAuthService = applicationContext.getBean(OpenApiAuthService.class); this.openApiPermissionService = applicationContext.getBean(OpenApiPermissionService.class); } diff --git a/jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/openapi/mapper/OpenApiHeaderMapper.java b/jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/openapi/mapper/OpenApiHeaderMapper.java deleted file mode 100644 index 3a1edddad..000000000 --- a/jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/openapi/mapper/OpenApiHeaderMapper.java +++ /dev/null @@ -1,12 +0,0 @@ -package org.jeecg.modules.openapi.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import org.apache.ibatis.annotations.Mapper; -import org.jeecg.modules.openapi.entity.OpenApiHeader; - -/** - * @date 2024/12/10 14:47 - */ -@Mapper -public interface OpenApiHeaderMapper extends BaseMapper { -} diff --git a/jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/openapi/mapper/OpenApiRecordMapper.java b/jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/openapi/mapper/OpenApiLogMapper.java similarity index 59% rename from jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/openapi/mapper/OpenApiRecordMapper.java rename to jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/openapi/mapper/OpenApiLogMapper.java index 0e72128f1..8035085e0 100644 --- a/jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/openapi/mapper/OpenApiRecordMapper.java +++ b/jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/openapi/mapper/OpenApiLogMapper.java @@ -2,11 +2,11 @@ package org.jeecg.modules.openapi.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Mapper; -import org.jeecg.modules.openapi.entity.OpenApiRecord; +import org.jeecg.modules.openapi.entity.OpenApiLog; /** * @date 2024/12/10 9:50 */ @Mapper -public interface OpenApiRecordMapper extends BaseMapper { +public interface OpenApiLogMapper extends BaseMapper { } diff --git a/jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/openapi/mapper/OpenApiParamMapper.java b/jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/openapi/mapper/OpenApiParamMapper.java deleted file mode 100644 index a993e379b..000000000 --- a/jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/openapi/mapper/OpenApiParamMapper.java +++ /dev/null @@ -1,12 +0,0 @@ -package org.jeecg.modules.openapi.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import org.apache.ibatis.annotations.Mapper; -import org.jeecg.modules.openapi.entity.OpenApiParam; - -/** - * @date 2024/12/10 14:48 - */ -@Mapper -public interface OpenApiParamMapper extends BaseMapper { -} diff --git a/jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/openapi/service/OpenApiHeaderService.java b/jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/openapi/service/OpenApiHeaderService.java deleted file mode 100644 index 4a50ea231..000000000 --- a/jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/openapi/service/OpenApiHeaderService.java +++ /dev/null @@ -1,16 +0,0 @@ -package org.jeecg.modules.openapi.service; - -import com.baomidou.mybatisplus.extension.service.IService; -import org.jeecg.modules.openapi.entity.OpenApiHeader; - -import java.util.List; - -/** - * @date 2024/12/10 14:48 - */ -public interface OpenApiHeaderService extends IService { - - boolean deleteByApiId(String apiId); - - List findByApiId(String apiId); -} diff --git a/jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/openapi/service/OpenApiRecordService.java b/jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/openapi/service/OpenApiLogService.java similarity index 52% rename from jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/openapi/service/OpenApiRecordService.java rename to jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/openapi/service/OpenApiLogService.java index 8b4026f6c..929d5095d 100644 --- a/jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/openapi/service/OpenApiRecordService.java +++ b/jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/openapi/service/OpenApiLogService.java @@ -1,10 +1,10 @@ package org.jeecg.modules.openapi.service; import com.baomidou.mybatisplus.extension.service.IService; -import org.jeecg.modules.openapi.entity.OpenApiRecord; +import org.jeecg.modules.openapi.entity.OpenApiLog; /** * @date 2024/12/10 9:51 */ -public interface OpenApiRecordService extends IService { +public interface OpenApiLogService extends IService { } diff --git a/jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/openapi/service/OpenApiParamService.java b/jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/openapi/service/OpenApiParamService.java deleted file mode 100644 index 6a1bfbcac..000000000 --- a/jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/openapi/service/OpenApiParamService.java +++ /dev/null @@ -1,15 +0,0 @@ -package org.jeecg.modules.openapi.service; - -import com.baomidou.mybatisplus.extension.service.IService; -import org.jeecg.modules.openapi.entity.OpenApiParam; - -import java.util.List; - -/** - * @date 2024/12/10 14:49 - */ -public interface OpenApiParamService extends IService { - boolean deleteByApiId(String apiId); - - List findByApiId(String apiId); -} diff --git a/jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/openapi/service/impl/OpenApiHeaderServiceImpl.java b/jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/openapi/service/impl/OpenApiHeaderServiceImpl.java deleted file mode 100644 index d0ad6c4f5..000000000 --- a/jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/openapi/service/impl/OpenApiHeaderServiceImpl.java +++ /dev/null @@ -1,26 +0,0 @@ -package org.jeecg.modules.openapi.service.impl; - -import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import org.jeecg.modules.openapi.entity.OpenApiHeader; -import org.jeecg.modules.openapi.mapper.OpenApiHeaderMapper; -import org.jeecg.modules.openapi.service.OpenApiHeaderService; -import org.springframework.stereotype.Service; - -import java.util.List; - -/** - * @date 2024/12/10 14:49 - */ -@Service -public class OpenApiHeaderServiceImpl extends ServiceImpl implements OpenApiHeaderService { - @Override - public boolean deleteByApiId(String apiId) { - return baseMapper.delete(Wrappers.lambdaUpdate(OpenApiHeader.class).eq(OpenApiHeader::getApiId, apiId)) > 0; - } - - @Override - public List findByApiId(String apiId) { - return baseMapper.selectList(Wrappers.lambdaQuery(OpenApiHeader.class).eq(OpenApiHeader::getApiId, apiId)); - } -} diff --git a/jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/openapi/service/impl/OpenApiLogServiceImpl.java b/jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/openapi/service/impl/OpenApiLogServiceImpl.java new file mode 100644 index 000000000..c723b7fcd --- /dev/null +++ b/jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/openapi/service/impl/OpenApiLogServiceImpl.java @@ -0,0 +1,14 @@ +package org.jeecg.modules.openapi.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.jeecg.modules.openapi.entity.OpenApiLog; +import org.jeecg.modules.openapi.mapper.OpenApiLogMapper; +import org.jeecg.modules.openapi.service.OpenApiLogService; +import org.springframework.stereotype.Service; + +/** + * @date 2024/12/10 9:53 + */ +@Service +public class OpenApiLogServiceImpl extends ServiceImpl implements OpenApiLogService { +} diff --git a/jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/openapi/service/impl/OpenApiParamServiceImpl.java b/jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/openapi/service/impl/OpenApiParamServiceImpl.java deleted file mode 100644 index 49daa6ab1..000000000 --- a/jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/openapi/service/impl/OpenApiParamServiceImpl.java +++ /dev/null @@ -1,27 +0,0 @@ -package org.jeecg.modules.openapi.service.impl; - -import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import org.jeecg.modules.openapi.entity.OpenApiParam; -import org.jeecg.modules.openapi.mapper.OpenApiParamMapper; -import org.jeecg.modules.openapi.service.OpenApiParamService; -import org.springframework.stereotype.Service; - -import java.util.List; - -/** - * @date 2024/12/10 14:50 - */ -@Service -public class OpenApiParamServiceImpl extends ServiceImpl implements OpenApiParamService { - @Override - public boolean deleteByApiId(String apiId) { - return baseMapper.delete(Wrappers.lambdaUpdate(OpenApiParam.class).eq(OpenApiParam::getApiId, apiId)) > 0; - - } - - @Override - public List findByApiId(String apiId) { - return baseMapper.selectList(Wrappers.lambdaQuery(OpenApiParam.class).eq(OpenApiParam::getApiId, apiId)); - } -} diff --git a/jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/openapi/service/impl/OpenApiRecordServiceImpl.java b/jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/openapi/service/impl/OpenApiRecordServiceImpl.java deleted file mode 100644 index 017794cf5..000000000 --- a/jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/openapi/service/impl/OpenApiRecordServiceImpl.java +++ /dev/null @@ -1,14 +0,0 @@ -package org.jeecg.modules.openapi.service.impl; - -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import org.jeecg.modules.openapi.entity.OpenApiRecord; -import org.jeecg.modules.openapi.mapper.OpenApiRecordMapper; -import org.jeecg.modules.openapi.service.OpenApiRecordService; -import org.springframework.stereotype.Service; - -/** - * @date 2024/12/10 9:53 - */ -@Service -public class OpenApiRecordServiceImpl extends ServiceImpl implements OpenApiRecordService { -} diff --git a/jeecgboot-vue3/package.json b/jeecgboot-vue3/package.json index fcc001c1b..051e694b0 100644 --- a/jeecgboot-vue3/package.json +++ b/jeecgboot-vue3/package.json @@ -66,6 +66,7 @@ "resize-observer-polyfill": "^1.5.1", "showdown": "^2.1.0", "sortablejs": "^1.15.6", + "swagger-ui-dist": "^5.21.0", "tinymce": "6.6.2", "vditor": "^3.10.8", "vue": "^3.5.13", diff --git a/jeecgboot-vue3/src/views/openapi/OpenApi.api.ts b/jeecgboot-vue3/src/views/openapi/OpenApi.api.ts new file mode 100644 index 000000000..32c5f368c --- /dev/null +++ b/jeecgboot-vue3/src/views/openapi/OpenApi.api.ts @@ -0,0 +1,118 @@ +import {defHttp} from '/@/utils/http/axios'; +import { useMessage } from "/@/hooks/web/useMessage"; + +const { createConfirm } = useMessage(); + +enum Api { + list = '/openapi/list', + save='/openapi/add', + edit='/openapi/edit', + deleteOne = '/openapi/delete', + deleteBatch = '/openapi/deleteBatch', + genPath = '/openapi/genPath', + importExcel = '/openapi/importExcel', + exportXls = '/openapi/exportXls', + openApiHeaderList = '/openapi/list', + openApiParamList = '/openapi/list', + openApiJson = '/openapi/json', +} + +/** + * 子表单查询接口 + * @param params + */ +export const genPath = Api.genPath +/** + * swagger文档json + * @param params + */ +export const openApiJson = Api.openApiJson +/** + * 导出api + * @param params + */ +export const getExportUrl = Api.exportXls; + +/** + * 导入api + */ +export const getImportUrl = Api.importExcel; +/** + * 子表单查询接口 + * @param params + */ +export const queryOpenApiHeader = Api.openApiHeaderList +/** + * 子表单查询接口 + * @param params + */ +export const queryOpenApiParam = Api.openApiParamList + +/** + * 列表接口 + * @param params + */ +export const list = (params) => + defHttp.get({url: Api.list, params}); + +/** + * 删除单个 + */ +export const deleteOne = (params,handleSuccess) => { + return defHttp.delete({url: Api.deleteOne, params}, {joinParamsToUrl: true}).then(() => { + handleSuccess(); + }); +} +/** + * 批量删除 + * @param params + */ +export const batchDelete = (params, handleSuccess) => { + createConfirm({ + iconType: 'warning', + title: '确认删除', + content: '是否删除选中数据', + okText: '确认', + cancelText: '取消', + onOk: () => { + return defHttp.delete({url: Api.deleteBatch, data: params}, {joinParamsToUrl: true}).then(() => { + handleSuccess(); + }); + } + }); +} +/** + * 保存或者更新 + * @param params + */ +export const saveOrUpdate = (params, isUpdate) => { + if (isUpdate) { + return defHttp.put({url: Api.edit, params}); + } else { + return defHttp.post({url: Api.save, params}); + } +} +/** + * 获取接口地址 + * @param params + */ +export const getGenPath = (params) => + defHttp.get({url: Api.genPath, params},{isTransformResponse:false}); +/** + * 子表列表接口 + * @param params + */ +export const openApiHeaderList = (params) => + defHttp.get({url: Api.openApiHeaderList, params},{isTransformResponse:false}); +/** + * 子表列表接口 + * @param params + */ +export const openApiParamList = (params) => + defHttp.get({url: Api.openApiParamList, params},{isTransformResponse:false}); +/** + * swagger文档json + * @param params + */ +export const getOpenApiJson = (params) => + defHttp.get({url: Api.openApiJson, params},{isTransformResponse:false}); diff --git a/jeecgboot-vue3/src/views/openapi/OpenApi.data.ts b/jeecgboot-vue3/src/views/openapi/OpenApi.data.ts new file mode 100644 index 000000000..f09a018a7 --- /dev/null +++ b/jeecgboot-vue3/src/views/openapi/OpenApi.data.ts @@ -0,0 +1,347 @@ +import {BasicColumn} from '/@/components/Table'; +import {FormSchema} from '/@/components/Table'; +import { rules} from '/@/utils/helper/validator'; +import { render } from '/@/utils/common/renderUtils'; +import {JVxeTypes,JVxeColumn} from '/@/components/jeecg/JVxeTable/types' +import { getWeekMonthQuarterYear } from '/@/utils'; +//列表数据 +export const columns: BasicColumn[] = [ + { + title: '接口名称', + align:"center", + dataIndex: 'name' + }, + { + title: '请求方法', + align:"center", + dataIndex: 'requestMethod' + }, + { + title: '接口地址', + align:"center", + dataIndex: 'requestUrl' + }, + { + title: 'IP 黑名单', + align:"center", + dataIndex: 'blackList' + }, + { + title: '状态', + align:"center", + dataIndex: 'status' + }, + { + title: '创建人', + align:"center", + dataIndex: 'createBy' + }, + { + title: '创建时间', + align:"center", + dataIndex: 'createTime' + }, +]; +//查询数据 +export const searchFormSchema: FormSchema[] = [ + { + label: "接口名称", + field: "name", + component: 'JInput', + }, + { + label: "创建人", + field: "createBy", + component: 'JInput', + }, +]; +//表单数据 +export const formSchema: FormSchema[] = [ + { + label: '接口名称', + field: 'name', + component: 'Input', + dynamicRules: ({model,schema}) => { + return [ + { required: true, message: '请输入接口名称!'}, + ]; + }, + }, + { + label: '请求方法', + field: 'requestMethod', + component: 'JSearchSelect', + componentProps:{ + dictOptions: [ + { + text: 'post', + value: 'post', + }, + { + text: 'get', + value: 'get', + }, + { + text: 'head', + value: 'head', + }, + { + text: 'put', + value: 'put', + }, + { + text: 'patch', + value: 'patch', + }, + { + text: 'delete', + value: 'delete', + },{ + text: 'options', + value: 'options', + },{ + text: 'trace', + value: 'trace', + }, + ] + }, + dynamicRules: ({model,schema}) => { + return [ + { required: true, message: '请输入请求方法!'}, + ]; + }, + }, + { + label: '接口地址', + field: 'requestUrl', + component: 'Input', + dynamicDisabled:true + }, + { + label: 'IP 黑名单', + field: 'blackList', + component: 'Input', + }, + { + label: '请求体内容', + component:"Input", + field: 'body' + }, + { + label: '原始地址', + field: 'originUrl', + component: 'Input', + }, + { + label: '删除标识', + field: 'delFlag', + component: 'Input', + defaultValue:0, + show:false + }, + { + label: '状态', + field: 'status', + component: 'Input', + defaultValue:"1", + show:false + }, + // TODO 主键隐藏字段,目前写死为ID + { + label: '', + field: 'id', + component: 'Input', + show: false + }, +]; +//子表单数据 +//子表列表数据 +export const openApiHeaderColumns: BasicColumn[] = [ + // { + // title: 'apiId', + // align:"center", + // dataIndex: 'apiId' + // }, + { + title: '请求头Key', + align:"center", + dataIndex: 'headerKey' + }, + { + title: '是否必填', + align:"center", + dataIndex: 'required_dictText' + }, + { + title: '默认值', + align:"center", + dataIndex: 'defaultValue' + }, + { + title: '备注', + align:"center", + dataIndex: 'note' + }, +]; +//子表列表数据 +export const openApiParamColumns: BasicColumn[] = [ + // { + // title: 'apiId', + // align:"center", + // dataIndex: 'apiId' + // }, + { + title: '参数Key', + align:"center", + dataIndex: 'paramKey' + }, + { + title: '是否必填', + align:"center", + dataIndex: 'required_dictText' + }, + { + title: '默认值', + align:"center", + dataIndex: 'defaultValue' + }, + { + title: '备注', + align:"center", + dataIndex: 'note' + }, +]; +//子表表格配置 +export const openApiHeaderJVxeColumns: JVxeColumn[] = [ + // { + // title: 'apiId', + // key: 'apiId', + // type: JVxeTypes.input, + // width:"200px", + // placeholder: '请输入${title}', + // defaultValue:'', + // }, + { + title: '请求头Key', + key: 'headerKey', + type: JVxeTypes.input, + width:"200px", + placeholder: '请输入${title}', + defaultValue:'', + }, + { + title: '是否必填', + key: 'required', + type: JVxeTypes.checkbox, + options:[], + // dictCode:"yn", + width:"100px", + placeholder: '请输入${title}', + defaultValue:'', + customValue: ['1','0'] + }, + { + title: '默认值', + key: 'defaultValue', + type: JVxeTypes.input, + width:"200px", + placeholder: '请输入${title}', + defaultValue:'', + }, + { + title: '备注', + key: 'note', + type: JVxeTypes.input, + width:"200px", + placeholder: '请输入${title}', + defaultValue:'', + }, + ] +export const openApiParamJVxeColumns: JVxeColumn[] = [ + // { + // title: 'apiId', + // key: 'apiId', + // type: JVxeTypes.input, + // width:"200px", + // placeholder: '请输入${title}', + // defaultValue:'', + // }, + { + title: '参数Key', + key: 'paramKey', + type: JVxeTypes.input, + width:"200px", + placeholder: '请输入${title}', + defaultValue:'', + }, + { + title: '是否必填', + key: 'required', + type: JVxeTypes.checkbox, + options:[], + // dictCode:"yn", + width:"100px", + placeholder: '请输入${title}', + defaultValue:'', + customValue: ['1','0'] + }, + { + title: '默认值', + key: 'defaultValue', + type: JVxeTypes.input, + width:"200px", + placeholder: '请输入${title}', + defaultValue:'', + }, + { + title: '备注', + key: 'note', + type: JVxeTypes.input, + width:"200px", + placeholder: '请输入${title}', + defaultValue:'', + }, + ] + +// 高级查询数据 +export const superQuerySchema = { + name: {title: '接口名称',order: 0,view: 'text', type: 'string',}, + requestMethod: {title: '请求方法',order: 1,view: 'list', type: 'string',dictCode: '',}, + requestUrl: {title: '接口地址',order: 2,view: 'text', type: 'string',}, + blackList: {title: 'IP 黑名单',order: 3,view: 'text', type: 'string',}, + status: {title: '状态',order: 5,view: 'number', type: 'number',}, + createBy: {title: '创建人',order: 6,view: 'text', type: 'string',}, + createTime: {title: '创建时间',order: 7,view: 'datetime', type: 'string',}, + //子表高级查询 + openApiHeader: { + title: '请求头表', + view: 'table', + fields: { + // apiId: {title: 'apiId',order: 0,view: 'text', type: 'string',}, + headerKey: {title: '请求头Key',order: 1,view: 'text', type: 'string',}, + required: {title: '是否必填',order: 2,view: 'number', type: 'number',dictCode: 'yn',}, + defaultValue: {title: '默认值',order: 3,view: 'text', type: 'string',}, + note: {title: '备注',order: 4,view: 'text', type: 'string',}, + } + }, + openApiParam: { + title: '请求参数部分', + view: 'table', + fields: { + // apiId: {title: 'apiId',order: 0,view: 'text', type: 'string',}, + paramKey: {title: '参数Key',order: 1,view: 'text', type: 'string',}, + required: {title: '是否必填',order: 2,view: 'number', type: 'number',dictCode: 'yn',}, + defaultValue: {title: '默认值',order: 3,view: 'text', type: 'string',}, + note: {title: '备注',order: 4,view: 'text', type: 'string',}, + } + }, +}; + +/** +* 流程表单调用这个方法获取formSchema +* @param param +*/ +export function getBpmFormSchema(_formData): FormSchema[]{ + // 默认和原始表单保持一致 如果流程中配置了权限数据,这里需要单独处理formSchema + return formSchema; +} diff --git a/jeecgboot-vue3/src/views/openapi/OpenApiAuth.api.ts b/jeecgboot-vue3/src/views/openapi/OpenApiAuth.api.ts new file mode 100644 index 000000000..2ef98bcfb --- /dev/null +++ b/jeecgboot-vue3/src/views/openapi/OpenApiAuth.api.ts @@ -0,0 +1,120 @@ +import { defHttp } from '/@/utils/http/axios'; +import { useMessage } from "/@/hooks/web/useMessage"; + +const { createConfirm } = useMessage(); + +enum Api { + list = '/openapi/auth/list', + save='/openapi/auth/add', + edit='/openapi/auth/edit', + apiList= '/openapi/list', + genAKSK = '/openapi/auth/genAKSK', + permissionList='/openapi/permission/list', + permissionAdd='/openapi/permission/add', + deleteOne = '/openapi/auth/delete', + deleteBatch = '/openapi/auth/deleteBatch', + importExcel = '/openapi/auth/importExcel', + exportXls = '/openapi/auth/exportXls', +} + +/** + * 获取API + * @param params + */ +export const apiList = Api.apiList; +/** + * 权限添加 + * @param params + */ +export const permissionAdd = Api.permissionAdd; +/** + * 生成AKSK + * @param params + */ +export const genAKSK = Api.genAKSK; + +/** + * 导出api + * @param params + */ +export const getExportUrl = Api.exportXls; + +/** + * 导入api + */ +export const getImportUrl = Api.importExcel; + +/** + * 列表接口 + * @param params + */ +export const list = (params) => defHttp.get({ url: Api.list, params }); + +/** + * 删除单个 + * @param params + * @param handleSuccess + */ +export const deleteOne = (params,handleSuccess) => { + return defHttp.delete({url: Api.deleteOne, params}, {joinParamsToUrl: true}).then(() => { + handleSuccess(); + }); +} + +/** + * 批量删除 + * @param params + * @param handleSuccess + */ +export const batchDelete = (params, handleSuccess) => { + createConfirm({ + iconType: 'warning', + title: '确认删除', + content: '是否删除选中数据', + okText: '确认', + cancelText: '取消', + onOk: () => { + return defHttp.delete({url: Api.deleteBatch, data: params}, {joinParamsToUrl: true}).then(() => { + handleSuccess(); + }); + } + }); +} + +/** + * 保存或者更新 + * @param params + * @param isUpdate + */ +export const saveOrUpdate = (params, isUpdate) => { + let url = isUpdate ? Api.edit : Api.save; + return defHttp.post({ url: url, params }, { isTransformResponse: false }); +} + +/** + * 全部权限列表接口 + * @param params + */ +export const getApiList = (params) => defHttp.get({ url: Api.apiList, params }); + +/** + * 获取已授权项目的接口 + * @param params + */ +export const getPermissionList = (params) => defHttp.get({ url: Api.permissionList, params }); +/** + * 授权保存方法 + * @param params + * @param isUpdate + */ +export const permissionAddFunction = (params) => { + return defHttp.post({ url: Api.permissionAdd, params }, { isTransformResponse: false }); +} +/** + * 授权保存方法 + * @param params + * @param isUpdate + */ +export const getGenAKSK = (params) => { + return defHttp.get({ url: Api.genAKSK, params }); +} diff --git a/jeecgboot-vue3/src/views/openapi/OpenApiAuth.data.ts b/jeecgboot-vue3/src/views/openapi/OpenApiAuth.data.ts new file mode 100644 index 000000000..558615bd0 --- /dev/null +++ b/jeecgboot-vue3/src/views/openapi/OpenApiAuth.data.ts @@ -0,0 +1,49 @@ +import {BasicColumn} from '/@/components/Table'; +import {FormSchema} from '/@/components/Table'; +import { rules} from '/@/utils/helper/validator'; +import { render } from '/@/utils/common/renderUtils'; +import { getWeekMonthQuarterYear } from '/@/utils'; +//列表数据 +export const columns: BasicColumn[] = [ + { + title: '授权名称', + align: "center", + dataIndex: 'name' + }, + { + title: 'AK', + align: "center", + dataIndex: 'ak' + }, + { + title: 'SK', + align: "center", + dataIndex: 'sk' + }, + { + title: '创建人', + align: "center", + dataIndex: 'createBy' + }, + { + title: '创建时间', + align: "center", + dataIndex: 'createTime' + }, + { + title: '关联系统用户名', + align: "center", + dataIndex: 'systemUserId_dictText', + + }, +]; + +// 高级查询数据 +export const superQuerySchema = { + name: {title: '授权名称',order: 0,view: 'text', type: 'string',}, + ak: {title: 'AK',order: 1,view: 'text', type: 'string',}, + sk: {title: 'SK',order: 2,view: 'text', type: 'string',}, + createBy: {title: '创建人',order: 3,view: 'text', type: 'string',}, + createTime: {title: '创建时间',order: 4,view: 'datetime', type: 'string',}, + systemUserId: {title: '关联系统用户名',order: 5,view: 'text', type: 'string',}, +}; diff --git a/jeecgboot-vue3/src/views/openapi/OpenApiAuthList.vue b/jeecgboot-vue3/src/views/openapi/OpenApiAuthList.vue new file mode 100644 index 000000000..ab1e70855 --- /dev/null +++ b/jeecgboot-vue3/src/views/openapi/OpenApiAuthList.vue @@ -0,0 +1,277 @@ + + + + + diff --git a/jeecgboot-vue3/src/views/openapi/OpenApiList.vue b/jeecgboot-vue3/src/views/openapi/OpenApiList.vue new file mode 100644 index 000000000..a5bb097cd --- /dev/null +++ b/jeecgboot-vue3/src/views/openapi/OpenApiList.vue @@ -0,0 +1,217 @@ + + + + + diff --git a/jeecgboot-vue3/src/views/openapi/SwaggerUI.vue b/jeecgboot-vue3/src/views/openapi/SwaggerUI.vue new file mode 100644 index 000000000..d99e2de81 --- /dev/null +++ b/jeecgboot-vue3/src/views/openapi/SwaggerUI.vue @@ -0,0 +1,36 @@ + + + + + diff --git a/jeecgboot-vue3/src/views/openapi/components/AuthForm.vue b/jeecgboot-vue3/src/views/openapi/components/AuthForm.vue new file mode 100644 index 000000000..0abd0d72a --- /dev/null +++ b/jeecgboot-vue3/src/views/openapi/components/AuthForm.vue @@ -0,0 +1,154 @@ + + + + + diff --git a/jeecgboot-vue3/src/views/openapi/components/AuthModal.vue b/jeecgboot-vue3/src/views/openapi/components/AuthModal.vue new file mode 100644 index 000000000..511aadc65 --- /dev/null +++ b/jeecgboot-vue3/src/views/openapi/components/AuthModal.vue @@ -0,0 +1,77 @@ + + + + + + diff --git a/jeecgboot-vue3/src/views/openapi/components/OpenApiAuthForm.vue b/jeecgboot-vue3/src/views/openapi/components/OpenApiAuthForm.vue new file mode 100644 index 000000000..b6fa46451 --- /dev/null +++ b/jeecgboot-vue3/src/views/openapi/components/OpenApiAuthForm.vue @@ -0,0 +1,175 @@ + + + + + diff --git a/jeecgboot-vue3/src/views/openapi/components/OpenApiAuthModal.vue b/jeecgboot-vue3/src/views/openapi/components/OpenApiAuthModal.vue new file mode 100644 index 000000000..4872ff574 --- /dev/null +++ b/jeecgboot-vue3/src/views/openapi/components/OpenApiAuthModal.vue @@ -0,0 +1,77 @@ + + + + + + diff --git a/jeecgboot-vue3/src/views/openapi/components/OpenApiModal.vue b/jeecgboot-vue3/src/views/openapi/components/OpenApiModal.vue new file mode 100644 index 000000000..389c38042 --- /dev/null +++ b/jeecgboot-vue3/src/views/openapi/components/OpenApiModal.vue @@ -0,0 +1,177 @@ + + + + + diff --git a/jeecgboot-vue3/src/views/openapi/subTables/OpenApiHeaderSubTable.vue b/jeecgboot-vue3/src/views/openapi/subTables/OpenApiHeaderSubTable.vue new file mode 100644 index 000000000..585675407 --- /dev/null +++ b/jeecgboot-vue3/src/views/openapi/subTables/OpenApiHeaderSubTable.vue @@ -0,0 +1,44 @@ + + + diff --git a/jeecgboot-vue3/src/views/openapi/subTables/OpenApiParamSubTable.vue b/jeecgboot-vue3/src/views/openapi/subTables/OpenApiParamSubTable.vue new file mode 100644 index 000000000..b7e4ad62d --- /dev/null +++ b/jeecgboot-vue3/src/views/openapi/subTables/OpenApiParamSubTable.vue @@ -0,0 +1,44 @@ + + +