Browse Source

feat:优化API定义的编辑页面

microrain 5 months ago
parent
commit
045f3a5e91
1 changed files with 23 additions and 2 deletions
  1. 23 2
      src/views/apihub/component/edit.vue

+ 23 - 2
src/views/apihub/component/edit.vue

@@ -78,12 +78,30 @@
               <el-input v-model="formData.description" type="textarea" :rows="3" placeholder="请输入API描述" />
             </el-form-item>
 
-            <div class="form-section-title">参数定义
+            <el-form-item label="ContentType" prop="contentType">
+              <el-select v-model="formData.contentType" placeholder="请选择ContentType" style="width: 100%;">
+                <el-option label="application/x-www-form-urlencoded" value="application/x-www-form-urlencoded"></el-option>
+                <el-option label="application/json" value="application/json"></el-option>
+              </el-select>
+            </el-form-item>
+
+            <el-form-item label="请求示例" prop="example" v-if="formData.contentType === 'application/json'">
+              <el-input v-model="formData.example" type="textarea" :rows="4" placeholder="请输入请求示例" />
+            </el-form-item>
+
+            <el-form-item label="访问权限" prop="private">
+              <el-radio-group v-model="formData.private">
+                <el-radio :label="0">开发API</el-radio>
+                <el-radio :label="1">私有API</el-radio>
+              </el-radio-group>
+            </el-form-item>
+
+            <div class="form-section-title" v-if="formData.contentType === 'application/x-www-form-urlencoded'">参数定义
               <el-button type="primary" link @click="addParameter" style="margin-left: 10px;">
                 <el-icon><ele-Plus /></el-icon>添加参数
               </el-button>
             </div>
-            <el-form-item label-width="0">
+            <el-form-item label-width="0" v-if="formData.contentType === 'application/x-www-form-urlencoded'">
               <el-table :data="formData.parameters" style="width: 100%" border>
                 <el-table-column label="参数名" width="150">
                   <template #default="scope">
@@ -401,6 +419,9 @@ const baseForm = {
   plugins: [],
   groupKey: "",
   description: "",
+  contentType: "application/x-www-form-urlencoded", // 默认为 application/x-www-form-urlencoded
+  example: "", // 请求参数示例
+  private: 0, // 访问权限类型:0为公开,1为私有
 };
 
 const formData = reactive(JSON.parse(JSON.stringify(baseForm)));