Showing
3 changed files
with
44 additions
and
12 deletions
| ... | ... | @@ -20,6 +20,17 @@ |
| 20 | 20 | mode: 'code', |
| 21 | 21 | mainMenuBar: false, |
| 22 | 22 | statusBar: false, |
| 23 | + onFocus: () => {}, | |
| 24 | + onBlur: () => { | |
| 25 | + setJsonValue('执行测试结果为:'); | |
| 26 | + }, | |
| 27 | + onChangeText: (e) => { | |
| 28 | + if (e.length === 0) { | |
| 29 | + setJsonValue('执行测试结果为:'); | |
| 30 | + } else { | |
| 31 | + // setJsonValue(undefined); | |
| 32 | + } | |
| 33 | + }, | |
| 23 | 34 | } as object; |
| 24 | 35 | let editor = new jsoneditor(jsoneditorRef.value, options); |
| 25 | 36 | editor.set(jsonValue.value); |
| ... | ... | @@ -29,6 +40,12 @@ |
| 29 | 40 | |
| 30 | 41 | const getJsonValue = () => unref(jsonInstance).get(); |
| 31 | 42 | |
| 43 | + // const setJsonMode = (mode) => { | |
| 44 | + // nextTick(() => { | |
| 45 | + // unref(jsonInstance).setMode(mode); | |
| 46 | + // }); | |
| 47 | + // }; | |
| 48 | + | |
| 32 | 49 | const setJsonValue = (Json) => { |
| 33 | 50 | nextTick(() => { |
| 34 | 51 | unref(jsonInstance).set(Json); | ... | ... |
| ... | ... | @@ -4,7 +4,7 @@ |
| 4 | 4 | <a-row> |
| 5 | 5 | <Button @click="handleExcute" type="primary"> 执行测试请求 </Button> |
| 6 | 6 | </a-row> |
| 7 | - <div style="display: flex; justify-content: space-between"> | |
| 7 | + <div v-if="isShowTestResult" style="display: flex; justify-content: space-between"> | |
| 8 | 8 | <a-row class="mt-8" type="flex" justify="center" align="middle"> |
| 9 | 9 | <a-col :span="3"> 测试地址 </a-col> |
| 10 | 10 | <a-col :span="21"> |
| ... | ... | @@ -37,6 +37,7 @@ |
| 37 | 37 | import { useUtils } from '../../../hooks/useUtils'; |
| 38 | 38 | import JsonEditor from '../../SimpleRequest/components/jsonEditor.vue'; |
| 39 | 39 | import { Tag } from 'ant-design-vue'; |
| 40 | + import { useThrottleFn } from '@vueuse/shared'; | |
| 40 | 41 | |
| 41 | 42 | const emits = defineEmits(['emitExcute']); |
| 42 | 43 | |
| ... | ... | @@ -89,12 +90,19 @@ |
| 89 | 90 | |
| 90 | 91 | const isPostToken = ref(''); |
| 91 | 92 | |
| 93 | + const isShowTestResult = ref(false); | |
| 94 | + | |
| 92 | 95 | //执行测试接口 |
| 93 | 96 | const handleExcute = () => { |
| 94 | 97 | emits('emitExcute'); |
| 95 | - getValue(); | |
| 98 | + useThrottle(); | |
| 99 | + isShowTestResult.value = true; | |
| 96 | 100 | }; |
| 97 | 101 | |
| 102 | + const useThrottle = useThrottleFn(() => { | |
| 103 | + getValue(); | |
| 104 | + }, 2000); | |
| 105 | + | |
| 98 | 106 | const getValue = async () => { |
| 99 | 107 | await nextTick(); |
| 100 | 108 | //获取Params和Header和Body | ... | ... |
| ... | ... | @@ -33,20 +33,27 @@ |
| 33 | 33 | </template> |
| 34 | 34 | <template #slotFillAddress="{ model }"> |
| 35 | 35 | <div> |
| 36 | - <Tag color="blue" style="width: 35vw; white-space: normal; height: auto"> | |
| 36 | + <Tag | |
| 37 | + v-if="model['originUrlType'] === 'server_url'" | |
| 38 | + color="blue" | |
| 39 | + style="width: 35vw; white-space: normal; height: auto" | |
| 40 | + > | |
| 37 | 41 | {{ |
| 38 | - ` ${ | |
| 39 | - model['originUrlType'] !== 'server_url' | |
| 40 | - ? !model['requestOriginUrl'] | |
| 41 | - ? '' | |
| 42 | - : model['requestOriginUrl'] + model['requestHttpTypeAndUrl']?.requestUrl | |
| 43 | - : `${templateFillAddress(model['requestContentType'], model['originUrlType'])}${ | |
| 44 | - model['requestHttpTypeAndUrl']?.requestUrl | |
| 45 | - }` | |
| 46 | - } | |
| 42 | + ` ${`${templateFillAddress(model['requestContentType'], model['originUrlType'])}${ | |
| 43 | + model['requestHttpTypeAndUrl']?.requestUrl | |
| 44 | + }`} | |
| 47 | 45 | ` |
| 48 | 46 | }} |
| 49 | 47 | </Tag> |
| 48 | + <template v-else> | |
| 49 | + <Tag | |
| 50 | + v-if="model['requestOriginUrl']" | |
| 51 | + color="blue" | |
| 52 | + style="width: 35vw; white-space: normal; height: auto" | |
| 53 | + > | |
| 54 | + {{ ` ${model['requestOriginUrl'] + model['requestHttpTypeAndUrl']?.requestUrl}` }} | |
| 55 | + </Tag> | |
| 56 | + </template> | |
| 50 | 57 | </div> |
| 51 | 58 | </template> |
| 52 | 59 | </BasicForm> | ... | ... |