index.html 8.0 KB

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