12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670 |
- <!DOCTYPE html>
- <html lang="zh-CN">
- <head>
- <meta charset="UTF-8">
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
- <meta name="version" content="For Json viewer">
- <title>ApiPost接口文档</title>
- <link href="https://img.cdn.apipost.cn/v6/docs/img/doc_favicon.ico" rel="shortcut icon" type="image/x-icon">
- <link rel="stylesheet" type="text/css" href="https://img.cdn.apipost.cn/docs/css/reset.css">
- <link rel="stylesheet" type="text/css" href="https://img.cdn.apipost.cn/docs/css/font-awesome-4.7.0/css/font-awesome.css">
- <link rel="stylesheet" href="https://img.cdn.apipost.cn/docs/css/github.css">
- <script type="text/javascript"></script>
- <script type="text/javascript" src="https://img.cdn.apipost.cn/docs/js/jquery-3.4.1.min.js"></script>
- <script src="https://img.cdn.apipost.cn/docs/js/colResizable-1.6.min.js"></script>
- <script type="text/javascript" src="https://img.cdn.apipost.cn/docs/js/marked.min.js"></script>
- <script type="text/javascript" src="https://img.cdn.apipost.cn/docs/js/template-web.js"></script>
- <script type="text/javascript" src="https://img.cdn.apipost.cn/docs/js/highlight.js"></script>
- <script type="text/javascript" src="https://img.cdn.apipost.cn/docs/js/clipboard.min.js"></script>
- <script type="text/javascript" src="https://img.cdn.apipost.cn/statics/libs/crypto-js/crypto-js.min.js" charset="utf-8"></script>
- <script type="text/javascript" src="https://img.cdn.apipost.cn/docs/js/json5.min.js"></script>
- <script type="text/javascript" src="https://img.cdn.apipost.cn/docs/js/enc.min.js"></script>
- <script type="text/javascript" src="https://img.cdn.apipost.cn/docs/json-viewer/json-viewer.min.js"></script>
- <script src="https://img.cdn.apipost.cn/docs/js/indent.js"></script>
- <script>
- Date.prototype.format = function (fmt) {
- var o = {
- "M+": this.getMonth() + 1, //月份
- "d+": this.getDate(), //日
- "h+": this.getHours(), //小时
- "m+": this.getMinutes(), //分
- "s+": this.getSeconds(), //秒
- "q+": Math.floor((this.getMonth() + 3) / 3), //季度
- "S": this.getMilliseconds() //毫秒
- };
- if (/(y+)/.test(fmt)) {
- fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
- }
- for (var k in o) {
- if (new RegExp("(" + k + ")").test(fmt)) {
- fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
- }
- }
- return fmt;
- }
- </script>
- <style type="text/css">
- .preview-markdown table td {
- position: relative;
- }
- .indent-fold {
- border: 0;
- background: transparent;
- position: absolute;
- left: -25px;
- top: 10px;
- font-size: 24px;
- color: #999;
- cursor: pointer;
- text-align: center;
- width: 15px;
- height: 15px;
- padding: 0;
- }
- .indent-fold img {
- position: static !important;
- transform: translateY(0);
- }
- .indent-fold.right img {
- transform: rotate(0);
- }
- .indent-fold.down img {
- transform: rotate(-90deg);
- }
- </style>
- <link rel="stylesheet" href="https://img.cdn.apipost.cn/docs/css/docs.css">
- <link rel="stylesheet" href="https://img.cdn.apipost.cn/docs/css/v6.css">
- <link rel="stylesheet" href="https://img.cdn.apipost.cn/docs/css/jsonview.css">
- <style>
- .body .box{
- height: calc(100vh - 60px);
- }
- .JCLRgrip .JColResizer {
- cursor: col-resize;
- }
- table tr td,
- th {
- text-indent: 8px;
- }
- .JColResizer>tbody>tr>td,
- .JColResizer>tbody>tr>th {
- overflow: visible !important;
- }
- </style>
- </head>
- <body>
- <!-- <body> -->
- <div class="body">
- <div class="doc-head">
- <div class="left">
- <a href="https://www.apipost.cn/" target="_blank" title="ApiPost接口与文档管理系统">
- <img src="https://img.cdn.apipost.cn/v6/docs/img/logov6.svg" alt="ApiPost接口与文档管理系统">
- </a>
- </div>
- <div class="container">
- </div>
- </div>
- <div class="box">
- <div class="box-first" style="display: flex; flex-direction: column;justify-content: flex-end;">
- <div class="sreachInput">
- <img src="https://img.cdn.apipost.cn/v6/docs/img/search.svg" alt="">
- <input type="text" class="search" placeholder="搜索目录/接口">
- </div>
- <div class="title">
- </div>
- <div class="target top" data-target_id="001">
- <div class="globals_select"></div>
- 全局参数
- </div>
- <div class="new">
- </div>
- <!-- <a href="https://www.toutiao.com/i6960487351701275149/" id = "advertise" target="_blank" style="display: inline-block; width: 300px;height: 70px;background: url('https://img.cdn.apipost.cn/cdn/images/a-long-letter.svg?0424') no-repeat left"></a> -->
- <div class="bar"></div>
- <script type="text/html" id="template-target-sidebar-list-tpl">
- {{each list value}}
- <div>
- <div class="target {{value.target_type == 'folder' ? 'folder':'api'}}"
- data-type="{{value.target_type}}"
- data-target_id="{{value.local_target_id}}">
- {{if value.target_type == 'folder'}}
- <span>
- <span class="control">
- {{if value.children}}
- <div class="folder_select">
- </div>
- {{/if}}
- </span>
- <span>
- <div class="img">
- </div>
- {{value.name}}
- </span>
- </span>
- {{else}}
- <span>
- <em class="{{((value.target_type == 'doc') || (value.target_type == 'example' && value.is_doc == 1)) ? 'DOC' : value.target_type != 'example' ? value.method : value.method}}">{{(value.target_type == 'doc' || (value.target_type == 'example' && value.is_doc == '1')) ? '文本' : value.method == 'OPTIONS' ? 'OPT' : value.method == 'DELETE' ? 'DEL' : value.method == 'UNLINK' ? 'UNLNK' : value.method == 'UNLOCK' ? 'UNLCK' : value.method == 'PROPFIND' ? 'PROP' : value.method}}</em>
- <span>{{value.name}}</span>
- </span>
- <span></span>
- {{/if}}
- </div>
- {{if value.children!=null}}
- {{each value.children data}}
- {{set a=data["index"]=3}}
- {{include 'list1' data}}
- {{/each}}
- {{/if}}
- </div>
- {{/each}}
- </script>
- <script type="text/html" id="list1">
- <div>
- <div class="target {{target_type == 'folder' ? 'folder':'api'}}" data-type="{{target_type}}"
- data-target_id="{{local_target_id}}"
- style="padding-left:{{index * 15}}px">
- {{if target_type == 'folder'}}
- <span>
- <span class="control">
- {{if children}}
- <div class="folder_select">
- </div>
- {{/if}}
- </span>
- <span>
- <div class="img">
- </div>
- {{name}}
- </span>
- </span>
- {{else}}
- <span>
- <em class="{{((target_type == 'doc') || (target_type == 'example' && is_doc == 1)) ? 'DOC' : target_type != 'example' ? method : method}}">{{(target_type == 'doc' || (target_type == 'example' && is_doc == '1')) ? '文本' : method == 'OPTIONS' ? 'OPT' : method == 'DELETE' ? 'DEL' : method == 'UNLINK' ? 'UNLNK' : method == 'UNLOCK' ? 'UNLCK' : method == 'PROPFIND' ? 'PROP' : method}}</em>
- <span>{{name}}</span>
- </span>
- <span></span>
- {{/if}}
- </div>
- {{if children!=null}}
- {{each children data}}
- {{if index}}
- {{set b=data.index=index+1}}
- {{else}}
- {{set c=data["index"] = 3}}
- {{/if}}
- {{include 'list1' data}}
- {{/each}}
- {{/if}}
- </div>
- </script>
- </div>
- <div class="box-third">
- <div class=" preview-markdown">
- </div>
- <div style="width: 100%;">
- </div>
- <div class="box-nav" style="background: #fff;">
- <ul class="api template-nav-menu">
- <script type="text/html" id="template-nav-menu-tpl">
- <!-- {{if target_type == "api" || target_type == "folder" || (target_type == "example" && is_doc == 0) }}-->
- {{if request.description}}
- <li class="cur nav-btn" data-id="0" style="display: block"><a href="javascript:;">
- <img src="https://img.cdn.apipost.cn/v6/docs/img/arrow.svg" alt="">
- 接口说明</a></li>
- <li class="nav-btn" data-id="1"><a href="javascript:;">
- <img src="https://img.cdn.apipost.cn/v6/docs/img/arrow.svg" alt="">
- 基本信息</a></li>
- {{else}}
- <li class="nav-btn" data-id="0" style="display: none"><a href="javascript:;">
- <img src="https://img.cdn.apipost.cn/v6/docs/img/arrow.svg" alt="">
- 接口说明</a></li>
- <li class="cur nav-btn" data-id="1"><a href="javascript:;">
- <img src="https://img.cdn.apipost.cn/v6/docs/img/arrow.svg" alt="">
- 基本信息</a></li>
- {{/if}}
- <!-- {{/if}}-->
- {{if request.header.parameter.length > 0 || request.query.parameter.length > 0 ||
- request.resful.parameter.length > 0 || request.body.parameter.length>0 || request.body.raw !=''}}
- <li class="nav-btn" data-id="2" style="display: block"><a href="javascript:;">
- <img src="https://img.cdn.apipost.cn/v6/docs/img/arrow.svg" alt="">
- 请求参数</a></li>
- {{else}}
- <li class="nav-btn" data-id="2" style="display: none"><a href="javascript:;">
- <img src="https://img.cdn.apipost.cn/v6/docs/img/arrow.svg" alt="">
- 请求参数</a></li>
- {{/if}}
- <ul>
- {{if request.header.parameter.length > 0}}
- <li class="nav-btn" data-id="3" style="display: block"><a href="javascript:;">
- <img src="https://img.cdn.apipost.cn/v6/docs/img/arrow.svg" alt="">
- header参数及说明</a></li>
- {{else}}
- <li class="nav-btn" data-id="3" style="display: none"><a href="javascript:;">
- <img src="https://img.cdn.apipost.cn/v6/docs/img/arrow.svg" alt="">
- header参数及说明</a></li>
- {{/if}}
- {{if request.query.parameter.length > 0}}
- <li class="nav-btn" data-id="4" style="display: block"><a href="javascript:;">
- <img src="https://img.cdn.apipost.cn/v6/docs/img/arrow.svg" alt="">
- query参数及说明</a></li>
- {{else}}
- <li class="nav-btn" data-id="4" style="display: none"><a href="javascript:;">
- <img src="https://img.cdn.apipost.cn/v6/docs/img/arrow.svg" alt="">
- query参数及说明</a></li>
- {{/if}}
- {{if request.resful.parameter.length > 0}}
- <li class="nav-btn" data-id="5" style="display: block"><a href="javascript:;">
- <img src="https://img.cdn.apipost.cn/v6/docs/img/arrow.svg" alt="">
- 路径参数及说明</a></li>
- {{else}}
- <li class="nav-btn" data-id="5" style="display: none"><a href="javascript:;">
- <img src="https://img.cdn.apipost.cn/v6/docs/img/arrow.svg" alt="">
- 路径参数及说明</a></li>
- {{/if}}
- {{if request?.auth?.type && request?.auth?.type != 'noauth'}}
- <li class="nav-btn" data-id="6" style="display: block"><a href="javascript:;">
- <img src="https://img.cdn.apipost.cn/v6/docs/img/arrow.svg" alt="">
- 认证及说明</a></li>
- {{else}}
- <li class="nav-btn" data-id="6" style="display: none"><a href="javascript:;">
- <img src="https://img.cdn.apipost.cn/v6/docs/img/arrow.svg" alt="">
- 认证及说明</a></li>
- {{/if}}
- {{if request.body.parameter.length>0 || request.body.raw !='' }}
- <li class="nav-btn" data-id="7" style="display: block"><a href="javascript:;">
- <img src="https://img.cdn.apipost.cn/v6/docs/img/arrow.svg" alt="">
- body参数及说明</a></li>
- {{else}}
- <li class="nav-btn" data-id="7" style="display: none"><a href="javascript:;">
- <img src="https://img.cdn.apipost.cn/v6/docs/img/arrow.svg" alt="">
- body参数及说明</a></li>
- {{/if}}
- <!-- <li class="nav-btn" data-id="6"><a href="javascript:;">预执行脚本</a></li>-->
- <!-- <li class="nav-btn" data-id="7"><a href="javascript:;">后执行脚本</a></li>-->
- </ul>
- {{if response.success.raw || response.success.parameter.length > 0 || response.error.raw ||
- response.error.parameter.length > 0}}
- <li class="nav-btn" data-id="8" style="display: block"><a href="javascript:;">
- <img src="https://img.cdn.apipost.cn/v6/docs/img/arrow.svg" alt="">
- 响应示例</a></li>
- {{else}}
- <li class="nav-btn" data-id="8" style="display:none"><a href="javascript:;">
- <img src="https://img.cdn.apipost.cn/v6/docs/img/arrow.svg" alt="">
- 响应示例</a></li>
- <!-- <ul>-->
- <!-- {{if response.success.raw || response.success.parameter.length > 0}}-->
- <!-- <li class="nav-btn" data-id="9"><a href="javascript:;">成功响应示例</a></li>-->
- <!-- {{/if}}-->
- <!---->
- <!-- {{if response.error.raw || response.error.parameter.length > 0}}-->
- <!-- <li class="nav-btn" data-id="10"><a href="javascript:;">失败响应示例</a></li>-->
- <!-- {{/if}}-->
- <!-- </ul> -->
- {{/if}}
- </script>
- </ul>
- <ul class="folder">
- <li class="cur nav-folder-btn" data-id="0"><a href="javascript:;">
- <img src="https://img.cdn.apipost.cn/v6/docs/img/arrow.svg" alt="">
- 目录说明</a></li>
- <li class="nav-folder-btn" data-id="1"><a href="javascript:;">
- <img src="https://img.cdn.apipost.cn/v6/docs/img/arrow.svg" alt="">
- 公共参数</a></li>
- <ul>
- <li class="nav-folder-btn" data-id="2"><a href="javascript:;">
- <img src="https://img.cdn.apipost.cn/v6/docs/img/arrow.svg" alt="">
- header参数及说明</a></li>
- <li class="nav-folder-btn" data-id="3"><a href="javascript:;">
- <img src="https://img.cdn.apipost.cn/v6/docs/img/arrow.svg" alt="">
- query参数及说明</a></li>
- <li class="nav-folder-btn" data-id="4"><a href="javascript:;">
- <img src="https://img.cdn.apipost.cn/v6/docs/img/arrow.svg" alt="">
- body参数及说明</a></li>
- <li class="nav-folder-btn" data-id="5"><a href="javascript:;">
- <img src="https://img.cdn.apipost.cn/v6/docs/img/arrow.svg" alt="">
- 认证及说明</a></li>
- <!-- <li class="nav-folder-btn" data-id="4"><a href="javascript:;">预执行脚本</a></li>-->
- <!-- <li class="nav-folder-btn" data-id="5"><a href="javascript:;">后执行脚本</a></li>-->
- </ul>
- </ul>
- </div>
- <script type="text/html" id="template-example-doc-tpl">
- <h2 class="top" style="display: block">
- <div style="display: flex;align-items: center;">
- <span>{{name}}</span>
- {{if target_type != 'folder'}}
- <!-- <button title="复制当前文档/接口数据到剪贴板" class="CopyCurrentData" data-clipboard-action="copy" data-clipboard-text="" data-target_id="{{local_target_id}}">
- <img src="https://img.cdn.apipost.cn/v6/docs/img/copy.svg" alt="" style="margin-right:2px">
- 复制接口
- <a style="margin-left:2px" href="https://wiki.apipost.cn/document/00091641-1e36-490d-9caf-3e47cd38bcde/0b622ce8-68c0-4a00-88ba-287bdae336ad" target="_blank" rel="noopener noreferrer">
- <img style="cursor: pointer;" src="https://img.cdn.apipost.cn/v6/docs/img/vars.svg" alt="">
- </a>
- </button> -->
- <!-- <button class="opneApis" data-target_id="{{local_target_id}}">
- <img src="https://img.cdn.apipost.cn/v6/docs/img/open.svg" alt="">
- 在工作台打开
- </button> -->
- <!-- <a href="https://wiki.apipost.cn/document/00091641-1e36-490d-9caf-3e47cd38bcde/0b622ce8-68c0-4a00-88ba-287bdae336ad" title="什么是复制接口?" target="_blank"><i class="fa fa-question-circle-o" aria-hidden="true"></i></a> -->
- {{/if}}
- </div>
- <span class="metadata">创建人:{{create_users.create_user}} 最后更新:{{create_users.update_user}} 更新时间:{{@dateFormat(update_dtime * 1000,'yyyy-MM-dd hh:mm:ss')}}</span>
- </h2>
- {{if target_type == 'folder'}}
- <h3 class="title" style="{{request.description ? 'visibility: visible;':'visibility:hidden;height:0;margin:0;'}}" ><a href="javascript:;" class="maodian">
- <img src="https://img.cdn.apipost.cn/v6/docs/img/book.svg" alt="">
- </a> 目录说明 <i class="fa fa-angle-down"></i></h3>
- {{if request.description}}
- <div class="editor-preview desc markdown-section">
- {{@marked(request.description)}}
- </div>
- {{/if}}
- {{else}}
- <h3 class="title" style="{{request.description ? 'visibility: visible;':'visibility:hidden;height:0;margin:0;'}}" ><a href="javascript:;" class="maodian">
- <img src="https://img.cdn.apipost.cn/v6/docs/img/book.svg" alt="">
- </a> 接口说明 <i class="fa fa-angle-down"></i></h3>
- {{if request.description}}
- <div class="editor-preview desc markdown-section">
- {{@marked(request.description)}}
- </div>
- {{/if}}
- {{/if}}
- {{if (target_type == 'example' && is_doc == '0') || target_type == 'api'}}
- <h3 class="title"><a href="javascript:;" class="maodian">
- <img src="https://img.cdn.apipost.cn/v6/docs/img/info.svg" alt="">
- </a> 基本信息 <i class="fa fa-angle-down"></i></h3>
- <ul class="editor-preview-info">
- <li><strong>接口状态:</strong> <code class="span" style="color: {{markColor}};">{{markName}}</code></li>
- <li><strong>接口URL:</strong> <code class="span">{{request.url ? request.url : 'url为空...'}}</code>
- </li>
- <li><strong>请求方式:</strong> <code class="span">{{method}}</code></li>
- <li><strong>Content-Type:</strong> <code class="span">{{request.body.mode}}</code></li>
- </ul>
- <h3 class="title" style="{{request.header.parameter.length > 0 || request.query.parameter.length > 0 || request.resful.parameter.length > 0 || request.body.parameter.length>0 ||request.body.raw !='' || (request?.auth?.type && request?.auth?.type != 'noauth') ? 'visibility:visible':'visibility:hidden;height:0;margin:0;'}}"><a href="javascript:;" class="maodian">
- <img src="https://img.cdn.apipost.cn/v6/docs/img/globals.svg" alt="">
- </a> 请求参数 <i class="fa fa-angle-down"></i></h3>
- {{if request.header.parameter.length > 0 || request.query.parameter.length > 0 || request.resful.parameter.length > 0 || request.body.parameter.length>0 ||request.body.raw !='' || (request?.auth?.type && request?.auth?.type != 'noauth')}}
- <div class="markdown-request">
- <h4 class="title" style="{{request.header.parameter.length > 0? 'visibility:visible':'visibility:hidden;height:0;margin:0;'}}"><a href="javascript:;" class="maodian"></a> Header参数及说明</h4>
- {{if request.header.parameter.length > 0}}
- <div>
- <table>
- <tr>
- <th>参数名</th>
- <th>示例值</th>
- <th>参数类型</th>
- <th>是否必填</th>
- <th>参数描述</th>
- </tr>
- {{each request.header.parameter item}}
- {{if item.key}}
- <tr>
- <td>
- {{if item.key_var}}
- {{item.key_var}}
- <img src="https://img.cdn.apipost.cn/v6/docs/img/vars.svg" alt="">
- <div class="vars_title">
- 变量{{item.key}} 生成
- </div>
- {{else}}
- {{item.key}}
- {{/if}}
- </td>
- <td>
- {{if item.value_var}}
- {{item.value_var}}
- <img src="https://img.cdn.apipost.cn/v6/docs/img/vars.svg" alt="">
- <div class="vars_title">
- 变量{{item.value}} 生成
- </div>
- {{else}}
- {{item.value == '' ? '-' : item.value }}
- {{/if}}
- </td>
- <td>{{item.field_type == "" || item.field_type == "[]"? (typeof item.value) :
- item.field_type}}
- </td>
- <td>{{item.not_null == "1" ? '是' : '否'}}</td>
- <td><pre>{{item.description == '' ? '-' : item.description }}</pre></td>
- </tr>
- {{/if}}
- {{/each}}
- </table>
- </div>
- {{/if}}
- <h4 class="title" style="{{request.query.parameter.length > 0 ? 'visibility:visible':'visibility:hidden;height:0;margin:0;'}}"><a href="javascript:;" class="maodian"></a> Query参数及说明</h4>
- {{if request.query.parameter.length > 0}}
- <div>
- <table>
- <tr>
- <th>参数名</th>
- <th>示例值</th>
- <th>参数类型</th>
- <th>是否必填</th>
- <th>参数描述</th>
- </tr>
- {{each request.query.parameter item}}
- {{if item.key}}
- <tr>
- <td>
- {{if item.key_var}}
- {{item.key_var}}
- <img src="https://img.cdn.apipost.cn/v6/docs/img/vars.svg" alt="">
- <div class="vars_title">
- 变量{{item.key}} 生成
- </div>
- {{else}}
- {{item.key}}
- {{/if}}
- </td>
- <td>
- {{if item.value_var}}
- {{item.value_var}}
- <img src="https://img.cdn.apipost.cn/v6/docs/img/vars.svg" alt="">
- <div class="vars_title">
- 变量{{item.value}} 生成
- </div>
- {{else}}
- {{item.value == '' ? '-' : item.value }}
- {{/if}}
- </td>
- <td>{{item.field_type == "" || item.field_type == "[]"? (typeof item.value) :
- item.field_type}}
- </td>
- <td>{{item.not_null == "1" ? '是' : '否'}}</td>
- <td><pre>{{item.description == '' ? '-' : item.description }}</pre></td>
- </tr>
- {{/if}}
- {{/each}}
- </table>
- </div>
- {{/if}}
- <h4 class="title" style="{{request.resful.parameter.length ? 'visibility:visible':'visibility:hidden;height:0;margin:0;'}}"><a href="javascript:;" class="maodian"></a> 路径参数及说明</h4>
- {{if request.resful.parameter.length > 0}}
- <div>
- <table>
- <tr>
- <th>参数名</th>
- <th>示例值</th>
- <!--
- <th>参数类型</th>
- <th>是否必填</th>
- -->
- <th>参数描述</th>
- </tr>
- {{each request.resful.parameter item}}
- {{if item.key}}
- <tr>
- <td>
- {{if item.key_var}}
- {{item.key_var}}
- <img src="https://img.cdn.apipost.cn/v6/docs/img/vars.svg" alt="">
- <div class="vars_title">
- 变量{{item.key}} 生成
- </div>
- {{else}}
- {{item.key}}
- {{/if}}
- </td>
- <td>
- {{if item.value_var}}
- {{item.value_var}}
- <img src="https://img.cdn.apipost.cn/v6/docs/img/vars.svg" alt="">
- <div class="vars_title">
- 变量{{item.value}} 生成
- </div>
- {{else}}
- {{item.value == '' ? '-' : item.value }}
- {{/if}}
- </td>
- <!--
- <td>{{item.field_type == "" || item.field_type == "[]"? (typeof item.value) :
- item.field_type}}
- </td>
- <td>{{item.not_null == "1" ? '是' : '否'}}</td>
- -->
- <td><pre>{{item.description == '' ? '-' : item.description }}</pre></td>
- </tr>
- {{/if}}
- {{/each}}
- </table>
- </div>
- {{/if}}
- <h4 class="title" style="{{ request?.auth.type && request?.auth.type != 'noauth' ? 'visibility:visible':'visibility:hidden;height:0;margin:0;'}}"><a href="javascript:;" class="maodian"></a> 认证及说明</h4>
- {{if request?.auth.type && request?.auth.type != 'noauth'}}
- <div>
- {{if request?.auth?.type == 'kv'}}
- <table class="auth">
- <tr>
- <td>认证类型:私密键值对</td>
- <td> 键: {{request?.auth?.kv?.key}}</td>
- <td> 值:{{request?.auth?.kv?.value}}</td>
- </tr>
- </table>
- {{/if}}
- {{if request.auth.type == 'basic'}}
- <table class="auth">
- <tr>
- <td>认证类型:Basic auth认证</td>
- <td>用户名: {{request?.auth?.basic?.username}}</td>
- <td>密码: {{request?.auth?.basic?.password}}</td>
- </tr>
- </table>
- {{/if}}
- {{if request?.auth?.type == 'bearer'}}
- <table class="auth">
- <tr>
- <td>认证类型:Bearer auth认证</td>
- <td>Token:{{request?.auth?.bearer?.key}}</td>
- </tr>
- </table>
- {{/if}}
- </div>
- {{/if}}
- <h4 class="title" style="{{request.body.parameter.length > 0 || request.body.raw !='' ? 'visibility:visible':'visibility:hidden;height:0;margin:0;'}}"><a href="javascript:;" class="maodian"></a> body参数及说明</h4>
- {{if request.body.parameter.length>0 ||request.body.raw !='' }}
- {{if request.body.mode == 'form-data' || request.body.mode == 'multipart/form-data' ||
- request.body.mode =='application/x-www-form-urlencoded' || request.body.mode=="urlencoded"}}
- <div>
- <table>
- <tr>
- <th>参数名</th>
- <th>示例值</th>
- <th>参数类型</th>
- <th>是否必填</th>
- <th>参数描述</th>
- </tr>
- {{if request.body.parameter.length > 0}}
- {{each request.body.parameter item}}
- {{if item.key}}
- <tr>
- <td>
- {{if item.key_var}}
- {{item.key_var}}
- <img src="https://img.cdn.apipost.cn/v6/docs/img/vars.svg" alt="">
- <div class="vars_title">
- 变量{{item.key}} 生成
- </div>
- {{else}}
- {{item.key}}
- {{/if}}
- </td>
- <td>
- {{if item.value_var}}
- {{item.value_var}}
- <img src="https://img.cdn.apipost.cn/v6/docs/img/vars.svg" alt="">
- <div class="vars_title">
- 变量{{item.value}} 生成
- </div>
- {{else}}
- {{item.value == '' ? '-' : item.value }}
- {{/if}}
- </td>
- <td>{{item.field_type == "" || item.field_type == "[]"? (typeof item.value) :
- item.field_type}}
- </td>
- <td>{{item.not_null == "1" ? '是' : '否'}}</td>
- <td><pre>{{item.description == '' ? '-' : item.description }}</pre></td>
- </tr>
- {{/if}}
- {{/each}}
- {{else}}
- <tr>
- <td colspan="5" style="text-align:center">暂无数据</td>
- </tr>
- {{/if}}
- </table>
- </div>
- {{else}}
- <div class="editor-preview">
- <input type="hidden" id="request_body_raw_editor_input" value="{{request.body.raw}}">
- <pre id="request_body_raw_editor_json"><code class="hljs json">{{request.body.raw}}</code></pre>
- <!-- <pre><code class="hljs json">{{request.body.raw}}</code></pre> -->
- </div>
- {{if request.body.raw_para.length > 0}}
- <h4><a href="javascript:;" class="maodian"></a> 字段描述</h4>
- <table>
- <tr>
- <th>参数名</th>
- <th>示例值</th>
- <th>参数类型</th>
- <!-- <th>是否必填</th> -->
- <th>参数描述</th>
- </tr>
- {{each request.body.raw_para item}}
- {{if item.key}}
- <tr>
- <td>{{@keyFormat(item.key)}}</td>
- <td>{{item.value == '' ? '-' : item.value }}</td>
- <td>{{item.field_type}}</td>
- <!-- <td>{{item.not_null == "1" ? '是' : '否'}}</td> -->
- <td><pre>{{item.description == '' ? '-' : item.description }}</pre></td>
- </tr>
- {{/if}}
- {{/each}}
- </table>
- {{/if}}
- {{/if}}
- <!-- {{if request.event.pre_script != ''}}-->
- <!-- <h4 class="title"><a href="javascript:;" class="maodian"></a> 预执行脚本</h4>-->
- <!-- <div class="editor-preview">-->
- <!-- <pre><code class="hljs">{{request.event.pre_script}}</code></pre>-->
- <!-- </div>-->
- <!-- {{/if}}-->
- <!-- {{if request.event.test != ''}}-->
- <!-- <h4 class="title"><a href="javascript:;" class="maodian"></a> 后执行脚本</h4>-->
- <!-- <div class="editor-preview">-->
- <!-- <pre><code class="hljs">{{request.event.test}}</code></pre>-->
- <!-- </div>-->
- <!-- {{/if}}-->
- {{/if}}
- </div>
- {{/if}}
- <!--respond-->
- <h3 class="title" style="{{response.success.raw || response.success.parameter.length > 0 || response.error.raw || response.error.parameter.length > 0 ? 'visibility: visible;':'visibility: hidden'}}"><a href="javascript:;" class="maodian">
- <img src="https://img.cdn.apipost.cn/v6/docs/img/globals.svg" alt="">
- </a> 响应示例<i class="fa fa-angle-down"></i></h3>
- {{if response.success.raw || response.success.parameter.length > 0 || response.error.raw || response.error.parameter.length > 0}}
- <div class="markdown-response">
- {{if response.success.raw || response.success.parameter.length > 0}}
- <h4 ><a href="javascript:;" class="maodian"></a> 成功响应示例</h4>
- <div class="editor-preview">
- <input type="hidden" id="response_success_editor_input" value="{{response.success.raw}}">
- <pre id="response_success_editor_json"><code class=" json">{{response.success.raw}}</code></pre>
- </div>
- {{if response.success.parameter.length > 0}}
- <h4><a href="javascript:;" class="maodian"></a> 字段描述</h4>
- <table class="response-parameter">
- <tr>
- <th>参数名</th>
- <th>示例值</th>
- <th>参数类型</th>
- <th>参数描述</th>
- </tr>
- {{each response.success.parameter item}}
- <tr>
- <td>{{@keyFormat(item.key)}}</td>
- <td>{{item.value == '' ? '-' : item.value }}</td>
- <td>{{item.field_type}}</td>
- <td><pre>{{item.description == '' ? '-' : item.description }}</pre></td>
- </tr>
- {{/each}}
- </table>
- {{/if}}
- {{/if}}
- {{if response.error.raw || response.error.parameter.length > 0}}
- <h4 ><a href="javascript:;" class="maodian"></a> 失败响应示例</h4>
- <div class="editor-preview">
- <input type="hidden" id="response_error_editor_input" value="{{response.error.raw}}">
- <pre id="response_error_editor_json">
- <code class="hljs json">{{response.error.raw}}</code>
- </pre>
- </div>
- {{if response.error.parameter.length > 0}}
- <h4><a href="javascript:;" class="maodian"></a> 字段描述</h4>
- <table class="response-parameter">
- <tr>
- <th>参数名</th>
- <th>示例值</th>
- <th>参数类型</th>
- <th>参数描述</th>
- </tr>
- {{each response.error.parameter item}}
- <tr>
- <td>{{@keyFormat(item.key)}}</td>
- <td>{{item.value == '' ? '-' : item.value }}</td>
- <td>{{item.field_type}}</td>
- <td><pre>{{item.description == '' ? '-' : item.description }}</pre></td>
- </tr>
- {{/each}}
- </table>
- {{/if}}
- {{/if}}
- </div>
- {{/if}}
- {{else if target_type == 'folder'}}
- <h3 class="title"><a href="javascript:;" class="maodian">
- <img src="https://img.cdn.apipost.cn/v6/docs/img/globals.svg" alt="">
- </a>公共参数<i class="fa fa-angle-down"></i></h3>
- <div class="markdown-request">
- <h4 class="title" style="{{ request.header.length > 0 ?'visibility:visible':'visibility:hidden;height:0;margin:0;'}}"><a href="javascript:;" class="maodian"></a> Header参数及说明</h4>
- {{if request.header.length > 0}}
- <div>
- <table class="header">
- <tr>
- <th>参数名</th>
- <th>示例值</th>
- <!-- <th>参数类型</th> -->
- <th>参数描述</th>
- </tr>
- {{each request.header item}}
- {{if item.key}}
- <tr>
- <td>
- {{if item.key_var}}
- {{item.key_var}}
- <img src="https://img.cdn.apipost.cn/v6/docs/img/vars.svg" alt="">
- <div class="vars_title">
- 变量{{item.key}} 生成
- </div>
- {{else}}
- {{item.key}}
- {{/if}}
- </td>
- <td>
- {{if item.value_var}}
- {{item.value_var}}
- <img src="https://img.cdn.apipost.cn/v6/docs/img/vars.svg" alt="">
- <div class="vars_title">
- 变量{{item.value}} 生成
- </div>
- {{else}}
- {{item.value == '' ? '-' : item.value}}
- {{/if}}
- </td>
- <!-- <td>{{item.field_type == "" || item.field_type == "[]"? (typeof item.value) :
- item.field_type}}
- </td> -->
- <td><pre>{{item.description == '' ? '-' : item.description }}</pre></td>
- </tr>
- {{/if}}
- {{/each}}
- </table>
- </div>
- {{/if}}
- <h4 class="title" style="{{ request.query.length > 0 ?'visibility:visible':'visibility:hidden;height:0;margin:0;'}}"><a href="javascript:;" class="maodian"></a> Query参数及说明</h4>
- {{if request.query.length > 0}}
- <div>
- <table class="query">
- <tr>
- <th>参数名</th>
- <th>示例值</th>
- <!-- <th>参数类型</th> -->
- <th>参数描述</th>
- </tr>
- {{each request.query item}}
- {{if item.key}}
- <tr>
- <td>
- {{if item.key_var}}
- {{item.key_var}}
- <img src="https://img.cdn.apipost.cn/v6/docs/img/vars.svg" alt="">
- <div class="vars_title">
- 变量{{item.key}} 生成
- </div>
- {{else}}
- {{item.key}}
- {{/if}}
- </td>
- <td>
- {{if item.value_var}}
- {{item.value_var}}
- <img src="https://img.cdn.apipost.cn/v6/docs/img/vars.svg" alt="">
- <div class="vars_title">
- 变量{{item.value}} 生成
- </div>
- {{else}}
- {{item.value == '' ? '-' : item.value}}
- {{/if}}
- </td>
- <!-- <td>{{item.field_type == "" || item.field_type == "[]"? (typeof item.value) :
- item.field_type}}
- </td> -->
- <td><pre>{{item.description == '' ? '-' : item.description }}</pre></td>
- </tr>
- {{/if}}
- {{/each}}
- </table>
- </div>
- {{/if}}
- <h4 class="title" style="{{ request.body.length > 0 ?'visibility:visible':'visibility:hidden;height:0;margin:0;'}}"><a href="javascript:;" class="maodian"></a> Body参数及说明</h4>
- {{if request.body.length > 0}}
- <div>
- <table class="body">
- <tr>
- <th>参数名</th>
- <th>示例值</th>
- <!-- <th>参数类型</th> -->
- <th>参数描述</th>
- </tr>
- {{each request.body item}}
- {{if item.key}}
- <tr>
- <td>
- {{if item.key_var}}
- {{item.key_var}}
- <img src="https://img.cdn.apipost.cn/v6/docs/img/vars.svg" alt="">
- <div class="vars_title">
- 变量{{item.key}} 生成
- </div>
- {{else}}
- {{item.key}}
- {{/if}}
- </td>
- <td>
- {{if item.value_var}}
- {{item.value_var}}
- <img src="https://img.cdn.apipost.cn/v6/docs/img/vars.svg" alt="">
- <div class="vars_title">
- 变量{{item.value}} 生成
- </div>
- {{else}}
- {{item.value == '' ? '-' : item.value}}
- {{/if}}
- </td>
- <!-- <td>{{item.field_type == "" || item.field_type == "[]"? (typeof item.value) :
- item.field_type}}
- </td> -->
- <td><pre>{{item.description == '' ? '-' : item.description }}</pre></td>
- </tr>
- {{/if}}
- {{/each}}
- </table>
- </div>
- {{/if}}
- {{if request?.auth?.type != 'noauth' && request?.auth?.type}}
- <h4 class="title">认证及说明</h4>
- {{if request?.auth?.type == 'kv'}}
- <table class="auth">
- <tr>
- <td>认证类型:私密键值对</td>
- <td>键:{{request?.auth?.kv?.key}}</td>
- <td>值:{{request?.auth?.kv?.value}}</td>
- </tr>
- </table>
- {{/if}}
- {{if request.auth.type == 'basic'}}
- <table class="auth">
- <tr>
- <td>认证类型:Basic auth认证</td>
- <td>用户名:{{request?.auth?.basic?.username}}</td>
- <td>密码:{{request?.auth?.basic?.password}}</td>
- </tr>
- </table>
- {{/if}}
- {{if request?.auth?.type == 'bearer'}}
- <table class="auth">
- <tr>
- <td>认证类型:Bearer auth认证</td>
- <td>Token:{{request?.auth?.bearer?.key}}</td>
- </tr>
- </table>
- {{/if}}
- {{/if}}
- </div>
- <!--respond-->
- {{/if}}
- <div class="footer" style="text-align: center;margin: 35px 0;height: 50px">本文档由 <a href="https://www.apipost.cn/" target="_blank" style="color:#3a86ff">APIPOST接口调试与管理工具</a> 生成</div>
- </script>
- </div>
- </div>
- </div>
- <script type="text/html" id="golbal-env-tpl">
- <h2 class="top">
- <span>全局参数</span>
- <span class="metadata">
- 创建时间:{{@dateFormat(create_dtime * 1000,'yyyy-MM-dd hh:mm:ss')}}
- {{if expire_time != -1}}
- <span style="color: #f44336; margin-left: 15px; font-weight: bold;"> 过期时间: {{@dateFormat(expire_time * 1000,'yyyy-MM-dd hh:mm:ss')}}</span>
- {{/if}}
- </span>
- </h2>
- <div class="editor-preview desc">
- <!-- <p>本文档是郭小侠的私有项目的接口文档,以下为当前项目下的公共参数。</p> -->
- </div>
- <h3 class="title">
- <a href="javascript:;" class="maodian">
- <img src="https://img.cdn.apipost.cn/v6/docs/img/globals.svg" alt="">
- </a>
- 全局参数
- {{if vars?.request?.header?.length > 0 || vars?.request?.query?.length > 0 || vars?.request?.body?.length > 0 || vars?.auth?.type != 'noauth'}}
- <i class="fa fa-angle-down"></i>
- {{/if}}
- </h3>
- {{if vars?.request?.header?.length > 0 || vars?.request?.query?.length > 0 || vars?.request?.body?.length > 0 || vars?.auth?.type != 'noauth'}}
- <div>
- {{if vars.request.header.length > 0}}
- <h4>Header参数及说明</h4>
- <table>
- <tr>
- <th>参数名</th>
- <th>参数值</th>
- <th>参数描述</th>
- </tr>
- {{each vars.request.header item}}
- <tr>
- <td>
- {{if item.key_var}}
- {{item.key_var}}
- <img src="https://img.cdn.apipost.cn/v6/docs/img/vars.svg" alt="">
- <div class="vars_title">
- 变量{{item.key}} 生成
- </div>
- {{else}}
- {{item.key}}
- {{/if}}
- </td>
- <td>
- {{if item.value_var}}
- {{item.value_var}}
- <img src="https://img.cdn.apipost.cn/v6/docs/img/vars.svg" alt="">
- <div class="vars_title">
- 变量{{item.value}} 生成
- </div>
- {{else}}
- {{item.value == '' ? '-' : item.value }}
- {{/if}}
- </td>
- <td><pre>{{item.description == '' ? '-' : item.description }}</pre></td>
- </tr>
- {{/each}}
- </table>
- {{/if}}
- {{if vars.request.query.length > 0}}
- <h4>Query参数及说明</h4>
- <table>
- <tr>
- <th>参数名</th>
- <th>参数值</th>
- <th>参数描述</th>
- </tr>
- {{each vars.request.query item}}
- <tr>
- <td>
- {{if item.key_var}}
- {{item.key_var}}
- <img src="https://img.cdn.apipost.cn/v6/docs/img/vars.svg" alt="">
- <div class="vars_title">
- 变量{{item.key}} 生成
- </div>
- {{else}}
- {{item.key}}
- {{/if}}
- </td>
- <td>
- {{if item.value_var}}
- {{item.value_var}}
- <img src="https://img.cdn.apipost.cn/v6/docs/img/vars.svg" alt="">
- <div class="vars_title">
- 变量{{item.value}} 生成
- </div>
- {{else}}
- {{item.value == '' ? '-' : item.value }}
- {{/if}}
- </td>
- <td>
- <pre>{{item.description == '' ? '-' : item.description }}</pre>
- </td>
- </tr>
- {{/each}}
- </table>
- {{/if}}
- {{if vars?.request?.body?.length > 0}}
- <h4>Body参数及说明</h4>
- <table>
- <tr>
- <th>参数名</th>
- <th>参数值</th>
- <th>参数描述</th>
- </tr>
- {{each vars?.request?.body item}}
- <tr>
- <td>
- {{if item.key_var}}
- {{item.key_var}}
- <img src="https://img.cdn.apipost.cn/v6/docs/img/vars.svg" alt="">
- <div class="vars_title">
- 变量{{item.key}} 生成
- </div>
- {{else}}
- {{item.key}}
- {{/if}}
- </td>
- <td>
- {{if item.value_var}}
- {{item.value_var}}
- <img src="https://img.cdn.apipost.cn/v6/docs/img/vars.svg" alt="">
- <div class="vars_title">
- 变量{{item.value}} 生成
- </div>
- {{else}}
- {{item.value == '' ? '-' : item.value }}
- {{/if}}
- </td>
- <td><pre>{{item.description == '' ? '-' : item.description }}</pre></td>
- </tr>
- {{/each}}
- </table>
- {{/if}}
- {{if vars?.auth?.type != 'noauth'}}
- <h4>认证及说明</h4>
- {{if vars?.auth?.type == 'kv'}}
- <table>
- <tr>
- <td>认证类型:私密键值对</td>
- <td>键:{{vars?.auth?.kv?.key}}</td>
- <td>值:{{vars?.auth?.kv?.value}}</td>
- </tr>
- </table>
- {{/if}}
- {{if vars.auth.type == 'basic'}}
- <table>
- <tr>
- <td>认证类型:Basic auth认证</td>
- <td>用户名:{{vars?.auth?.basic?.username}}</td>
- <td>密码:{{vars?.auth?.basic?.password}}</td>
- </tr>
- </table>
- {{/if}}
- {{if vars?.auth?.type == 'bearer'}}
- <table>
- <tr>
- <td>认证类型:Bearer auth认证</td>
- <td>Token:{{vars?.auth?.bearer?.key}}</td>
- </tr>
- </table>
- {{/if}}
- {{/if}}
- <!-- {{if vars.script.pre_script != ""}}-->
- <!-- <h4 class="title"><a href="javascript:;" class="maodian"></a> 预执行脚本</h4>-->
- <!-- <div class="editor-preview">-->
- <!-- <pre><code class="hljs">{{vars.script.pre_script}}</code></pre>-->
- <!-- </div>-->
- <!-- {{/if}}-->
- <!-- {{if vars.script.test != "" }}-->
- <!-- <h4 class="title"><a href="javascript:;" class="maodian"></a> 后执行脚本</h4>-->
- <!-- <div class="editor-preview">-->
- <!-- <pre><code class="hljs">{{vars.script.test}}</code></pre>-->
- <!-- </div>-->
- <!-- {{/if}}-->
- </div>
- {{else}}
- <div style="text-align: center;display: block"><img src="https://img.cdn.apipost.cn/v6/docs/img/emptyglobals.svg" style="width: 100px;margin:20px auto 20px;">暂无参数</div>
- {{/if}}
- <div class="footer" style="text-align: center;margin: 35px 24px;height: 50px;">本文档由 <a href="https://www.apipost.cn/" target="_blank" style="color:#3a86ff">APIPOST接口调试与管理工具</a> 生成</div>
- </script>
- <script type="text/html" id="doc-head-tpl">
- <div class="export">
- </div>
- <div class="user_photo">
- <img src="{{portrait}}"alt="">
- </div>
- </script>
- <script type="text/html" id="project-name-tpl">
- <img src="https://img.cdn.apipost.cn/v6/docs/img/project.svg" alt="">
- {{project_name}}
- </script>
- <script>
- template.defaults.imports.marked = function (md) {
- marked.setOptions({
- renderer: new marked.Renderer(),
- highlight: function (code) {
- return hljs.highlight('javascript', code).value;
- },
- breaks: true,
- sanitize: true
- });
- return marked(md).replace(/<pre>/g, "<pre class='hljs javascript'>");
- }
- function dateFormat(date, format) {
- date = new Date(date);
- var map = {
- "M": date.getMonth() + 1, //月份
- "d": date.getDate(), //日
- "h": date.getHours(), //小时
- "m": date.getMinutes(), //分
- "s": date.getSeconds(), //秒
- "q": Math.floor((date.getMonth() + 3) / 3), //季度
- "S": date.getMilliseconds() //毫秒
- };
- format = format.replace(/([yMdhmsqS])+/g, function (all, t) {
- var v = map[t];
- if (v !== undefined) {
- if (all.length > 1) {
- v = '0' + v;
- v = v.substr(v.length - 2);
- }
- return v;
- } else if (t === 'y') {
- return (date.getFullYear() + '').substr(4 - all.length);
- }
- return all;
- });
- return format;
- };
- template.defaults.imports.dateFormat = dateFormat;
- function dragControllerDiv(resize, left, mid, box) {
- for (let i = 0; i < resize.length; i++) {
- // 鼠标按下事件
- resize[i].onmousedown = function (e) {
- //颜色改变提醒
- resize[i].style.borderColor = "#9d9d9d";
- var startX = e.clientX;
- resize[i].left = resize[i].offsetLeft;
- // 鼠标拖动事件
- document.onmousemove = function (e) {
- var endX = e.clientX;
- var moveLen = resize[i].left + (endX - startX); // (endx-startx)=移动的距离。resize[i].left+移动的距离=左边区域最后的宽度
- var maxT = box[i].clientWidth - resize[i].offsetWidth; // 容器宽度 - 左边区域的宽度 = 右边区域的宽度
- if (moveLen < 300) moveLen = 300; // 左边区域的最小宽度为32px
- if (moveLen > maxT - 150) moveLen = maxT - 150; //右边区域最小宽度为150px
- resize[i].style.left = moveLen; // 设置左侧区域的宽度
- $('.target.title').css({ maxWidth: moveLen + 'px' })
- for (let j = 0; j < left.length; j++) {
- left[j].style.width = moveLen + "px";
- mid[j].style.width = box[i].clientWidth - moveLen - 10 + "px";
- }
- };
- // 鼠标松开事件
- document.onmouseup = function (evt) {
- //颜色恢复
- resize[i].style.borderColor = "#d6d6d6";
- document.onmousemove = null;
- document.onmouseup = null;
- resize[i].releaseCapture && resize[i].releaseCapture(); //当你不在需要继续获得鼠标消息就要应该调用ReleaseCapture()释放掉
- };
- resize[i].setCapture && resize[i].setCapture(); //该函数在属于当前线程的指定窗口里设置鼠标捕获
- return false;
- };
- }
- }
- function keyFormat(params) {
- let arr = params.split('.');
- let str = ''
- for (let i = 0; i < arr.length - 1; i++) {
- str += `<span style="color:#999">${arr[i]}.</span>`
- }
- str += arr[arr.length - 1];
- return str;
- }
- template.defaults.imports.keyFormat = keyFormat;
- let timer = null
- let arr = {"id":586352,"project_id":2354823,"name":"learn-ajax","url":"3e701d96de464b32","salt":"6578cf5b7f0e2994","password":"","env_id":"-1","create_time":1660181867,"target_id":28049348,"target_type":"folder","expire_days":-1,"expire_time":-1,"project_name":"郭小侠的私有项目","portrait":"https:\/\/img.cdn.apipost.cn\/user\/default_profile_photo\/Vector-4.png","nick_name":"郭小侠","publisher":"郭小侠","pub_name":"learn-ajax","project":{"vars":{"request":{"header":[{"is_checked":"1","type":"Text","key":"","value":"","description":""}],"query":[{"is_checked":"1","type":"Text","key":"","value":"","description":""}],"cookie":[],"body":[{"is_checked":"1","type":"Text","key":"","value":"","description":""}]},"script":{"pre_script":"","test":""},"variable":[],"auth":{"type":"noauth","kv":{"key":"","value":""},"bearer":{"key":""},"basic":{"username":"","password":""}},"methods":["POST","GET","PUT","PATCH","DELETE","COPY","HEAD","OPTIONS","LINK","UNLINK","PURGE","LOCK","UNLOCK","PROPFIND","VIEW"],"mark":[{"key":"developing","name":"开发中","color":"#3A86FF"},{"key":"complated","name":"已完成","color":"#2BA58F"},{"key":"modifying","name":"需修改","color":"#EC4646"}]}},"children":[{"local_target_id":"9cc518e2-c931-46f4-a938-9516f2a38ae2","local_parent_id":"0","name":"learn-ajax","method":"POST","mark":"developing","is_doc":0,"target_type":"folder","status":1,"sort":0,"create_dtime":1651485740,"update_dtime":1651488119,"target_id":28049348,"create_users":{"create_user":"郭小侠","update_user":"郭小侠"},"request":{"description":"搭建学习ajax的服务端APIs接口服务","header":[],"query":[],"body":[],"auth":{"type":"noauth","kv":{"key":"","value":""},"bearer":{"key":""},"basic":{"username":"","password":""}}},"script":{"pre_script":"","test":""},"children":[{"local_target_id":"93879563-5f2e-4796-bfd6-0a0966ba9f60","local_parent_id":"9cc518e2-c931-46f4-a938-9516f2a38ae2","name":"用户登录","method":"POST","mark":"complated","is_doc":0,"target_type":"api","status":1,"sort":0,"create_dtime":1651485740,"update_dtime":1651548160,"target_id":28049349,"create_users":{"create_user":"郭小侠","update_user":"郭小侠"},"request":{"url":"http:\/\/localhost:3000\/login","description":"登录接口","auth":{"type":"noauth","kv":{"key":"","value":""},"bearer":{"key":""},"basic":{"username":"","password":""}},"body":{"mode":"urlencoded","parameter":[{"is_checked":1,"type":"Text","key":"name","value":"admin","not_null":1,"description":"用户名","field_type":"Text","__DATAKEY__":"85535971-47cd-4443-886c-b13df4874fc4","key_var":"","value_var":""},{"is_checked":1,"type":"Text","key":"password","value":"123123","not_null":1,"description":"密码","field_type":"Text","__DATAKEY__":"db1df934-f533-4632-a11b-58603c6044f2","key_var":"","value_var":""}],"raw":"","raw_para":[]},"event":{"pre_script":"","test":""},"header":{"parameter":[]},"query":{"parameter":[]},"cookie":{"parameter":[]},"resful":{"parameter":[]},"url_var":"http:\/\/localhost:3000\/login"},"response":{"success":{"raw":"{\n\t\"code\": 200,\n\t\"msg\": \"登录成功\",\n\t\"data\": {\n\t\t\"name\": \"admin\",\n\t\t\"password\": \"123123\",\n\t\t\"sex\": \"0\",\n\t\t\"age\": \"18\",\n\t\t\"id\": \"1651481065895\",\n\t\t\"avatar\": \"https:\/\/picsum.photos\/100\"\n\t}\n}","parameter":[{"is_checked":1,"type":"text","key":"code","value":"200","description":"状态码","field_type":"String","static":false,"__DATAKEY__":"bab40dee-0968-4e1c-ab66-8803f16773eb"},{"is_checked":1,"type":"text","key":"msg","value":"成功","description":"返回文字描述","field_type":"String","static":false,"__DATAKEY__":"6a7353a7-4790-44a3-b64d-515891586a88"},{"is_checked":1,"type":"text","key":"data","value":"{}","description":"返回数据","field_type":"Object","static":false,"__DATAKEY__":"e9a561fe-a720-41f4-9501-092cd9daef90"},{"is_checked":-1,"type":"text","key":"","value":"","description":"","field_type":"Text","static":true,"__DATAKEY__":"ef31fc3d-c192-43f2-b726-5bf09b4e6726"}]},"error":{"raw":"{\n\t\"code\": 400,\n\t\"msg\": \"用户名或密码错误\"\n}","parameter":[{"is_checked":1,"type":"text","key":"code","value":"400","description":"状态码","field_type":"Text","static":false,"__DATAKEY__":"30edaab7-b91b-4c61-aeeb-07add5a713f5"},{"is_checked":1,"type":"text","key":"msg","value":"失败","description":"返回文字描述","field_type":"Text","static":false,"__DATAKEY__":"6c0fd878-920c-4d16-ba8d-485ea7b44c4b"},{"is_checked":-1,"type":"text","key":"","value":"","description":"","field_type":"Text","static":true,"__DATAKEY__":"5beca982-1bf5-4243-aa65-afa537334630"}]}}},{"local_target_id":"d00d9c3e-67fb-4943-a436-4f5a7bd372d7","local_parent_id":"9cc518e2-c931-46f4-a938-9516f2a38ae2","name":"用户注册","method":"POST","mark":"complated","is_doc":0,"target_type":"api","status":1,"sort":1,"create_dtime":1651486510,"update_dtime":1651548175,"target_id":28049505,"create_users":{"create_user":"郭小侠","update_user":"郭小侠"},"request":{"url":"http:\/\/localhost:3000\/register","description":"","auth":{"type":"noauth","kv":{"key":"","value":""},"bearer":{"key":""},"basic":{"username":"","password":""}},"body":{"mode":"urlencoded","parameter":[{"is_checked":1,"type":"Text","key":"name","value":"daxia","not_null":1,"description":"用户名","field_type":"Text","__DATAKEY__":"fa4f7651-f98b-4c11-b5dc-d419b401b6ce","key_var":"","value_var":""},{"is_checked":1,"type":"Text","key":"password","value":"123456","not_null":1,"description":"密码","field_type":"Text","__DATAKEY__":"77aae67a-a684-4913-acd9-965b82270719","key_var":"","value_var":""},{"is_checked":1,"type":"Text","key":"sex","value":"1","not_null":1,"description":"性别","field_type":"Text","__DATAKEY__":"b10925d1-235e-4c2c-9ab6-9c74f94deaaf","key_var":"","value_var":""},{"is_checked":1,"type":"Text","key":"age","value":"20","not_null":1,"description":"年龄","field_type":"Text","__DATAKEY__":"46dba6d2-d4ce-4b51-8148-9afa105356b7","key_var":"","value_var":""}],"raw":"","raw_para":[]},"event":{"pre_script":"","test":""},"header":{"parameter":[]},"query":{"parameter":[]},"cookie":{"parameter":[]},"resful":{"parameter":[]},"url_var":"http:\/\/localhost:3000\/register"},"response":{"success":{"raw":"{ \n \"code\": 200, \n \"msg\": \"注册成功\"\n}","parameter":[]},"error":{"raw":"{\n \"code\": 400,\n \"msg\": \"注册失败,请检查网络\"\n}","parameter":[]}}},{"local_target_id":"ce44c449-58f0-4852-a869-5152de0de9db","local_parent_id":"9cc518e2-c931-46f4-a938-9516f2a38ae2","name":"新增用户","method":"POST","mark":"complated","is_doc":0,"target_type":"api","status":1,"sort":2,"create_dtime":1651488084,"update_dtime":1651548173,"target_id":28049852,"create_users":{"create_user":"郭小侠","update_user":"郭小侠"},"request":{"url":"http:\/\/localhost:3000\/users\/insert","description":"","auth":{"type":"noauth","kv":{"key":"","value":""},"bearer":{"key":""},"basic":{"username":"","password":""}},"body":{"mode":"urlencoded","parameter":[{"is_checked":1,"type":"Text","key":"name","value":"ronger","not_null":1,"description":"用户名","field_type":"Text","__DATAKEY__":"cc39d04b-51b0-4612-beb2-3f261835c274","key_var":"","value_var":""},{"is_checked":1,"type":"Text","key":"password","value":"123123","not_null":1,"description":"密码","field_type":"Text","__DATAKEY__":"ed27c650-ed9a-466e-915f-931d5426858f","key_var":"","value_var":""},{"is_checked":1,"type":"Text","key":"sex","value":"0","not_null":1,"description":"性别","field_type":"Text","__DATAKEY__":"826b6c3a-1195-4d6d-bf2e-2c497acd2ffe","key_var":"","value_var":""},{"is_checked":1,"type":"Text","key":"age","value":"18","not_null":1,"description":"年龄","field_type":"Text","__DATAKEY__":"f17f8b19-ec69-46b0-b768-fa3e90ec4278","key_var":"","value_var":""}],"raw":"","raw_para":[]},"event":{"pre_script":"","test":""},"header":{"parameter":[]},"query":{"parameter":[]},"cookie":{"parameter":[]},"resful":{"parameter":[]},"url_var":"http:\/\/localhost:3000\/users\/insert"},"response":{"success":{"raw":"{\n \"code\": 200,\n \"msg\": \"操作成功\"\n}","parameter":[]},"error":{"raw":"{\n \"code\": 400,\n \"msg\": \"操作失败,请稍后重试\"\n}","parameter":[]}}},{"local_target_id":"baec96ac-470b-45ee-a4f4-7967c2ed7289","local_parent_id":"9cc518e2-c931-46f4-a938-9516f2a38ae2","name":"查询所有用户","method":"GET","mark":"complated","is_doc":0,"target_type":"api","status":1,"sort":3,"create_dtime":1651486668,"update_dtime":1651548169,"target_id":28049543,"create_users":{"create_user":"郭小侠","update_user":"郭小侠"},"request":{"url":"http:\/\/localhost:3000\/users","description":"","auth":{"type":"noauth","kv":{"key":"","value":""},"bearer":{"key":""},"basic":{"username":"","password":""}},"body":{"mode":"none","parameter":[],"raw":"","raw_para":[]},"event":{"pre_script":"","test":""},"header":{"parameter":[]},"query":{"parameter":[]},"cookie":{"parameter":[]},"resful":{"parameter":[]},"url_var":"http:\/\/localhost:3000\/users"},"response":{"success":{"raw":"{\n\t\"code\": 200,\n\t\"msg\": \"查询成功\",\n\t\"data\": [\n\t\t{\n\t\t\t\"name\": \"admin\",\n\t\t\t\"password\": \"123123\",\n\t\t\t\"sex\": \"0\",\n\t\t\t\"age\": \"18\",\n\t\t\t\"id\": \"1651481065895\",\n\t\t\t\"avatar\": \"https:\/\/picsum.photos\/100\"\n\t\t}\n\t]\n}","parameter":[]},"error":{"raw":"{\n\t\"code\": 400,\n\t\"msg\": \"查询失败\",\n}","parameter":[]}}},{"local_target_id":"40ea0528-116d-4ced-9a4e-a01a6d6daadb","local_parent_id":"9cc518e2-c931-46f4-a938-9516f2a38ae2","name":"分页获取用户","method":"GET","mark":"complated","is_doc":0,"target_type":"api","status":1,"sort":4,"create_dtime":1651487780,"update_dtime":1651540069,"target_id":28049805,"create_users":{"create_user":"郭小侠","update_user":"郭小侠"},"request":{"url":"http:\/\/localhost:3000\/users\/page?page=1&pageSize=5","description":"","auth":{"type":"noauth","kv":{"key":"","value":""},"bearer":{"key":""},"basic":{"username":"","password":""}},"body":{"mode":"none","parameter":[{"is_checked":"0","type":"Text","key":"page","value":"1","not_null":1,"description":"当前页,分页页码,数字类型","field_type":"Text","__DATAKEY__":"049ce5e6-f722-4a3a-b1dc-d3f43e349602","key_var":"","value_var":""},{"is_checked":"0","type":"Text","key":"pageSize","value":"5","not_null":1,"description":"每页条数","field_type":"Text","__DATAKEY__":"237e3d6d-c7ae-464d-8919-035e2e7b9d20","key_var":"","value_var":""}],"raw":"","raw_para":[]},"event":{"pre_script":"","test":""},"header":{"parameter":[]},"query":{"parameter":[{"is_checked":1,"type":"Text","key":"page","value":"1","not_null":1,"description":"分页页码,数字类型","field_type":"Text","__DATAKEY__":"73fd39d5-f1a4-45fd-963f-5e68c186c3b5","key_var":"","value_var":""},{"is_checked":1,"type":"Text","key":"pageSize","value":"5","not_null":1,"description":"每页条数","field_type":"Text","__DATAKEY__":"072db67b-06fe-4dbc-9d7a-015a0d321090","key_var":"","value_var":""}]},"cookie":{"parameter":[]},"resful":{"parameter":[]},"url_var":"http:\/\/localhost:3000\/users\/page?page=1&pageSize=5"},"response":{"success":{"raw":"{\n\t\"code\": 200,\n\t\"msg\": \"操作成功\",\n\t\"data\": {\n\t\t\"list\": [\n\t\t\t{\n\t\t\t\t\"name\": \"admin\",\n\t\t\t\t\"password\": \"123123\",\n\t\t\t\t\"sex\": \"0\",\n\t\t\t\t\"age\": \"18\",\n\t\t\t\t\"id\": \"1651481065895\",\n\t\t\t\t\"avatar\": \"https:\/\/picsum.photos\/100\"\n\t\t\t}\n\t\t],\n\t\t\"page\": {\n\t\t\t\"page\": 1,\n\t\t\t\"pageSize\": 5,\n\t\t\t\"pages\": 1,\n\t\t\t\"total\": 1\n\t\t}\n\t}\n}","parameter":[]},"error":{"raw":"{\n \"code\": 400,\n \"msg\": \"网络异常\"\n}","parameter":[]}}},{"local_target_id":"9a8e19ca-3821-4d92-8a28-7cce35d550ee","local_parent_id":"9cc518e2-c931-46f4-a938-9516f2a38ae2","name":"根据id删除用户","method":"DELETE","mark":"complated","is_doc":0,"target_type":"api","status":1,"sort":5,"create_dtime":1651486818,"update_dtime":1651548167,"target_id":28049573,"create_users":{"create_user":"郭小侠","update_user":"郭小侠"},"request":{"url":"http:\/\/localhost:3000\/users\/delete","description":"","auth":{"type":"noauth","kv":{"key":"","value":""},"bearer":{"key":""},"basic":{"username":"","password":""}},"body":{"mode":"urlencoded","parameter":[{"is_checked":1,"type":"Text","key":"id","value":"1","not_null":1,"description":"用户id","field_type":"Text","__DATAKEY__":"caec8f13-4076-45d2-a9c3-0ffad6d0d795","key_var":"","value_var":""}],"raw":"","raw_para":[]},"event":{"pre_script":"","test":""},"header":{"parameter":[]},"query":{"parameter":[]},"cookie":{"parameter":[]},"resful":{"parameter":[]},"url_var":"http:\/\/localhost:3000\/users\/delete"},"response":{"success":{"raw":"{\n\t\"code\": 200,\n\t\"msg\": \"删除成功\"\n}","parameter":[]},"error":{"raw":"{\n\t\"code\": 400,\n\t\"msg\": \"删除失败\"\n}","parameter":[]}}},{"local_target_id":"14d829b9-c373-4a9b-8440-10bf6669b061","local_parent_id":"9cc518e2-c931-46f4-a938-9516f2a38ae2","name":"根据id获取用户信息","method":"GET","mark":"developing","is_doc":0,"target_type":"api","status":1,"sort":6,"create_dtime":1651487143,"update_dtime":1651548163,"target_id":28049691,"create_users":{"create_user":"郭小侠","update_user":"郭小侠"},"request":{"url":"http:\/\/localhost:3000\/users\/id?id=1651481065895","description":"","auth":{"type":"noauth","kv":{"key":"","value":""},"bearer":{"key":""},"basic":{"username":"","password":""}},"body":{"mode":"none","parameter":[],"raw":"","raw_para":[]},"event":{"pre_script":"","test":""},"header":{"parameter":[]},"query":{"parameter":[{"is_checked":1,"type":"Text","key":"id","value":"1651481065895","not_null":1,"description":"用户id","field_type":"Text","__DATAKEY__":"2b163d58-4947-4b66-992d-b2a7eb765c36","key_var":"","value_var":""}]},"cookie":{"parameter":[]},"resful":{"parameter":[]},"url_var":"http:\/\/localhost:3000\/users\/id?id=1651481065895"},"response":{"success":{"raw":"{\n\t\"code\": 200,\n\t\"msg\": \"成功\",\n\t\"data\": {\n\t\t\"name\": \"admin\",\n\t\t\"password\": \"123123\",\n\t\t\"sex\": \"0\",\n\t\t\"age\": \"18\",\n\t\t\"id\": \"1651481065895\",\n\t\t\"avatar\": \"https:\/\/picsum.photos\/100\"\n\t}\n}","parameter":[]},"error":{"raw":"{\n \"code\": 400,\n \"msg\": \"用户不存在\"\n}","parameter":[]}}},{"local_target_id":"0c5b86ee-7881-475f-af65-a567931675a5","local_parent_id":"9cc518e2-c931-46f4-a938-9516f2a38ae2","name":"修改用户","method":"POST","mark":"complated","is_doc":0,"target_type":"api","status":1,"sort":7,"create_dtime":1651487399,"update_dtime":1651540126,"target_id":28049730,"create_users":{"create_user":"郭小侠","update_user":"郭小侠"},"request":{"url":"http:\/\/localhost:3000\/users\/update","description":"","auth":{"type":"noauth","kv":{"key":"","value":""},"bearer":{"key":""},"basic":{"username":"","password":""}},"body":{"mode":"urlencoded","parameter":[{"is_checked":1,"type":"Text","key":"name","value":"admin","not_null":1,"description":"用户名","field_type":"Text","__DATAKEY__":"38e8c221-f4cc-4b9f-8c24-7a5c233da91a","key_var":"","value_var":""},{"is_checked":1,"type":"Text","key":"password","value":"123456","not_null":1,"description":"密码","field_type":"Text","__DATAKEY__":"f17f5a24-964b-4620-a551-183a3f847f65","key_var":"","value_var":""},{"is_checked":1,"type":"Text","key":"sex","value":"1","not_null":1,"description":"性别","field_type":"Text","__DATAKEY__":"0562193e-1249-44b7-828e-63c040851ec2","key_var":"","value_var":""},{"is_checked":1,"type":"Text","key":"age","value":"20","not_null":1,"description":"年龄","field_type":"Text","__DATAKEY__":"834f218d-ecdf-4254-a7b9-1cb5bc2f16c7","key_var":"","value_var":""},{"is_checked":1,"type":"Text","key":"id","value":"1651481065895","not_null":1,"description":"用户id","field_type":"Text","__DATAKEY__":"11590a65-a02e-4b46-a26e-2d6653c1681e","key_var":"","value_var":""}],"raw":"","raw_para":[]},"event":{"pre_script":"","test":""},"header":{"parameter":[]},"query":{"parameter":[]},"cookie":{"parameter":[]},"resful":{"parameter":[]},"url_var":"http:\/\/localhost:3000\/users\/update"},"response":{"success":{"raw":"{\n \"code\": 200,\n \"msg\": \"修改成功\"\n}","parameter":[]},"error":{"raw":"{\n \"code\": 200,\n \"msg\": \"修改失败,请检查网络\"\n}","parameter":[]}}}]}]};
- function GetUrlQuery(uri) {
- let url = '';
- if (typeof uri === 'undefined') {
- url = window.location.search;
- } else {
- url = `?${uri.split('?')[1]}`;
- }
- const theRequest = {};
- if (url.indexOf('?') !== -1) {
- const str = url.substr(1);
- const strs = str.split('&');
- for (let i = 0; i < strs.length; i++) {
- theRequest[strs[i].split('=')[0]] = unescape(strs[i].split('=')[1]);
- }
- }
- return theRequest;
- };
- function findFatherDom(el) {
- if (el.parent().parent().children(":first").hasClass('folder')) {
- el.parent().parent().show()
- console.log(el.parent().parent());
- el.parent().parent().children().show()
- el.parent().parent().children(":first").find('.folder_select').removeClass('right').addClass('down')
- el.parent().parent().children(":first").nextAll('.folder').find('folder_select').removeClass('down').addClass('right')
- findFatherDom(el.parent().prev())
- } else {
- el.parent().children().show()
- return
- }
- }
- window.onload = function () {
- // const { url, salt } = GetUrlQuery();
- const head_obj = {
- portrait: arr.portrait,
- }
- let head_html = template('doc-head-tpl', head_obj);
- $('.doc-head .container').html(head_html)
- let _html = template('template-target-sidebar-list-tpl', {
- list: arr.children
- });
- $('.new').html(_html)
- let project_name_html = template('project-name-tpl', {
- project_name: arr.project_name
- });
- $('.box-first .title').html(project_name_html)
- $('.target.folder').find('.folder_select').removeClass('down').addClass('right')
- $('.target.folder').nextAll().hide()
- let urlLink = window.location.href;
- let id = urlLink.split('#')[1] ? urlLink.split('#')[1] : '001'
- if ($(`.target[data-target_id="${id}"]`).length > 0) {
- if (id != '001') {
- findFatherDom($(`.target[data-target_id="${id}"]`))
- }
- $(`.target[data-target_id="${id}"]`).trigger('click')
- } else {
- location.href = urlLink.split('#')[0] + "#001"
- return
- }
- var resize = document.getElementsByClassName("bar");
- var left = document.getElementsByClassName("box-first");
- var mid = document.getElementsByClassName("box-third");
- var box = document.getElementsByClassName("box");
- console.log(123434);
- dragControllerDiv(resize, left, mid, box);
- $('.target.folder').find('.folder_select').removeClass('down').addClass('right')
- $('.target.folder').nextAll().hide()
- }
- $('.body').show()
- $(document).on('click', '.target', function () {
- let _local_target_id = $(this).attr('data-target_id');
- let urlLink = window.location.href.split('#')[0] + '#' + _local_target_id;
- const { url, salt } = GetUrlQuery();
- const token = localStorage.getItem(`token${url}`);
- history.replaceState(null, null, urlLink)
- console.log(url);
- $('.target').each((i, el) => {
- $(el).removeClass('active')
- })
- if ($(this).attr('data-type') == 'folder') {
- $('.box-nav').show()
- $(this).nextAll().show()
- $(this).find('.folder_select').removeClass('right').addClass('down')
- $('.box-nav .folder').show()
- $('.box-nav .api').hide()
- } else if ($(this).attr('data-type') == 'example' || $(this).attr('data-type') == 'api') {
- $('.box-nav').show()
- $('.box-nav .api').show()
- $('.box-nav .folder').hide()
- } else {
- $('.box-nav').hide()
- }
- $(this).addClass('active')
- // if (_local_target_id == 001 || !_local_target_id) {
- // return;
- // }
- let newdata = JSON.parse(JSON.stringify(arr))
- let LevelArr = []
- function levelTree(arr1, newarr) {
- arr1.forEach(item => {
- if (item.children && item.children.length > 0) {
- newarr.push(item)
- levelTree(item.children, newarr)
- } else {
- newarr.push(item)
- }
- })
- }
- levelTree(newdata.children, LevelArr)
- LevelArr.forEach(item => {
- if (item.local_target_id == _local_target_id) {
- if (item.target_type == 'example' || item.target_type == 'api') {
- switch (item.request.body.mode) {
- case "none":
- break;
- case "form-data":
- item.request.body.mode = "multipart/form-data";
- break;
- case "urlencoded":
- item.request.body.mode = "application/x-www-form-urlencoded";
- break;
- case "json":
- item.request.body.mode = "application/json";
- break;
- case "xml":
- item.request.body.mode = "application/xml";
- break;
- case "javascript":
- item.request.body.mode = "application/javascript";
- break;
- case "plain":
- item.request.body.mode = "text/plain";
- break;
- case "html":
- item.request.body.mode = "text/html";
- break;
- }
- $('.template-nav-menu').html(template('template-nav-menu-tpl', item));
- if (item.target_type != 'folder') {
- let _export_data = new ClipboardJS('.CopyCurrentData', {
- text: function (trigger) {
- return trigger.getAttribute('data-clipboard-text');
- }
- });
- console.log(_export_data);
- _export_data.on('success', function (e) {
- $('.CopyCurrentData').text('已复制').addClass('success');
- e.clearSelection();
- });
- _export_data.on('error', function (e) {
- console.log('失败');
- });
- }
- }
- arr?.project?.vars?.mark.forEach((it) => {
- if (it.key == item.mark) {
- if (it.color == '') {
- if (item.mark == 'developing') {
- item.markName = '开发中'
- item.markColor = 'rgb(58, 134, 255)'
- }
- if (item.mark == 'complated') {
- item.markName = '已完成'
- item.markColor = 'rgb(46, 196, 182)'
- }
- if (item.mark == 'modifying') {
- item.markName = '需修改'
- item.markColor = 'rgb(236, 70, 70)'
- }
- } else {
- item.markName = it.name
- item.markColor = it.color
- }
- }
- })
- let _html = template('template-example-doc-tpl', item);
- $('.preview-markdown').html(_html)
- if (item.target_type == 'folder') {
- const folderData = { ...item }
- if (item.target_type == 'folder') {
- folderData?.request?.header?.forEach((it, index) => !it.key && folderData.request?.header.splice(index, 1))
- folderData?.request?.query?.forEach((it, index) => !it.key && folderData.request?.query.splice(index, 1))
- folderData?.request?.body?.forEach((it, index) => !it.key && folderData.request?.body.splice(index, 1))
- }
- let _html = template('template-example-doc-tpl', folderData);
- if ($('table.header tr').length <= 1) {
- $('table.header').parent().hide()
- $('table.header').parent().prev().hide()
- $('.nav-folder-btn[data-id="1"]').hide()
- // $('table.header tr').after('<tr><td colspan="4" style="text-align:center">暂无数据</td></tr>')
- }
- if ($('table.query tr').length <= 1) {
- $('table.query').parent().hide()
- $('table.query').parent().prev().hide()
- $('.nav-folder-btn[data-id="2"]').hide()
- // $('table.query tr').after('<tr><td colspan="4" style="text-align:center">暂无数据</td></tr>')
- }
- if ($('table.body tr').length <= 1) {
- $('table.body').parent().hide()
- $('table.body').parent().prev().hide()
- $('.nav-folder-btn[data-id="3"]').hide()
- // $('table.body tr').after('<tr><td colspan="4" style="text-align:center">暂无数据</td></tr>')
- }
- if ($('table.header tr').length <= 1 && $('table.query tr').length <= 1 && $('table.body tr').length <= 1) {
- $('table.header').parents('.markdown-request').prev().hide()
- $('.box-nav .nav-folder-btn[data-id="0"]').hide()
- $('.preview-markdown .markdown-request').after('<div style="overflow: hidden;text-align: center;height: 100%;"><img src="https://img.cdn.apipost.cn/v6/docs/img/empty.svg" style="width:100px;margin: 70px auto 20px;;">暂无参数</div>')
- }
- hljs.initHighlighting();
- } else {
- let _export_data = new ClipboardJS('.CopyCurrentData', {
- text: function (trigger) {
- return trigger.getAttribute('data-clipboard-text');
- }
- });
- console.log(_export_data);
- _export_data.on('success', function (e) {
- $('.CopyCurrentData').text('已复制').addClass('success');
- e.clearSelection();
- });
- _export_data.on('error', function (e) {
- console.log('失败');
- });
- $('.CopyCurrentData').attr('data-clipboard-text', JSON.stringify(item));
- }
- try {
- let obj = item.request.body.raw_para.map(item => {
- let arr = item.key.split('.')
- item.newKey = arr[arr.length - 1]
- return item
- })
- let editor = new JsonEditor('#request_body_raw_editor_json', JSON5.parse($('#request_body_raw_editor_input').val()), {}, obj).load(JSON5.parse($('#request_body_raw_editor_input').val()), obj)
- } catch (e) {
- console.log(e);
- }
- // 成功响应示例
- try {
- let obj = item.response.success.parameter.map(item => {
- let arr = item.key.split('.')
- item.newKey = arr[arr.length - 1]
- return item
- })
- let editor = new JsonEditor('#response_success_editor_json', JSON5.parse($('#response_success_editor_input').val()), {}, obj).load(JSON5.parse($('#response_success_editor_input').val()), obj)
- } catch (e) { console.log(e); }
- // 失败响应示例
- try {
- let obj = item.response.error.parameter.map(item => {
- let arr = item.key.split('.')
- item.newKey = arr[arr.length - 1]
- return item
- })
- let editor = new JsonEditor('#response_error_editor_json', JSON5.parse($('#response_error_editor_input').val()), {}, obj).load(JSON5.parse($('#response_error_editor_input').val()), obj)
- } catch (e) { console.log(e); }
- aptIndent.init();
- }
- })
- $("table").colResizable({
- liveDrag: true,
- gripInnerHtml: "<div class='grip'></div>",
- draggingClass: "dragging",
- resizeMode: 'fit'
- });
- })
- .on('click', '.control', function (e) {
- e.stopPropagation()
- let type = $(this).find('.folder_select').hasClass('down')
- if (type) {
- $(this).find('.folder_select').removeClass('down').addClass('right')
- } else {
- $(this).find('.folder_select').removeClass('right').addClass('down')
- }
- $(this).parents('.target').nextAll().toggle()
- })
- .on('input', '.search', function (e) {
- if (timer) {
- clearTimeout(timer);
- }
- timer = setTimeout(() => {
- let searchVal = $(this).val().toLocaleLowerCase()
- let TreeData = JSON.parse(JSON.stringify(arr.children))
- let searchArr = []
- let LevelArr = []
- let fatherArr = []
- function openTree(tree, parent_id) {
- tree.forEach((item) => {
- if (item.children && item.children.length > 0) {
- openTree(item.children, item.local_target_id)
- }
- item.parent_id = parent_id
- })
- }
- openTree(TreeData, 0);
- function levelTree(arr, newarr) {
- arr.forEach(item => {
- if (item.children && item.children.length > 0) {
- newarr.push(item)
- levelTree(item.children, newarr)
- } else {
- newarr.push(item)
- }
- })
- }
- levelTree(TreeData, LevelArr)
- if ($.trim(searchVal) != '') {
- LevelArr.forEach(item => {
- if (item.target_type == 'folder') {
- if (item.name.toString().toLocaleLowerCase().indexOf(searchVal) > -1) {
- searchArr.push(item)
- }
- } else {
- if (item.name.toString().toLocaleLowerCase().indexOf(searchVal) > -1 || item.method.toString().toLocaleLowerCase().indexOf(searchVal) > -1) {
- searchArr.push(item)
- }
- }
- })
- searchArr.forEach(item => {
- findFather(fatherArr, LevelArr, item)
- })
- function findFather(tempArr, arr, self) {
- if (self.parent_id != 0) {
- arr.filter(item => {
- if (self.parent_id == item.local_target_id) {
- findFather(tempArr, arr, item);
- if (tempArr.indexOf(item) === -1) {
- tempArr.push(item);
- }
- }
- })
- }
- }
- let finnalArr = searchArr.concat(fatherArr)
- $('.target').hide()
- $('.target[data-target_id="001"]').show()
- finnalArr.forEach(item => {
- $(`.target[data-target_id="${item.local_target_id}"]`).parent().show()
- $(`.target[data-target_id="${item.local_target_id}"]`).show()
- $('.target.folder').find('.folder_select').removeClass('right').addClass('down')
- })
- } else {
- $('.target').parent().show()
- $('.target').show()
- }
- }, 100)
- })
- .on('mouseover', '.target.api', function () {
- // $(this).find('em').css({ visibility: 'visible' })
- })
- .on('mouseleave', '.target.api', function () {
- // $(this).find('em').css({ visibility: 'hidden' })
- })
- .on('click', '.nav-btn', function () {
- let index = parseInt($(this).attr('data-id'))
- $('.nav-btn').removeClass('cur')
- $(this).addClass('cur')
- console.log(index, $('.box-third .title').eq(index)[0]);
- let top = $('.box-third .title').eq(index)[0].offsetTop
- $('.box-third').scrollTop(top)
- })
- .on('click', '.nav-folder-btn', function () {
- let index = parseInt($(this).attr('data-id'))
- $('.nav-folder-btn').removeClass('cur')
- $(this).addClass('cur')
- let top = $('.box-third .title').eq(index)[0].offsetTop
- $('.box-third').scrollTop(top)
- })
- .on('click', '.box-first .top', function () {
- $('.target').removeClass('active')
- $(this).addClass('active')
- const obj = { ...arr?.project }
- obj.create_dtime = arr?.create_time
- obj.expire_time = arr?.expire_time
- obj?.vars?.request?.header?.forEach((it, index) => {
- if (!it.key) {
- obj?.vars?.request?.header?.splice(index, 1)
- }
- })
- obj?.vars?.request?.query?.forEach((it, index) => {
- if (!it.key) {
- obj?.vars?.request?.query?.splice(index, 1)
- }
- })
- obj?.vars?.request?.body?.forEach((it, index) => {
- if (!it.key) {
- obj?.vars?.request?.body?.splice(index, 1)
- }
- })
- let _html = template('golbal-env-tpl', obj);
- $('.preview-markdown').html(_html)
- })
- .on('click', 'h3.title', function () {
- let type = $(this).find('i').hasClass('fa-angle-down')
- if (type) {
- $(this).find('i').removeClass('fa-angle-down').addClass('fa-angle-left')
- } else {
- $(this).find('i').removeClass('fa-angle-left').addClass('fa-angle-down')
- }
- $(this).next().toggle()
- })
- .on('mouseover', '.export', function () {
- $(this).find('.export_panel').show()
- })
- .on('mouseleave', '.export', function () {
- $(this).find('.export_panel').hide()
- })
- $(".box-third").scroll(function () {
- let arr = []
- $('.box-third .title').each((i, el) => {
- arr.push($(el)[0].offsetTop)
- })
- arr.push(arr[arr.length - 1] + 10000)
- let topHeight = $(this).scrollTop();
- if ($('.target.active').hasClass('api')) {
- for (let index = 0; index < arr.length; index++) {
- if (arr[index] < topHeight && topHeight < arr[index + 1]) {
- $('.nav-btn').removeClass('cur')
- $('.nav-btn').eq(index).addClass('cur')
- }
- }
- } else {
- for (let index = 0; index < arr.length; index++) {
- if (arr[index] < topHeight && topHeight < arr[index + 1]) {
- $('.nav-folder-btn').removeClass('cur')
- $('.nav-folder-btn').eq(index).addClass('cur')
- }
- }
- }
- });
- </script>
- </body>
- </html>
|