2 <div class="panel panel-success">
\r
3 <div class="panel-heading">
\r
4 <button type="button" class="btn btn-xs btn-danger pull-right" v-on:click="deleteApi(name)">Delete</button>
\r
5 <h5 class="panel-title">
\r
6 <a data-toggle="collapse" data-parent="panelParent" v-bind:href="'#' + name + '-collapse'" style="display:block;">{{ name }}</a>
\r
9 <div v-bind:id="name + '-collapse'" class="panel-collapse collapse fade">
\r
10 <div class="panel-body">
\r
11 <base-input name="name" v-model="name"></base-input>
\r
12 <base-input name="method" v-model="method"></base-input>
\r
13 <base-input name="baseuri" v-model="baseuri"></base-input>
\r
14 <api-param v-bind:params="params"></api-param>
\r
15 <div class="form-group" v-bind:class="{ 'has-error': jsonSyntaxError}">
\r
16 <label class="col-lg-3 control-label" id="templateLabel">
\r
17 Template <i class="fa fa-question-circle"></i>
\r
19 <div class="col-lg-7">
\r
21 <span id="tempHelp">Json格式文本,用于定义发送http请求的报文内容。示例如下:<br>( 其中 ((<variable>)) 为占位符,用于替换实际值 )<br>GET方式:<br>{<br> "uri" : "((baseuri))?name=((name))"<br>}<br>POST方式:<br>{<br> "uri" : "((baseuri))",<br> "body" : {<br> "name" : "((name))",<br> "account" : {<br> "id" : "((user_name))",<br> "addr" : "SH"<br> }<br> }<br>}</span>
\r
22 <textarea class="form-control" style="min-height: 200px;" v-model="templateStr"></textarea>
\r
23 <span class="help-block" v-show="jsonSyntaxError">Json语法错误,请检查!</span>
\r
31 import base_input from "./base_input.vue"
\r
32 import api_param from "./api_param.vue"
\r
33 import Vue from "vue"
\r
35 props: ['panelParent', 'name', 'method', 'baseuri', 'params', 'template'],
\r
37 name: function(val) {
\r
38 this.$emit("name", val);
\r
40 method: function(val) {
\r
41 this.$emit("method", val);
\r
43 baseuri: function(val) {
\r
44 this.$emit("baseuri", val);
\r
46 params: function(val) {
\r
47 this.$emit("params", val);
\r
49 templateStr: function(val) {
\r
51 console.log(JSON.parse(val));
\r
52 this.jsonSyntaxError = false;
\r
53 this.$emit("template", JSON.parse(val));
\r
55 console.log("catch the exception templateStr");
\r
56 this.jsonSyntaxError = true;
\r
61 'base-input': base_input,
\r
62 'api-param': api_param
\r
66 jsonSyntaxError: false,
\r
67 templateStr: JSON.stringify(this.template, null, 2)
\r
71 deleteApi: function(apiName) {
\r
72 this.$emit("delete", apiName);
\r
78 #templateLabel:hover+div #tempHelp{
\r
86 background-color: #ab2d2d;
\r
88 transition: display 1s;
\r
102 border-style: solid;
\r
103 border-color: transparent #ab2d2d transparent transparent;
\r
105 @media(max-width:1200px) {
\r
109 border-color: transparent transparent #ab2d2d transparent;
\r