diff --git a/src/api/system/apiPage.ts b/src/api/system/apiPage.ts
index e2031d7e..9d0d3a8f 100644
--- a/src/api/system/apiPage.ts
+++ b/src/api/system/apiPage.ts
@@ -3,4 +3,24 @@ import server from '@/utils/request';
// 获取tree数据-第一层
export const getTreeOne_api = () => server.get(`/v3/api-docs/swagger-config`);
// 获取tree数据-第二层
-export const getTreeTwo_api = (name:string) => server.get(`/v3/api-docs/${name}`);
\ No newline at end of file
+export const getTreeTwo_api = (name: string) => server.get(`/v3/api-docs/${name}`);
+
+
+/**
+ * 获取已授权的接口ID
+ * @param id 第三方平台的ID
+ */
+export const getApiGranted_api = (id: string) => server.get(`/application/${id}/granted`);
+/**
+ * 获取可授权的接口ID
+ */
+export const apiOperations_api = () => server.get(`/application/operations`);
+
+/**
+ * 新增可授权的接口ID
+ */
+export const addOperations_api = (data:object) => server.patch(`/application/operations/_batch`,data);
+/**
+ * 删除可授权的接口ID
+ */
+export const delOperations_api = (data:object) => server.remove(`/application/operations/_batch`,{},{data});
\ No newline at end of file
diff --git a/src/components/Table/index.vue b/src/components/Table/index.vue
index d1fa47d2..51a3434b 100644
--- a/src/components/Table/index.vue
+++ b/src/components/Table/index.vue
@@ -41,7 +41,7 @@
@@ -47,21 +47,34 @@ import VueJsoneditor from 'vue3-ts-jsoneditor';
import MonacoEditor from '@/components/MonacoEditor/index.vue';
import type { apiDetailsType } from '../typing';
import InputCard from './InputCard.vue';
-import { PropType } from 'vue';
-const props = defineProps({
- selectApi: {
- type: Object as PropType
,
- required: true,
- },
-});
+const props = defineProps<{
+ selectApi: apiDetailsType;
+ paramsTable: any[];
+}>();
const requestBody = reactive({
- paramsTable: [],
+ paramsTable: [] as requestObj[],
paramsText: '',
});
const responsesContent = ref('{"a":123}');
+
+watch(
+ () => props.paramsTable,
+ (n) => {
+ const table = n?.map((item: any) => ({
+ paramsName: item.paramsName,
+ value: '',
+ }));
+ requestBody.paramsTable = table;
+ },
+);
+
+type requestObj = {
+ paramsName: string;
+ value: string;
+};
\ No newline at end of file
diff --git a/src/views/system/Platforms/Api/components/ApiDoes.vue b/src/views/system/Platforms/Api/components/ApiDoes.vue
new file mode 100644
index 00000000..b7f8f8f3
--- /dev/null
+++ b/src/views/system/Platforms/Api/components/ApiDoes.vue
@@ -0,0 +1,378 @@
+
+
+
+
{{ selectApi.summary }}
+
+
+
+
+ 请求数据类型
+ {{
+ getContent(selectApi.requestBody) ||
+ 'application/x-www-form-urlencoded'
+ }}
+ 响应数据类型
+ {{ `["/"]` }}
+
+
+
+
请求参数
+
+
+
+ {{ Boolean(slotProps.required) + '' }}
+
+
+ {{ slotProps.schema.type }}
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/system/Platforms/Api/components/ApiTest.vue b/src/views/system/Platforms/Api/components/ApiTest.vue
new file mode 100644
index 00000000..161c135d
--- /dev/null
+++ b/src/views/system/Platforms/Api/components/ApiTest.vue
@@ -0,0 +1,299 @@
+
+
+
+
{{ props.selectApi.summary }}
+
+
+
+
+
请求参数
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 新增
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/system/Platforms/Api/components/ChooseApi.vue b/src/views/system/Platforms/Api/components/ChooseApi.vue
new file mode 100644
index 00000000..66103ba8
--- /dev/null
+++ b/src/views/system/Platforms/Api/components/ChooseApi.vue
@@ -0,0 +1,98 @@
+
+
+
+
+ {{ slotProps.url }}
+
+
+
+
保存
+
+
+
+
+
+
diff --git a/src/views/system/Platforms/Api/components/InputCard.vue b/src/views/system/Platforms/Api/components/InputCard.vue
new file mode 100644
index 00000000..c1742737
--- /dev/null
+++ b/src/views/system/Platforms/Api/components/InputCard.vue
@@ -0,0 +1,35 @@
+
+
+ {{ props.value?.toLocaleUpperCase() }}
+
+
+
+
+
+
diff --git a/src/views/system/Platforms/Api/components/LeftTree.vue b/src/views/system/Platforms/Api/components/LeftTree.vue
new file mode 100644
index 00000000..63d31d99
--- /dev/null
+++ b/src/views/system/Platforms/Api/components/LeftTree.vue
@@ -0,0 +1,100 @@
+
+
+
+ {{ name }}
+
+
+
+
+
+
+
diff --git a/src/views/system/Platforms/Api/index.vue b/src/views/system/Platforms/Api/index.vue
new file mode 100644
index 00000000..622da6f5
--- /dev/null
+++ b/src/views/system/Platforms/Api/index.vue
@@ -0,0 +1,124 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/system/Platforms/Api/typing.d.ts b/src/views/system/Platforms/Api/typing.d.ts
new file mode 100644
index 00000000..0fb45159
--- /dev/null
+++ b/src/views/system/Platforms/Api/typing.d.ts
@@ -0,0 +1,27 @@
+export type treeNodeTpye = {
+ name: string;
+ key: string;
+ schemas?:object;
+ link?: string;
+ apiList?: object[];
+ children?: treeNodeTpye[];
+
+};
+export type methodType = {
+ [key: string]: object
+}
+export type apiObjType = {
+ url: string,
+ method: methodType
+}
+
+export type apiDetailsType = {
+ url: string;
+ method: string;
+ summary: string;
+ parameters: any[];
+ requestBody?: any;
+ responses:object;
+}
+
+export type modeType = 'api'| 'appManger' | 'home'
\ No newline at end of file
diff --git a/src/views/system/Platforms/index.vue b/src/views/system/Platforms/index.vue
new file mode 100644
index 00000000..0abee066
--- /dev/null
+++ b/src/views/system/Platforms/index.vue
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+