index.html 7.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154
  1. <!DOCTYPE HTML>
  2. <html lang="zh-CN">
  3. <head>
  4. <title>简易版Postman</title>
  5. <meta charset="UTF-8">
  6. <link rel="shortcut icon" href="../static/img/favicon.ico">
  7. <link rel="stylesheet" href="../static/vendor/jquery/jquery-ui.min.css">
  8. <link rel="stylesheet" href="index.css" />
  9. <script type="text/javascript" src="../static/vendor/evalCore.min.js"></script>
  10. <script type="text/javascript" src="../static/vendor/vue/vue.js"></script>
  11. </head>
  12. <body class="theme-default">
  13. <div class="wrapper" id="pageContainer">
  14. <div class="panel panel-default" style="margin-bottom: 0px;">
  15. <div class="panel-heading">
  16. <h3 class="panel-title">
  17. <a href="http://www.baidufe.com/fehelper/feedback.html" target="_blank" class="x-a-high">
  18. <img src="../static/img/fe-16.png" alt="fehelper"/> FeHelper</a>:简易版Postman</h3>
  19. </div>
  20. </div>
  21. <div class="panel-body mod-endecode">
  22. <div class="row mod-inputs">
  23. <div class="ui-mt-10">
  24. <label for="url">接口地址:</label>
  25. <input type="text" id="url" ref="url" v-model="urlContent" class="form-control f-url" placeholder="请输入Api地址">
  26. <span class="x-xdemo" @click="setDemo(1)">Get示例</span>
  27. <span class="x-xdemo" @click="setDemo(2)">Post示例</span>
  28. </div>
  29. <div class="ui-mt-10 u-p-c" v-if="urlParams.length">
  30. <table class="table table-bordered table-hover">
  31. <thead>
  32. <tr>
  33. <th>参数key</th>
  34. <th>参数value</th>
  35. </tr>
  36. </thead>
  37. <tbody>
  38. <tr v-for="param in urlParams">
  39. <th><input v-model="param.key" class="form-control f-header-key"/></th>
  40. <th><input v-model="param.value" class="form-control f-header-value"/></th>
  41. </tr>
  42. </tbody>
  43. </table>
  44. </div>
  45. <div class="ui-mt-10" v-cloak v-show="methodContent === 'POST'">
  46. <label for="param">请求参数:</label>
  47. <textarea type="text" v-model="paramContent" id="param" class="form-control f-param" placeholder="请输入参数"></textarea>
  48. <span class="x-xdemo" @click="transParamMode()">参数转<span v-html="paramMode==='kv'?'JSON':'URL-KV'">JSON</span>格式</span>
  49. </div>
  50. <div class="ui-mt-10">
  51. <label for="param">加头信息:</label>
  52. <div style="display: inline-block;">
  53. <div v-for="(item,$index) in headerList" style="margin-top:2px">
  54. <input type="text" :id="'header_key_' + item" class="form-control f-header-key" placeholder="Content-Type"><input type="text" :id="'header_value_' + item" class="form-control f-header-value" placeholder="text/json; charset=utf-8">
  55. <span class="x-xdemo" v-if="$index==0" @click="addHeader">继续添加</span>
  56. <span class="x-xdemo" v-if="$index>0" @click="deleteHeader($event)">删除</span>
  57. </div>
  58. </div>
  59. </div>
  60. <div class="ui-mt-10">
  61. <label for="method">请求方式:</label>
  62. <select id="method" v-model="methodContent" class="form-control f-method">
  63. <option value="GET">GET</option>
  64. <option value="POST">POST</option>
  65. <option value="HEAD">HEAD</option>
  66. <option value="PUT">PUT</option>
  67. <option value="DELETE">DELETE</option>
  68. </select>
  69. <div class="url-encode" v-cloak v-if="methodContent==='POST'">
  70. <input type="checkbox" name="urlencoded" id="urlencoded" value="1" v-model="urlencodedDefault">
  71. <label for="urlencoded">默认携带Header:<i>Content-Type: application/x-www-form-urlencoded</i></label>
  72. </div>
  73. </div>
  74. <div class="ui-mt-10">
  75. <input class="btn btn-success" type="button" value="发送请求" @click="postman()">
  76. </div>
  77. </div>
  78. <div ref="resultContainer" class="row hide">
  79. <div id="tabs">
  80. <ul class="the-tabs">
  81. <li><a href="#tab-content">数据</a></li>
  82. <li><a href="#tab-json">JSON</a></li>
  83. <li><a href="#tab-header">响应头</a></li>
  84. </ul>
  85. <div id="tab-content" class="mod-tab">{{resultContent}}</div>
  86. <div class="mod-tab" id="tab-json">
  87. <div class="x-toolbar">
  88. <span class="x-sort">
  89. <span class="x-stitle">排序:</span>
  90. <label for="sort_null">默认</label>
  91. <input type="radio" name="jsonsort" id="sort_null" value="0" checked>
  92. <label for="sort_asc">升序</label>
  93. <input type="radio" name="jsonsort" id="sort_asc" value="1">
  94. <label for="sort_desc">降序</label>
  95. <input type="radio" name="jsonsort" id="sort_desc" value="-1">
  96. </span>
  97. <span id="optionBar"></span>
  98. </div>
  99. <div id="formattingMsg"><span class="x-loading"></span>格式化中...</div>
  100. <div id="jfCallbackName_start" class="callback-name" v-html="jfCallbackName_start"></div>
  101. <div id="jfContent" v-html=" errorMsgForJson || resultContent"></div>
  102. <pre id="jfContent_pre"></pre>
  103. <div id="jfCallbackName_end" class="callback-name" v-html="jfCallbackName_end"></div>
  104. </div>
  105. <div id="tab-header" class="mod-tab">
  106. <table class="table table-hover">
  107. <thead>
  108. <tr>
  109. <th>序号</th>
  110. <th>头信息</th>
  111. <th>具体内容</th>
  112. </tr>
  113. </thead>
  114. <tbody>
  115. <tr v-for="(h,index) in responseHeaders">
  116. <td>{{index+1}}</td>
  117. <td>{{h[0]}}</td>
  118. <td>{{h[1]}}</td>
  119. </tr>
  120. </tbody>
  121. </table>
  122. </div>
  123. </div>
  124. </div>
  125. </div>
  126. </div>
  127. <script src="../static/vendor/jquery/jquery-3.3.1.min.js"></script>
  128. <script src="../static/vendor/jquery/jquery.extend.js"></script>
  129. <script src="../static/vendor/jquery/jquery-ui.min.js"></script>
  130. <script src="../json-format/json-bigint.js"></script>
  131. <script src="../json-format/format-lib.js"></script>
  132. <script src="../json-format/json-abc.js"></script>
  133. <script type="text/javascript" src="index.js"></script>
  134. </body>
  135. </html>