json编辑器
Showing
2 changed files
with
33 additions
and
6 deletions
| ... | @@ -22,6 +22,7 @@ | ... | @@ -22,6 +22,7 @@ |
| 22 | "normalize.css": "7.0.0", | 22 | "normalize.css": "7.0.0", |
| 23 | "nprogress": "0.2.0", | 23 | "nprogress": "0.2.0", |
| 24 | "vue": "2.6.10", | 24 | "vue": "2.6.10", |
| 25 | "vue-json-editor": "^1.4.3", | ||
| 25 | "vue-quill-editor": "^3.0.6", | 26 | "vue-quill-editor": "^3.0.6", |
| 26 | "vue-router": "3.0.2", | 27 | "vue-router": "3.0.2", |
| 27 | "vue-seamless-scroll": "^1.1.23", | 28 | "vue-seamless-scroll": "^1.1.23", | ... | ... |
| 1 | <template> | 1 | <template> |
| 2 | <dialogBox title="调用接口" @submitForm="submitForm" saveButton="调用" width="50%" :isFullscreen="false" | 2 | <dialogBox title="调用接口" @submitForm="submitForm" saveButton="调用" width="50%" :isFullscreen="false" |
| 3 | @closeDialog="closeDialog" v-model="value"> | 3 | @closeDialog="closeDialog" v-model="value"> |
| 4 | <el-descriptions class="margin-top" :column="1" :size="16" border style="height:600px"> | 4 | <el-descriptions class="margin-top" :column="1" size="16" border style="height:700px"> |
| 5 | <el-descriptions-item> | 5 | <el-descriptions-item> |
| 6 | <template slot="label" style="width:200px">接口代码</template>{{ruleForm.interfaceCode}} | 6 | <template slot="label" style="width:200px">接口代码</template>{{ruleForm.interfaceCode}} |
| 7 | </el-descriptions-item> | 7 | </el-descriptions-item> |
| ... | @@ -18,7 +18,14 @@ | ... | @@ -18,7 +18,14 @@ |
| 18 | <template slot="label">接口类型</template>{{getInterfaceType(ruleForm.interfaceType)}} | 18 | <template slot="label">接口类型</template>{{getInterfaceType(ruleForm.interfaceType)}} |
| 19 | </el-descriptions-item> | 19 | </el-descriptions-item> |
| 20 | <el-descriptions-item> | 20 | <el-descriptions-item> |
| 21 | <template slot="label">接口参数</template><el-input v-model="interfaceParams" type="textarea" :rows="4"></el-input> | 21 | <template slot="label">接口参数</template> |
| 22 | <vue-json-editor | ||
| 23 | v-model="interfaceParams" | ||
| 24 | :showBtns="false" | ||
| 25 | :mode="'code'" | ||
| 26 | @json-change="onJsonChange" | ||
| 27 | @json-save="onJsonSave" | ||
| 28 | @has-error="onError"/> | ||
| 22 | </el-descriptions-item> | 29 | </el-descriptions-item> |
| 23 | <el-descriptions-item> | 30 | <el-descriptions-item> |
| 24 | <template slot="label">调用状态</template> | 31 | <template slot="label">调用状态</template> |
| ... | @@ -36,9 +43,11 @@ | ... | @@ -36,9 +43,11 @@ |
| 36 | </template> | 43 | </template> |
| 37 | 44 | ||
| 38 | <script> | 45 | <script> |
| 46 | import vueJsonEditor from 'vue-json-editor' | ||
| 39 | import {interfaceRetrieve } from "@/api/jkfw.js" | 47 | import {interfaceRetrieve } from "@/api/jkfw.js" |
| 40 | export default { | 48 | export default { |
| 41 | components: { | 49 | components: { |
| 50 | vueJsonEditor | ||
| 42 | }, | 51 | }, |
| 43 | computed: { | 52 | computed: { |
| 44 | }, | 53 | }, |
| ... | @@ -56,17 +65,23 @@ export default { | ... | @@ -56,17 +65,23 @@ export default { |
| 56 | {'label': '其他第三方平台','value':'4'}, | 65 | {'label': '其他第三方平台','value':'4'}, |
| 57 | ], | 66 | ], |
| 58 | ruleForm: {}, | 67 | ruleForm: {}, |
| 59 | interfaceParams: '{\n\n}' , | 68 | interfaceParams: {} , |
| 60 | returnMessage: {}, | 69 | returnMessage: {}, |
| 70 | hasJsonFlag: true | ||
| 61 | } | 71 | } |
| 62 | }, | 72 | }, |
| 63 | methods: { | 73 | methods: { |
| 64 | //表单提交 | 74 | //表单提交 |
| 65 | submitForm () { | 75 | submitForm () { |
| 76 | console.log(this.interfaceParams); | ||
| 77 | console.log(this.hasJsonFlag); | ||
| 78 | if(!this.hasJsonFlag){ | ||
| 79 | return; | ||
| 80 | } | ||
| 66 | var formdata = new FormData(); | 81 | var formdata = new FormData(); |
| 67 | formdata.append("interfaceCode", this.ruleForm.interfaceCode); | 82 | formdata.append("interfaceCode", this.ruleForm.interfaceCode); |
| 68 | formdata.append("interfaceType", this.ruleForm.interfaceType); | 83 | formdata.append("interfaceType", this.ruleForm.interfaceType); |
| 69 | formdata.append("params", this.interfaceParams); | 84 | formdata.append("params",JSON.stringify(this.interfaceParams)); |
| 70 | interfaceRetrieve(formdata).then(res => { | 85 | interfaceRetrieve(formdata).then(res => { |
| 71 | if(res.code == 200){ | 86 | if(res.code == 200){ |
| 72 | this.returnMessage = res.result | 87 | this.returnMessage = res.result |
| ... | @@ -80,8 +95,9 @@ export default { | ... | @@ -80,8 +95,9 @@ export default { |
| 80 | //关闭弹窗 | 95 | //关闭弹窗 |
| 81 | closeDialog () { | 96 | closeDialog () { |
| 82 | this.$emit("input", false); | 97 | this.$emit("input", false); |
| 83 | this.interfaceParams = '{\n\n}' | 98 | this.interfaceParams = {} |
| 84 | this.returnMessage = {} | 99 | this.returnMessage = {} |
| 100 | this.hasJsonFlag = true | ||
| 85 | }, | 101 | }, |
| 86 | //获取接口类型 | 102 | //获取接口类型 |
| 87 | getInterfaceType(code){ | 103 | getInterfaceType(code){ |
| ... | @@ -93,7 +109,17 @@ export default { | ... | @@ -93,7 +109,17 @@ export default { |
| 93 | } | 109 | } |
| 94 | } | 110 | } |
| 95 | return name; | 111 | return name; |
| 96 | } | 112 | }, |
| 113 | onJsonChange(value){ | ||
| 114 | this.onJsonSave(); | ||
| 115 | }, | ||
| 116 | onJsonSave (value) { | ||
| 117 | this.interfaceParams = value | ||
| 118 | this.hasJsonFlag = true | ||
| 119 | }, | ||
| 120 | onError(value) { | ||
| 121 | this.hasJsonFlag = false | ||
| 122 | }, | ||
| 97 | } | 123 | } |
| 98 | } | 124 | } |
| 99 | </script> | 125 | </script> | ... | ... |
-
Please register or sign in to post a comment