92 lines
2.4 KiB
Java
92 lines
2.4 KiB
Java
<template>
|
||
<a-card :bordered="false">
|
||
<a-row style="margin-top: 20px">
|
||
<a-col :md="2" :sm="4">
|
||
<a-select defaultValue="POST" style="width: 90px" @change="handleChange" size="large">
|
||
<a-select-option value="POST">POST</a-select-option>
|
||
<a-select-option value="GET">GET</a-select-option>
|
||
<a-select-option value="PUT">PUT</a-select-option>
|
||
<a-select-option value="DELETE">DELETE</a-select-option>
|
||
</a-select>
|
||
</a-col>
|
||
<a-col :md="22" :sm="20">
|
||
<a-input-search
|
||
placeholder="input send url"
|
||
v-model="url"
|
||
@search="onSearch"
|
||
enterButton="Send"
|
||
size="large" />
|
||
</a-col>
|
||
</a-row>
|
||
|
||
<a-tabs defaultActiveKey="2">
|
||
<a-tab-pane tab="params" key="2">
|
||
<textarea style="width:100%;font-size: 16px;font-weight:500" :rows="13" @blur="changeVal">
|
||
</textarea>
|
||
</a-tab-pane>
|
||
</a-tabs>
|
||
|
||
<a-tabs defaultActiveKey="1">
|
||
<a-tab-pane tab="response" key="1">
|
||
<textarea style="width:100%;font-size: 16px;font-weight:500" :rows="10" v-html="resultJson" readOnly>
|
||
</textarea>
|
||
</a-tab-pane>
|
||
</a-tabs>
|
||
</a-card>
|
||
</template>
|
||
<script>
|
||
import { axios } from '@/utils/request'
|
||
import { ACCESS_TOKEN } from '@/store/mutation-types'
|
||
import Vue from 'vue'
|
||
export default {
|
||
name: 'FlowTest',
|
||
data () {
|
||
return {
|
||
url: '',
|
||
paramJson: '',
|
||
resultJson: {},
|
||
requestMethod: 'POST'
|
||
}
|
||
},
|
||
methods: {
|
||
onSearch (value) {
|
||
const that = this
|
||
if (!value) {
|
||
that.$message.error('请填写路径')
|
||
return false
|
||
}
|
||
this.resultJson = {}
|
||
axios({
|
||
url: value,
|
||
method: this.requestMethod,
|
||
data: this.paramJson
|
||
}).then((res) => {
|
||
console.log(res)
|
||
this.resultJson = res
|
||
}).catch((err) => {
|
||
that.$message.error('请求异常:' + err)
|
||
})
|
||
},
|
||
changeVal (e) {
|
||
try {
|
||
let json = e.target.value
|
||
if (json.indexOf(',}') > 0) {
|
||
json = json.replace(',}', '}')
|
||
}
|
||
this.paramJson = JSON.parse(json)
|
||
} catch (e) {
|
||
console.log(e)
|
||
this.$message.error('非法的JSON字符串')
|
||
}
|
||
},
|
||
handleChange (value) {
|
||
this.requestMethod = value
|
||
},
|
||
created () {
|
||
const token = Vue.ls.get(ACCESS_TOKEN)
|
||
this.headers = { 'X-Access-Token': token }
|
||
}
|
||
}
|
||
}
|
||
</script>
|