|
@@ -11,6 +11,7 @@ import ObjectSelector from './components/ObjectOAMSelector.vue'
|
|
|
import useSettingsStore from '@/store/modules/settings'
|
|
import useSettingsStore from '@/store/modules/settings'
|
|
|
import { getApiById } from '@/api/api/apiApi'
|
|
import { getApiById } from '@/api/api/apiApi'
|
|
|
import { createX, deleteX, getX, patchX, updateX } from '@/api/api/apiGatewayApi'
|
|
import { createX, deleteX, getX, patchX, updateX } from '@/api/api/apiGatewayApi'
|
|
|
|
|
+import { apiMethod } from '@/utils/tool'
|
|
|
|
|
|
|
|
const settingsStore = useSettingsStore()
|
|
const settingsStore = useSettingsStore()
|
|
|
const route = useRoute()
|
|
const route = useRoute()
|
|
@@ -27,17 +28,30 @@ interface TreeNode {
|
|
|
|
|
|
|
|
const state = reactive({
|
|
const state = reactive({
|
|
|
loading: false,
|
|
loading: false,
|
|
|
- apiTitle: '',
|
|
|
|
|
- apiCode: '',
|
|
|
|
|
- apiType: 0,
|
|
|
|
|
- keywords: '',
|
|
|
|
|
dialogState: 1,
|
|
dialogState: 1,
|
|
|
treeData: [] as TreeNode[],
|
|
treeData: [] as TreeNode[],
|
|
|
search: {
|
|
search: {
|
|
|
apiId,
|
|
apiId,
|
|
|
keywords: '',
|
|
keywords: '',
|
|
|
},
|
|
},
|
|
|
- params: '',
|
|
|
|
|
|
|
+ viewData: {
|
|
|
|
|
+ apiTitle: '',
|
|
|
|
|
+ apiMethod: 1,
|
|
|
|
|
+ apiCode: '',
|
|
|
|
|
+ apiType: 0,
|
|
|
|
|
+ apiParams: '',
|
|
|
|
|
+ objectId: 0,
|
|
|
|
|
+ objectType: 0,
|
|
|
|
|
+ objectCode: '',
|
|
|
|
|
+ objectTitle: '',
|
|
|
|
|
+ oamId: 0,
|
|
|
|
|
+ oamCode: '',
|
|
|
|
|
+ oamTitle: '',
|
|
|
|
|
+ },
|
|
|
|
|
+ formData: {
|
|
|
|
|
+ urlParams: '',
|
|
|
|
|
+ apiBody: '',
|
|
|
|
|
+ },
|
|
|
result: '',
|
|
result: '',
|
|
|
})
|
|
})
|
|
|
|
|
|
|
@@ -47,9 +61,18 @@ const ObjectSelectorRef = ref()
|
|
|
const getData = async () => {
|
|
const getData = async () => {
|
|
|
state.loading = true
|
|
state.loading = true
|
|
|
const { data } = await getApiById(apiId)
|
|
const { data } = await getApiById(apiId)
|
|
|
- state.apiTitle = data.apiTitle
|
|
|
|
|
- state.apiCode = data.apiCode
|
|
|
|
|
- state.apiType = data.apiType
|
|
|
|
|
|
|
+ state.viewData.apiTitle = data.apiTitle
|
|
|
|
|
+ state.viewData.apiCode = data.apiCode
|
|
|
|
|
+ state.viewData.apiParams = data.apiParams
|
|
|
|
|
+ state.viewData.apiMethod = data.apiMethod
|
|
|
|
|
+ state.viewData.apiType = data.apiType
|
|
|
|
|
+ state.viewData.objectId = data.objectId
|
|
|
|
|
+ state.viewData.objectTitle = data.objectTitle
|
|
|
|
|
+ state.viewData.objectCode = data.objectCode
|
|
|
|
|
+ state.viewData.objectType = data.objectType
|
|
|
|
|
+ state.viewData.oamId = data.oamId
|
|
|
|
|
+ state.viewData.oamCode = data.oamCode
|
|
|
|
|
+
|
|
|
if (data.bizId && data.bizId > 0) {
|
|
if (data.bizId && data.bizId > 0) {
|
|
|
const oamNodes = [{
|
|
const oamNodes = [{
|
|
|
id: data.oamId,
|
|
id: data.oamId,
|
|
@@ -79,7 +102,7 @@ onMounted(() => {
|
|
|
|
|
|
|
|
const formRef = ref<FormInstance>()
|
|
const formRef = ref<FormInstance>()
|
|
|
|
|
|
|
|
-const AddObjectOAM = () => {
|
|
|
|
|
|
|
+const bindObjectOAM = () => {
|
|
|
ObjectSelectorRef.value.showModel(apiId)
|
|
ObjectSelectorRef.value.showModel(apiId)
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -90,27 +113,29 @@ const onGenerateParams = async () => {
|
|
|
|
|
|
|
|
const onExecute = async () => {
|
|
const onExecute = async () => {
|
|
|
try {
|
|
try {
|
|
|
- const apiType = state.apiType
|
|
|
|
|
- const apiCode = state.apiCode
|
|
|
|
|
- const params = JSON.parse(state.params)
|
|
|
|
|
- if (apiType === 1) {
|
|
|
|
|
- const { data } = await getX(apiCode, params)
|
|
|
|
|
|
|
+ const apiMethod = state.viewData.apiMethod
|
|
|
|
|
+ const objectCode = state.viewData.objectCode
|
|
|
|
|
+ const oamCode = state.viewData.oamCode
|
|
|
|
|
+ const urlParams = state.formData.urlParams
|
|
|
|
|
+ const apiBody = JSON.parse(state.formData.apiBody)
|
|
|
|
|
+ if (apiMethod === 1) {
|
|
|
|
|
+ const { data } = await getX(objectCode, oamCode, urlParams)
|
|
|
state.result = JSON.stringify(data)
|
|
state.result = JSON.stringify(data)
|
|
|
}
|
|
}
|
|
|
- else if (apiType === 2) {
|
|
|
|
|
- const { data } = await createX(apiCode, params)
|
|
|
|
|
|
|
+ else if (apiMethod === 2) {
|
|
|
|
|
+ const { data } = await createX(objectCode, oamCode, apiBody)
|
|
|
state.result = JSON.stringify(data)
|
|
state.result = JSON.stringify(data)
|
|
|
}
|
|
}
|
|
|
- else if (apiType === 3) {
|
|
|
|
|
- const { data } = await updateX(apiCode, params)
|
|
|
|
|
|
|
+ else if (apiMethod === 3) {
|
|
|
|
|
+ const { data } = await updateX(objectCode, oamCode, apiBody)
|
|
|
state.result = JSON.stringify(data)
|
|
state.result = JSON.stringify(data)
|
|
|
}
|
|
}
|
|
|
- else if (apiType === 4) {
|
|
|
|
|
- const { data } = await patchX(apiCode, params)
|
|
|
|
|
|
|
+ else if (apiMethod === 4) {
|
|
|
|
|
+ const { data } = await patchX(objectCode, oamCode, apiBody)
|
|
|
state.result = JSON.stringify(data)
|
|
state.result = JSON.stringify(data)
|
|
|
}
|
|
}
|
|
|
- else if (apiType === 5) {
|
|
|
|
|
- const { data } = await deleteX(apiCode, params)
|
|
|
|
|
|
|
+ else if (apiMethod === 5) {
|
|
|
|
|
+ const { data } = await deleteX(objectCode, oamCode, apiBody)
|
|
|
state.result = JSON.stringify(data)
|
|
state.result = JSON.stringify(data)
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
@@ -136,7 +161,7 @@ function goBack() {
|
|
|
|
|
|
|
|
<template>
|
|
<template>
|
|
|
<div class="absolute-container">
|
|
<div class="absolute-container">
|
|
|
- <page-header :title="state.apiTitle" :content="state.apiCode">
|
|
|
|
|
|
|
+ <page-header :title="state.viewData.apiTitle" :content="state.apiCode">
|
|
|
<el-button size="default" round @click="goBack">
|
|
<el-button size="default" round @click="goBack">
|
|
|
<template #icon>
|
|
<template #icon>
|
|
|
<el-icon>
|
|
<el-icon>
|
|
@@ -152,7 +177,7 @@ function goBack() {
|
|
|
<template #leftSide>
|
|
<template #leftSide>
|
|
|
<el-space wrap>
|
|
<el-space wrap>
|
|
|
<el-button-group class="btns">
|
|
<el-button-group class="btns">
|
|
|
- <el-button type="primary" class="add" @click="AddObjectOAM()">
|
|
|
|
|
|
|
+ <el-button type="primary" class="add" @click="bindObjectOAM()">
|
|
|
绑定对象
|
|
绑定对象
|
|
|
</el-button>
|
|
</el-button>
|
|
|
</el-button-group>
|
|
</el-button-group>
|
|
@@ -178,12 +203,21 @@ function goBack() {
|
|
|
|
|
|
|
|
<div class="form">
|
|
<div class="form">
|
|
|
<el-form ref="formRef" label-width="100px" label-position="top">
|
|
<el-form ref="formRef" label-width="100px" label-position="top">
|
|
|
- <el-form-item label="数据参数" prop="code">
|
|
|
|
|
|
|
+ <el-form-item v-if="state.objectCode" label="URL" prop="code">
|
|
|
|
|
+ <span>{{ apiMethod(state.apiMethod) }}: /{{ state.objectCode }}/{{ state.oamCode }} </span>
|
|
|
|
|
+ </el-form-item>
|
|
|
|
|
+
|
|
|
|
|
+ <el-form-item label="Url参数">
|
|
|
|
|
+ <el-input v-model="state.params" type="textarea" rows="2" placeholder="Url Params" />
|
|
|
|
|
+ </el-form-item>
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ <el-form-item label="数据">
|
|
|
<el-input v-model="state.params" type="textarea" rows="10" placeholder="数据" />
|
|
<el-input v-model="state.params" type="textarea" rows="10" placeholder="数据" />
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
|
|
|
|
|
- <el-form-item v-if="state.result" label="生成参数" prop="code">
|
|
|
|
|
- <el-input v-model="state.result" type="textarea" rows="10" placeholder="数据" readonly />
|
|
|
|
|
|
|
+ <el-form-item v-if="state.result" label="结果">
|
|
|
|
|
+ <el-input v-model="state.result" type="textarea" rows="10" placeholder="结果" readonly />
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
|
|
|
|
|
<div class="action-bottom">
|
|
<div class="action-bottom">
|