From df5765a46193415287550fd2b730384279d1f367 Mon Sep 17 00:00:00 2001 From: 15003752739 Date: Sun, 31 May 2026 17:57:25 +0800 Subject: [PATCH] =?UTF-8?q?feat(biz):=20=E6=96=B0=E5=A2=9E=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3=E5=B9=B3=E5=8F=B0=E5=92=8C=E6=8E=A5=E5=8F=A3=E5=AE=9A?= =?UTF-8?q?=E4=B9=89=E7=AE=A1=E7=90=86=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 添加平台管理API接口,支持平台的增删改查和状态切换 - 添加接口定义管理API接口,支持接口的增删改查和完整URL构建 - 实现平台管理页面,包含表单验证、数据列表展示和操作功能 - 实现接口定义管理页面,支持平台选择、URI拼接和积分配置 - 创建平台和定义相关的数据类型定义文件 - 集成权限控制和字典数据绑定功能 --- src/api/biz/definition/index.ts | 41 ++++ src/api/biz/definition/types.ts | 39 +++ src/api/biz/platform/index.ts | 63 +++++ src/api/biz/platform/types.ts | 42 ++++ src/views/biz/apiDefinition/index.vue | 332 ++++++++++++++++++++++++++ src/views/biz/platform/index.vue | 291 ++++++++++++++++++++++ 6 files changed, 808 insertions(+) create mode 100644 src/api/biz/definition/index.ts create mode 100644 src/api/biz/definition/types.ts create mode 100644 src/api/biz/platform/index.ts create mode 100644 src/api/biz/platform/types.ts create mode 100644 src/views/biz/apiDefinition/index.vue create mode 100644 src/views/biz/platform/index.vue diff --git a/src/api/biz/definition/index.ts b/src/api/biz/definition/index.ts new file mode 100644 index 00000000..7e06be18 --- /dev/null +++ b/src/api/biz/definition/index.ts @@ -0,0 +1,41 @@ +import request from '@/utils/request'; +import { AxiosPromise } from 'axios'; +import { DefinitionForm, DefinitionQuery, DefinitionVO } from '@/api/biz/definition/types'; + +export function listDefinition(query?: DefinitionQuery): AxiosPromise { + return request({ + url: '/biz/definition/list', + method: 'get', + params: query + }); +} + +export function getDefinition(apiId: string | number): AxiosPromise { + return request({ + url: '/biz/definition/' + apiId, + method: 'get' + }); +} + +export function addDefinition(data: DefinitionForm) { + return request({ + url: '/biz/definition', + method: 'post', + data: data + }); +} + +export function updateDefinition(data: DefinitionForm) { + return request({ + url: '/biz/definition', + method: 'put', + data: data + }); +} + +export function delDefinition(apiId: string | number | Array) { + return request({ + url: '/biz/definition/' + apiId, + method: 'delete' + }); +} diff --git a/src/api/biz/definition/types.ts b/src/api/biz/definition/types.ts new file mode 100644 index 00000000..ac3b36ca --- /dev/null +++ b/src/api/biz/definition/types.ts @@ -0,0 +1,39 @@ +export interface DefinitionVO { + apiId: string | number; + platformId: string | number; + platformName: string; + baseUrl: string; + apiCode: string; + apiName: string; + apiUri: string; + fullUrl: string; + requestMethod: string; + pointsCost: number; + timeout: number; + contentType: string; + status: string; + remark: string; + createTime: string; +} + +export interface DefinitionForm extends BaseEntity { + apiId?: string | number; + platformId?: string | number; + apiCode?: string; + apiName?: string; + apiUri?: string; + requestMethod?: string; + pointsCost?: number; + timeout?: number; + contentType?: string; + status?: string; + remark?: string; +} + +export interface DefinitionQuery extends PageQuery { + platformId?: string | number; + apiCode?: string; + apiName?: string; + requestMethod?: string; + status?: string; +} diff --git a/src/api/biz/platform/index.ts b/src/api/biz/platform/index.ts new file mode 100644 index 00000000..75d85392 --- /dev/null +++ b/src/api/biz/platform/index.ts @@ -0,0 +1,63 @@ +import request from '@/utils/request'; +import { AxiosPromise } from 'axios'; +import { PlatformForm, PlatformOptionVO, PlatformQuery, PlatformVO } from '@/api/biz/platform/types'; + +export function listPlatform(query?: PlatformQuery): AxiosPromise { + return request({ + url: '/biz/platform/list', + method: 'get', + params: query + }); +} + +export function getPlatform(platformId: string | number): AxiosPromise { + return request({ + url: '/biz/platform/' + platformId, + method: 'get' + }); +} + +export function optionselectPlatform(): AxiosPromise { + return request({ + url: '/biz/platform/optionselect', + method: 'get' + }); +} + +export function addPlatform(data: PlatformForm) { + return request({ + url: '/biz/platform', + method: 'post', + data: data + }); +} + +export function updatePlatform(data: PlatformForm) { + return request({ + url: '/biz/platform', + method: 'put', + data: data + }); +} + +export function delPlatform(platformId: string | number | Array) { + return request({ + url: '/biz/platform/' + platformId, + method: 'delete' + }); +} + +export function changePlatformStatus(platformId: string | number, status: string) { + return request({ + url: '/biz/platform/changeStatus', + method: 'put', + data: { platformId, status } + }); +} + +export function resetPlatformSecret(platformId: string | number) { + return request({ + url: '/biz/platform/resetSecret/' + platformId, + method: 'put' + }); +} diff --git a/src/api/biz/platform/types.ts b/src/api/biz/platform/types.ts new file mode 100644 index 00000000..89234ec0 --- /dev/null +++ b/src/api/biz/platform/types.ts @@ -0,0 +1,42 @@ +export interface PlatformVO { + platformId: string | number; + platformCode: string; + platformName: string; + baseUrl: string; + appKey: string; + appSecret: string; + token: string; + tokenExpireTime: string; + authType: string; + status: string; + remark: string; + createTime: string; +} + +export interface PlatformOptionVO { + platformId: string | number; + platformCode: string; + platformName: string; + baseUrl: string; +} + +export interface PlatformForm extends BaseEntity { + platformId?: string | number; + platformCode?: string; + platformName?: string; + baseUrl?: string; + appKey?: string; + appSecret?: string; + token?: string; + tokenExpireTime?: string; + authType?: string; + status?: string; + remark?: string; +} + +export interface PlatformQuery extends PageQuery { + platformCode?: string; + platformName?: string; + authType?: string; + status?: string; +} diff --git a/src/views/biz/apiDefinition/index.vue b/src/views/biz/apiDefinition/index.vue new file mode 100644 index 00000000..1365aa4e --- /dev/null +++ b/src/views/biz/apiDefinition/index.vue @@ -0,0 +1,332 @@ + + + diff --git a/src/views/biz/platform/index.vue b/src/views/biz/platform/index.vue new file mode 100644 index 00000000..8ba55dd4 --- /dev/null +++ b/src/views/biz/platform/index.vue @@ -0,0 +1,291 @@ + + +