docs: 文档修改

This commit is contained in:
wenbo.dong 2017-09-12 11:58:22 +08:00
parent 7a2581f720
commit 27e40774a6
17 changed files with 245 additions and 516 deletions

View File

@ -30,12 +30,7 @@
<li class="">
<a href="index.html">首页</a>
</li>
<li class="">
<a href="usage.html">使用手册</a>
<a href="index.html">使用手册</a>
</li>
<li class="active">
@ -3951,7 +3946,7 @@
<p>
<small class="text-muted">源码位置:</small>
<a href="./static/server/controllers/interface.js.html#614" target="_blank">./server/controllers/interface.js:614</a>
<a href="./static/server/controllers/interface.js.html#615" target="_blank">./server/controllers/interface.js:615</a>
</p>
@ -4092,7 +4087,7 @@
<p>
<small class="text-muted">源码位置:</small>
<a href="./static/server/controllers/follow.js.html#45" target="_blank">./server/controllers/follow.js:45</a>
<a href="./static/server/controllers/follow.js.html#46" target="_blank">./server/controllers/follow.js:46</a>
</p>
@ -4157,7 +4152,7 @@
<p>
<small class="text-muted">源码位置:</small>
<a href="./static/server/controllers/follow.js.html#77" target="_blank">./server/controllers/follow.js:77</a>
<a href="./static/server/controllers/follow.js.html#78" target="_blank">./server/controllers/follow.js:78</a>
</p>
@ -4459,7 +4454,7 @@
<p>
<small class="text-muted">源码位置:</small>
<a href="./static/server/controllers/interfaceCol.js.html#128" target="_blank">./server/controllers/interfaceCol.js:128</a>
<a href="./static/server/controllers/interfaceCol.js.html#133" target="_blank">./server/controllers/interfaceCol.js:133</a>
</p>
@ -4641,7 +4636,7 @@
<p>
<small class="text-muted">源码位置:</small>
<a href="./static/server/controllers/interfaceCol.js.html#208" target="_blank">./server/controllers/interfaceCol.js:208</a>
<a href="./static/server/controllers/interfaceCol.js.html#213" target="_blank">./server/controllers/interfaceCol.js:213</a>
</p>
@ -4811,7 +4806,7 @@
<p>
<small class="text-muted">源码位置:</small>
<a href="./static/server/controllers/interfaceCol.js.html#277" target="_blank">./server/controllers/interfaceCol.js:277</a>
<a href="./static/server/controllers/interfaceCol.js.html#282" target="_blank">./server/controllers/interfaceCol.js:282</a>
</p>
@ -4873,7 +4868,7 @@
<p>
<small class="text-muted">源码位置:</small>
<a href="./static/server/controllers/interfaceCol.js.html#330" target="_blank">./server/controllers/interfaceCol.js:330</a>
<a href="./static/server/controllers/interfaceCol.js.html#339" target="_blank">./server/controllers/interfaceCol.js:339</a>
</p>
@ -4947,7 +4942,7 @@
<p>
<small class="text-muted">源码位置:</small>
<a href="./static/server/controllers/interfaceCol.js.html#371" target="_blank">./server/controllers/interfaceCol.js:371</a>
<a href="./static/server/controllers/interfaceCol.js.html#380" target="_blank">./server/controllers/interfaceCol.js:380</a>
</p>
@ -5007,7 +5002,7 @@
<p>
<small class="text-muted">源码位置:</small>
<a href="./static/server/controllers/interfaceCol.js.html#413" target="_blank">./server/controllers/interfaceCol.js:413</a>
<a href="./static/server/controllers/interfaceCol.js.html#422" target="_blank">./server/controllers/interfaceCol.js:422</a>
</p>

View File

@ -28,14 +28,9 @@
<nav class="ydoc-nav">
<ul class="navbar-left">
<li class="">
<a href="index.html">首页</a>
</li>
<li class="active">
<a href="usage.html">使用手册</a>
<a href="index.html">使用手册</a>
</li>
<li class="">
@ -74,37 +69,37 @@
<!-- <li > -->
<li >
<a href="usage-认识 YApi.html">认识 YApi</a>
<a href="index-认识 YApi.html">认识 YApi</a>
</li>
<!-- <li > -->
<li >
<a href="usage-创建第一个API.html">创建第一个API</a>
<a href="index-创建第一个API.html">创建第一个API</a>
</li>
<!-- <li > -->
<li >
<a href="usage-管理分组与项目.html">管理分组与项目</a>
<a href="index-管理分组与项目.html">管理分组与项目</a>
</li>
<!-- <li > -->
<li >
<a href="usage-项目操作.html">项目操作</a>
<a href="index-项目操作.html">项目操作</a>
</li>
<!-- <li > -->
<li >
<a href="usage-接口操作.html">接口操作</a>
<a href="index-接口操作.html">接口操作</a>
</li>
<!-- <li class="active" class="active" > -->
<li class="active" >
<a href="usage-使用mock功能.html">使用mock功能</a>
<a href="index-使用mock功能.html">使用mock功能</a>
</li>
<ul class="nav docs-sidenav-extend" >
@ -134,7 +129,7 @@
<!-- <li > -->
<li >
<a href="usage-使用测试集.html">使用测试集</a>
<a href="index-使用测试集.html">使用测试集</a>
</li>
</ul>
@ -149,14 +144,14 @@
<pre><code>mockd地址 http<span class="token operator">:</span>//yapi.corp.qunar.com/mock/<span class="token number">29</span>/api/hackathon/login
</code></pre><p>项目id可以在项目设置里查看到</p>
<h2 class="subject" id="定义mock数据示例">定义mock数据示例 <a class="hashlink" href="#定义mock数据示例">#</a></h2><pre><code><span class="token punctuation">{</span>
"status|<span class="token number">0</span>-<span class="token number">1</span>"<span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span> //接口状态
<span class="token property">"status|0-1"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span> //接口状态
<span class="token property">"message"</span><span class="token operator">:</span> <span class="token string">"请求完成"</span><span class="token punctuation">,</span> //消息提示
<span class="token property">"data"</span><span class="token operator">:</span> <span class="token punctuation">{</span>
<span class="token property">"counts"</span><span class="token operator">:</span><span class="token string">"@integer"</span><span class="token punctuation">,</span> //统计数量
"totalSubjectType|<span class="token number">4</span>-<span class="token number">10</span>"<span class="token operator">:</span> <span class="token punctuation">[</span>
<span class="token property">"totalSubjectType|4-10"</span><span class="token operator">:</span> <span class="token punctuation">[</span>
<span class="token punctuation">{</span>
"subjectName|regexp"<span class="token operator">:</span> "大数据|机器学习|工具<span class="token string">", //主题名
"</span>subjectType|+<span class="token number">1</span>"<span class="token operator">:</span> <span class="token number">1</span> //类型
<span class="token property">"subjectName|regexp"</span><span class="token operator">:</span> <span class="token string">"大数据|机器学习|工具"</span><span class="token punctuation">,</span> //主题名
<span class="token property">"subjectType|+1"</span><span class="token operator">:</span> <span class="token number">1</span> //类型
<span class="token punctuation">}</span>
<span class="token punctuation">]</span><span class="token punctuation">,</span>
<span class="token property">"data"</span><span class="token operator">:</span><span class="token punctuation">[</span>
@ -169,8 +164,8 @@
<span class="token punctuation">}</span>
</code></pre><h2 class="subject" id="yapiMock跟mockjs区别">yapiMock跟mockjs区别 <a class="hashlink" href="#yapiMock跟mockjs区别">#</a></h2><p>因为yapi基于json定义mock无法使用mockjs原有的函数功能正则表达式需要基于rule书写示例如下</p>
<pre><code><span class="token punctuation">{</span>
"name|regexp"<span class="token operator">:</span> <span class="token string">"[a-z0-9_]+?"</span><span class="token punctuation">,</span>
"type|regexp"<span class="token operator">:</span> "json|text|xml" //枚举数据类型可这样实现
<span class="token property">"name|regexp"</span><span class="token operator">:</span> <span class="token string">"[a-z0-9_]+?"</span><span class="token punctuation">,</span>
<span class="token property">"type|regexp"</span><span class="token operator">:</span> <span class="token string">"json|text|xml"</span> //枚举数据类型可这样实现
<span class="token punctuation">}</span>
</code></pre><h2 class="subject" id="如何使用Mock?">如何使用Mock? <a class="hashlink" href="#如何使用Mock?">#</a></h2><h3 class="subject" id="1_在js代码直接请求yapi提供的mock地址不用担心跨域问题">1 在js代码直接请求yapi提供的mock地址不用担心跨域问题 <a class="hashlink" href="#1_在js代码直接请求yapi提供的mock地址不用担心跨域问题">#</a></h3><p>在代码直接请求yapi提供的mock地址以jQuery为例</p>
<pre><code class="lang-javascript"><span class="token keyword">let</span> prefix <span class="token operator">=</span> <span class="token string">'http://yapi.local.qunar.com:3000/mock/2817'</span>
@ -201,9 +196,9 @@ $<span class="token punctuation">.</span><span class="token function">post</span
<p><a href="#DPD">2. 数据占位符定义规范Data Placeholder DefinitionDPD</a></p>
<p><span id = "DTD"></span></p>
<h3 class="subject" id="数据模板定义规范Data_Template_DefinitionDTD">数据模板定义规范Data Template DefinitionDTD <a class="hashlink" href="#数据模板定义规范Data_Template_DefinitionDTD">#</a></h3><p>数据模板中的每个属性由 3 部分构成:属性名、生成规则、属性值:</p>
<pre><code>// 属性名 name (与生成规则之间用 "|<span class="token string">" 隔开)
// 生成规则 rule生成规则有7种详见下面的生成规则
// 属性值 value可以含有 "</span>@占位符" 同时也指定了最终值的初始值和类型)
<pre><code>// 属性名 name (与生成规则之间用 <span class="token string">"|"</span> 隔开)
// 生成规则 rule生成规则有<span class="token number">7</span>种详见下面的生成规则)
// 属性值 value可以含有 <span class="token string">"@占位符"</span> 同时也指定了最终值的初始值和类型)
'name|rule'<span class="token operator">:</span> value

View File

@ -28,14 +28,9 @@
<nav class="ydoc-nav">
<ul class="navbar-left">
<li class="">
<a href="index.html">首页</a>
</li>
<li class="active">
<a href="usage.html">使用手册</a>
<a href="index.html">使用手册</a>
</li>
<li class="">
@ -74,43 +69,43 @@
<!-- <li > -->
<li >
<a href="usage-认识 YApi.html">认识 YApi</a>
<a href="index-认识 YApi.html">认识 YApi</a>
</li>
<!-- <li > -->
<li >
<a href="usage-创建第一个API.html">创建第一个API</a>
<a href="index-创建第一个API.html">创建第一个API</a>
</li>
<!-- <li > -->
<li >
<a href="usage-管理分组与项目.html">管理分组与项目</a>
<a href="index-管理分组与项目.html">管理分组与项目</a>
</li>
<!-- <li > -->
<li >
<a href="usage-项目操作.html">项目操作</a>
<a href="index-项目操作.html">项目操作</a>
</li>
<!-- <li > -->
<li >
<a href="usage-接口操作.html">接口操作</a>
<a href="index-接口操作.html">接口操作</a>
</li>
<!-- <li > -->
<li >
<a href="usage-使用mock功能.html">使用mock功能</a>
<a href="index-使用mock功能.html">使用mock功能</a>
</li>
<!-- <li class="active" class="active" > -->
<li class="active" >
<a href="usage-使用测试集.html">使用测试集</a>
<a href="index-使用测试集.html">使用测试集</a>
</li>
<ul class="nav docs-sidenav-extend" >

View File

@ -28,14 +28,9 @@
<nav class="ydoc-nav">
<ul class="navbar-left">
<li class="">
<a href="index.html">首页</a>
</li>
<li class="active">
<a href="usage.html">使用手册</a>
<a href="index.html">使用手册</a>
</li>
<li class="">
@ -74,13 +69,13 @@
<!-- <li > -->
<li >
<a href="usage-认识 YApi.html">认识 YApi</a>
<a href="index-认识 YApi.html">认识 YApi</a>
</li>
<!-- <li class="active" class="active" > -->
<li class="active" >
<a href="usage-创建第一个API.html">创建第一个API</a>
<a href="index-创建第一个API.html">创建第一个API</a>
</li>
<ul class="nav docs-sidenav-extend" >
@ -102,31 +97,31 @@
<!-- <li > -->
<li >
<a href="usage-管理分组与项目.html">管理分组与项目</a>
<a href="index-管理分组与项目.html">管理分组与项目</a>
</li>
<!-- <li > -->
<li >
<a href="usage-项目操作.html">项目操作</a>
<a href="index-项目操作.html">项目操作</a>
</li>
<!-- <li > -->
<li >
<a href="usage-接口操作.html">接口操作</a>
<a href="index-接口操作.html">接口操作</a>
</li>
<!-- <li > -->
<li >
<a href="usage-使用mock功能.html">使用mock功能</a>
<a href="index-使用mock功能.html">使用mock功能</a>
</li>
<!-- <li > -->
<li >
<a href="usage-使用测试集.html">使用测试集</a>
<a href="index-使用测试集.html">使用测试集</a>
</li>
</ul>

View File

@ -28,14 +28,9 @@
<nav class="ydoc-nav">
<ul class="navbar-left">
<li class="">
<a href="index.html">首页</a>
</li>
<li class="active">
<a href="usage.html">使用手册</a>
<a href="index.html">使用手册</a>
</li>
<li class="">
@ -74,31 +69,31 @@
<!-- <li > -->
<li >
<a href="usage-认识 YApi.html">认识 YApi</a>
<a href="index-认识 YApi.html">认识 YApi</a>
</li>
<!-- <li > -->
<li >
<a href="usage-创建第一个API.html">创建第一个API</a>
<a href="index-创建第一个API.html">创建第一个API</a>
</li>
<!-- <li > -->
<li >
<a href="usage-管理分组与项目.html">管理分组与项目</a>
<a href="index-管理分组与项目.html">管理分组与项目</a>
</li>
<!-- <li > -->
<li >
<a href="usage-项目操作.html">项目操作</a>
<a href="index-项目操作.html">项目操作</a>
</li>
<!-- <li class="active" class="active" > -->
<li class="active" >
<a href="usage-接口操作.html">接口操作</a>
<a href="index-接口操作.html">接口操作</a>
</li>
<ul class="nav docs-sidenav-extend" >
@ -116,13 +111,13 @@
<!-- <li > -->
<li >
<a href="usage-使用mock功能.html">使用mock功能</a>
<a href="index-使用mock功能.html">使用mock功能</a>
</li>
<!-- <li > -->
<li >
<a href="usage-使用测试集.html">使用测试集</a>
<a href="index-使用测试集.html">使用测试集</a>
</li>
</ul>

View File

@ -28,14 +28,9 @@
<nav class="ydoc-nav">
<ul class="navbar-left">
<li class="">
<a href="index.html">首页</a>
</li>
<li class="active">
<a href="usage.html">使用手册</a>
<a href="index.html">使用手册</a>
</li>
<li class="">
@ -74,19 +69,19 @@
<!-- <li > -->
<li >
<a href="usage-认识 YApi.html">认识 YApi</a>
<a href="index-认识 YApi.html">认识 YApi</a>
</li>
<!-- <li > -->
<li >
<a href="usage-创建第一个API.html">创建第一个API</a>
<a href="index-创建第一个API.html">创建第一个API</a>
</li>
<!-- <li class="active" class="active" > -->
<li class="active" >
<a href="usage-管理分组与项目.html">管理分组与项目</a>
<a href="index-管理分组与项目.html">管理分组与项目</a>
</li>
<ul class="nav docs-sidenav-extend" >
@ -104,25 +99,25 @@
<!-- <li > -->
<li >
<a href="usage-项目操作.html">项目操作</a>
<a href="index-项目操作.html">项目操作</a>
</li>
<!-- <li > -->
<li >
<a href="usage-接口操作.html">接口操作</a>
<a href="index-接口操作.html">接口操作</a>
</li>
<!-- <li > -->
<li >
<a href="usage-使用mock功能.html">使用mock功能</a>
<a href="index-使用mock功能.html">使用mock功能</a>
</li>
<!-- <li > -->
<li >
<a href="usage-使用测试集.html">使用测试集</a>
<a href="index-使用测试集.html">使用测试集</a>
</li>
</ul>

View File

@ -28,14 +28,9 @@
<nav class="ydoc-nav">
<ul class="navbar-left">
<li class="">
<a href="index.html">首页</a>
</li>
<li class="active">
<a href="usage.html">使用手册</a>
<a href="index.html">使用手册</a>
</li>
<li class="">
@ -74,7 +69,7 @@
<!-- <li class="active" class="active" > -->
<li class="active" >
<a href="usage-认识 YApi.html">认识 YApi</a>
<a href="index-认识 YApi.html">认识 YApi</a>
</li>
<ul class="nav docs-sidenav-extend" >
@ -100,37 +95,37 @@
<!-- <li > -->
<li >
<a href="usage-创建第一个API.html">创建第一个API</a>
<a href="index-创建第一个API.html">创建第一个API</a>
</li>
<!-- <li > -->
<li >
<a href="usage-管理分组与项目.html">管理分组与项目</a>
<a href="index-管理分组与项目.html">管理分组与项目</a>
</li>
<!-- <li > -->
<li >
<a href="usage-项目操作.html">项目操作</a>
<a href="index-项目操作.html">项目操作</a>
</li>
<!-- <li > -->
<li >
<a href="usage-接口操作.html">接口操作</a>
<a href="index-接口操作.html">接口操作</a>
</li>
<!-- <li > -->
<li >
<a href="usage-使用mock功能.html">使用mock功能</a>
<a href="index-使用mock功能.html">使用mock功能</a>
</li>
<!-- <li > -->
<li >
<a href="usage-使用测试集.html">使用测试集</a>
<a href="index-使用测试集.html">使用测试集</a>
</li>
</ul>

View File

@ -28,14 +28,9 @@
<nav class="ydoc-nav">
<ul class="navbar-left">
<li class="">
<a href="index.html">首页</a>
</li>
<li class="active">
<a href="usage.html">使用手册</a>
<a href="index.html">使用手册</a>
</li>
<li class="">
@ -74,25 +69,25 @@
<!-- <li > -->
<li >
<a href="usage-认识 YApi.html">认识 YApi</a>
<a href="index-认识 YApi.html">认识 YApi</a>
</li>
<!-- <li > -->
<li >
<a href="usage-创建第一个API.html">创建第一个API</a>
<a href="index-创建第一个API.html">创建第一个API</a>
</li>
<!-- <li > -->
<li >
<a href="usage-管理分组与项目.html">管理分组与项目</a>
<a href="index-管理分组与项目.html">管理分组与项目</a>
</li>
<!-- <li class="active" class="active" > -->
<li class="active" >
<a href="usage-项目操作.html">项目操作</a>
<a href="index-项目操作.html">项目操作</a>
</li>
<ul class="nav docs-sidenav-extend" >
@ -114,19 +109,19 @@
<!-- <li > -->
<li >
<a href="usage-接口操作.html">接口操作</a>
<a href="index-接口操作.html">接口操作</a>
</li>
<!-- <li > -->
<li >
<a href="usage-使用mock功能.html">使用mock功能</a>
<a href="index-使用mock功能.html">使用mock功能</a>
</li>
<!-- <li > -->
<li >
<a href="usage-使用测试集.html">使用测试集</a>
<a href="index-使用测试集.html">使用测试集</a>
</li>
</ul>

View File

@ -8,7 +8,7 @@
<meta http-equiv="X-UA-Compatible" content="ie=edge, chrome=1">
<meta name="description" content="description of your site">
<meta name="author" content="author of the site">
<title>YApi 首页</title>
<title>YApi 使用手册</title>
<link rel="stylesheet" href="source/main.css" />
@ -30,12 +30,7 @@
<li class="active">
<a href="index.html">首页</a>
</li>
<li class="">
<a href="usage.html">使用手册</a>
<a href="index.html">使用手册</a>
</li>
<li class="">
@ -53,21 +48,10 @@
<!-- Docs page layout -->
<div class="ydoc-banner-bg">
<div class="ydoc-banner ydoc-banner-home">
<div class="ydoc-banner ">
<div class="ydoc-banner-area">
<h1 class="home-title">YApi</h1>
<p class="desc home-desc">高效、易用、功能强大的api管理平台旨在为开发、产品、测试人员提供更优雅的接口管理服务。</p>
<a class="ydoc-banner-button home-btn" href="./start.html">开始</a>
<a class="ydoc-banner-button home-btn" href="https://github.com/YMFE/yapi">Github</a>
<p class="home-version">当前版本v1.0.0</p>
<h1 >YApi</h1>
<p class="desc ">高效、易用、功能强大的api管理平台旨在为开发、产品、测试人员提供更优雅的接口管理服务。</p>
</div>
</div>
@ -75,62 +59,87 @@
<div class="ydoc-container">
<div class="ydoc-container-content ydoc-container-home" id="readme">
<div class="ydoc-container-content ">
<h1 class="home-page-title">为API开发者设计的管理平台</h1>
<p class="home-page-desc">YApi让接口开发更简单高效让接口的管理更具可读性、可维护性让团队协作更合理。</p>
<h1 class="home-page-title">功能</h1>
<div class="home-thumbnail">
<div class="home-item">
<div class="home-thumbnail-img">
<img class="home-thumbnail-src" src=http://ojk406wln.bkt.clouddn.com/intro_muti.png alt="">
</div>
<h3 class="home-thumbnail-name">项目管理</h3>
<p class="home-thumbnail-desc">YApi成熟的团队管理扁平化项目权限配置满足各类企业的需求</p>
</div>
<div class="home-item">
<div class="home-thumbnail-img">
<img class="home-thumbnail-src" src=http://ojk406wln.bkt.clouddn.com/intro_md.png alt="">
</div>
<h3 class="home-thumbnail-name">接口管理</h3>
<p class="home-thumbnail-desc">友好的接口文档基于websocket的多人协作接口编辑功能和类postman测试工具让多人协作成倍提升开发效率</p>
</div>
<div class="home-item">
<div class="home-thumbnail-img">
<img class="home-thumbnail-src" src=http://ojk406wln.bkt.clouddn.com/intro_theme.png alt="">
</div>
<h3 class="home-thumbnail-name">MockServer</h3>
<p class="home-thumbnail-desc">基于Mockjs使用简单功能强大</p>
</div>
</div>
<article class="markdown-body">
<script>
window.onload = function(){
var aList = $('.ydoc-nav').find('a');
$(aList[aList.length-1]).css('display','none');
}
</script>
</article>
<div class="content-left staticsidenav" role="complementary">
<nav class="docs-sidebar hidden-print hidden-xs hidden-sm">
<ul class="nav docs-sidenav">
<!-- <li > -->
<li >
<a href="index-认识 YApi.html">认识 YApi</a>
</li>
<!-- <li > -->
<li >
<a href="index-创建第一个API.html">创建第一个API</a>
</li>
<!-- <li > -->
<li >
<a href="index-管理分组与项目.html">管理分组与项目</a>
</li>
<!-- <li > -->
<li >
<a href="index-项目操作.html">项目操作</a>
</li>
<!-- <li > -->
<li >
<a href="index-接口操作.html">接口操作</a>
</li>
<!-- <li > -->
<li >
<a href="index-使用mock功能.html">使用mock功能</a>
</li>
<!-- <li > -->
<li >
<a href="index-使用测试集.html">使用测试集</a>
</li>
</ul>
</nav>
</div>
<div class="content-right markdown-body use-sidebar" role="main">
<p>YApi 是高效、易用、功能强大的api管理平台。
<!-- 它有扁平化的管理结构(`超管`-`组长`-`组员`),有清晰的接口组织方式(`分组`-`项目`-`接口`)有更方便的mock方案。 --></p>
<p>在开始使用 YApi 之前,我们先来熟悉一下 YApi 的网站结构这将让你快速了解YApi。</p>
<h2 class="subject" id="登录与注册">登录与注册 <a class="hashlink" href="#登录与注册">#</a></h2><p>想要使用 YApi 首先要拥有账号目前支持注册账号登录与QSSO登录两种方式。</p>
<p><img src="./images/usage/login.png" /></p>
<h2 class="subject" id="首页">首页 <a class="hashlink" href="#首页">#</a></h2><p>登录后进入首页,首页展示了分组与项目。</p>
<p>此时你作为新用户,没有任何分组与项目的权限,因此只能搜索、浏览 “公开项目” 的接口,如果在首页找不到任何项目,请联系管理员将你加入对应项目。</p>
<p><span class="list-index">1</span>首页头部展示了当前所在的位置、搜索框、新建项目、查看文档和用户信息。</p>
<p><span class="list-index">2</span>首页左侧展示分组信息,“分组”是“项目”的集合,只有超级管理员可以管理分组。</p>
<p><span class="list-index">3</span>首页右侧是分组下的项目和成员列表,点击左侧的某个分组,右侧会出现该分组下的项目和成员信息。</p>
<p><span class="list-index">4</span>点击项目右上角的星星即可关注项目,关注的项目可以在“我的关注”页面查看。</p>
<p><img src="./images/usage/index.png" /></p>
<h2 class="subject" id="项目页">项目页 <a class="hashlink" href="#项目页">#</a></h2><p>点击一个项目,进入项目页,项目页展示了属于该项目的全部接口,并提供项目、接口的全部操作。</p>
<p>此时你作为新用户,只能浏览接口信息,不可以编辑项目或接口,如果需要编辑,请联系管理员将你加入该项目。</p>
<p><span class="list-index">1</span>项目页左侧的 “接口列表” 展示了该项目下的所有接口,右侧默认显示该项目下所有接口的列表。</p>
<p><span class="list-index">2</span>点击左侧的某个接口,右侧会出现“预览”、“编辑”和“运行”。</p>
<p><span class="list-index">3</span>点击左侧的 “测试集合” 使用<a href="./case.html">测试集</a>功能。</p>
<p><span class="list-index">4</span>点击二级导航的“设置”,项目组长即可编辑项目信息和管理成员列表。</p>
<p><span class="list-index">5</span>点击二级导航的“动态”,即可查看项目的操作日志。</p>
<p><img src="./images/usage/project.png" /></p>
<h2 class="subject" id="个人中心">个人中心 <a class="hashlink" href="#个人中心">#</a></h2><p>鼠标移动到右上角的用户头像或用户名上,即可点击“个人中心”查看个人信息。</p>
<p><img src="./images/usage/hover.png" /></p>
<p>在个人信息页面可以查看并修改自己的用户名、密码等信息。</p>
<p><img src="./images/usage/user.png" /></p>
</div>
</div>
</div>
@ -144,6 +153,9 @@
</footer>
</div>
<div class="open-panel"></div>
<div class="mask"></div>
<script src="source/main.js"></script>

View File

@ -1,6 +1,3 @@
var EXAMPLE_MAX_HEIGHT = 98,
DEFAULT_SHOW_PARAMS = 5;
$(document).ready(function() {
// 移动端导航
var $openPanel = $('.open-panel');
@ -125,7 +122,6 @@ $(document).ready(function() {
})
$versionSelector.click(function(e) {
$versionMask.show();
console.log('e');
});
$('.markdown-body pre').map(function(i, item) {
@ -133,59 +129,61 @@ $(document).ready(function() {
$(item).children('code').addClass('js-code-'+i);
});
var winHeight = $(window).height() - 44,
sidebar = $('.docs-sidebar');
var docSideNav = $('.docs-sidenav');
if (winWidth > 767) {
docSideNav.width($contentLeftWidth);
}
if (sidebar.height() > winHeight) {
sidebar.css('max-height', winHeight + 'px');
$('.docs-sidenav').css('max-height', winHeight + 'px');
if (winWidth < 768) {
$('.docs-sidenav').css({
'overflow-x': 'hidden'
});
}
var activeMenu,
barScroll = false;
// var winHeight = $(window).height() - 44,
// sidebar = $('.docs-sidebar');
sidebar.on('mouseover', function() {
barScroll = true;
});
sidebar.on('mouseout', function() {
barScroll = false;
});
};
// var docSideNav = $('.docs-sidenav');
// if (winWidth > 767) {
// docSideNav.width($contentLeftWidth);
// }
$(window).on('scroll', function(e) {
if ($(this).scrollTop() > ($('.footer').offset().top - $(window).height())) {
winHeight = $(window).height() - $('.footer').outerHeight() - 44;
sidebar.css('max-height', winHeight + 'px');
$('.docs-sidenav').css('max-height', winHeight + 'px');
} else {
winHeight = $(window).height() - 44;
sidebar.css('max-height', winHeight + 'px');
$('.docs-sidenav').css('max-height', winHeight + 'px');
}
// if (sidebar.height() > winHeight) {
// sidebar.css('max-height', winHeight + 'px');
// $('.docs-sidenav').css('max-height', winHeight + 'px');
// if (winWidth < 768) {
// $('.docs-sidenav').css({
// 'overflow-x': 'hidden'
// });
// }
// var activeMenu,
// barScroll = false;
//
// sidebar.on('mouseover', function() {
// barScroll = true;
// });
// sidebar.on('mouseout', function() {
// barScroll = false;
// });
// };
if (!barScroll) {
var activeItem = $('.docs-sidebar li.active a');
if (activeItem.length) {
if (!activeMenu || (activeMenu.attr('href') != activeItem.attr('href'))) {
activeMenu = activeItem;
var top = activeMenu.offset().top - sidebar.offset().top;
if (top < 0) {
//sidebar.scrollTop(sidebar.scrollTop() + top);
$('.docs-sidenav').scrollTop($('.docs-sidenav').scrollTop() + top);
} else if (top > winHeight - 88) {
//sidebar.scrollTop(sidebar.scrollTop() + top - winHeight + 44);
$('.docs-sidenav').scrollTop($('.docs-sidenav').scrollTop() + top - winHeight + 88);
}
}
}
}
});
// $(window).on('scroll', function(e) {
// if ($(this).scrollTop() > ($('.footer').offset().top - $(window).height())) {
// winHeight = $(window).height() - $('.footer').outerHeight() - 44;
// sidebar.css('max-height', winHeight + 'px');
// $('.docs-sidenav').css('max-height', winHeight + 'px');
// } else {
// winHeight = $(window).height() - 44;
// sidebar.css('max-height', winHeight + 'px');
// $('.docs-sidenav').css('max-height', winHeight + 'px');
// }
//
// if (!barScroll) {
// var activeItem = $('.docs-sidebar li.active a');
// if (activeItem.length) {
// if (!activeMenu || (activeMenu.attr('href') != activeItem.attr('href'))) {
// activeMenu = activeItem;
// var top = activeMenu.offset().top - sidebar.offset().top;
// if (top < 0) {
// //sidebar.scrollTop(sidebar.scrollTop() + top);
// $('.docs-sidenav').scrollTop($('.docs-sidenav').scrollTop() + top);
// } else if (top > winHeight - 88) {
// //sidebar.scrollTop(sidebar.scrollTop() + top - winHeight + 44);
// $('.docs-sidenav').scrollTop($('.docs-sidenav').scrollTop() + top - winHeight + 88);
// }
// }
// }
// }
// });
// 退出全屏浏览器窗口大小改变不触发resize
$(window).on('resize', function(e) {

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -50,9 +50,10 @@ class followController extends baseController {
*/
async list(ctx) {
let uid = this.getUid(),
page = ctx.request.query.page || 1,
limit = ctx.request.query.limit || 10;
let uid = this.getUid();
// 关注列表暂时不分页 page & limit 为分页配置
// page = ctx.request.query.page || 1,
// limit = ctx.request.query.limit || 10;
if (!uid) {
return ctx.body = yapi.commons.resReturn(null, 400, '用户id不能为空');
@ -76,7 +77,7 @@ class followController extends baseController {
* @method POST
* @category follow
* @foldnumber 10
* @param {Number} projectid
* @param {Number} projectid
* @returns {Object}
* @example /follow/del
*/

View File

@ -71,8 +71,8 @@ class interfaceController extends baseController {
* @param {String} [req_body_other] 非form类型的请求参数可保存到此字段
* @param {String} [res_body_type] 相应信息的数据格式,有["json", "text", "xml"]三种
* @param {String} [res_body] 响应信息可填写任意字符串如果res_body_type是json,则会调用mock功能
* @param {String} [desc] 接口描述
* @returns {Object}
* @param {String} [desc] 接口描述
* @returns {Object}
* @example ./api/interface/add.json
*/
async add(ctx) {
@ -180,7 +180,7 @@ class interfaceController extends baseController {
// this.sendNotice(params.project_id, {
// title: `${username} 新增了接口 ${data.title}`,
// content: `<div><h3>${username}新增了接口(${data.title})</h3>
// <p>项目名:${project.name}</p>
// <p>项目名:${project.name}</p>
// <p>修改用户: "${username}"</p>
// <p>接口名: <a href="${interfaceUrl}">${data.title}</a></p>
// <p>接口路径: [${data.method}]${data.path}</p></div>`
@ -200,7 +200,7 @@ class interfaceController extends baseController {
* @category interface
* @foldnumber 10
* @param {Number} id 接口id不能为空
* @returns {Object}
* @returns {Object}
* @example ./api/interface/get.json
*/
async get(ctx) {
@ -225,7 +225,7 @@ class interfaceController extends baseController {
* @category interface
* @foldnumber 10
* @param {Number} project_id 项目id不能为空
* @returns {Object}
* @returns {Object}
* @example ./api/interface/list.json
*/
async list(ctx) {
@ -302,8 +302,8 @@ class interfaceController extends baseController {
* @param {String} [req_body_other] 非form类型的请求参数可保存到此字段
* @param {String} [res_body_type] 相应信息的数据格式,有["json", "text", "xml"]三种
* @param {String} [res_body] 响应信息可填写任意字符串如果res_body_type是json,则会调用mock功能
* @param {String} [desc] 接口描述
* @returns {Object}
* @param {String} [desc] 接口描述
* @returns {Object}
* @example ./api/interface/up.json
*/
@ -459,7 +459,7 @@ class interfaceController extends baseController {
* @category interface
* @foldnumber 10
* @param {Number} id 接口id不能为空
* @returns {Object}
* @returns {Object}
* @example ./api/interface/del.json
*/
@ -505,7 +505,8 @@ class interfaceController extends baseController {
try {
let id = parseInt(ctx.query.id, 10), result, userInst, userinfo, data;
if (!id) return ctx.websocket.send("id 参数有误");
result = await this.Model.get(id), userinfo;
result = await this.Model.get(id);
if (result.edit_uid !== 0 && result.edit_uid !== this.getUid()) {
userInst = yapi.getInst(userModel);
userinfo = await userInst.findById(result.edit_uid);
@ -630,7 +631,7 @@ class interfaceController extends baseController {
typeid: catData.project_id
});
let result = await this.catModel.del(id);
await this.catModel.del(id);
let r = await this.Model.delByCatid(id);
return ctx.body = yapi.commons.resReturn(r);
} catch (e) {
@ -646,7 +647,7 @@ class interfaceController extends baseController {
* @category interface
* @foldnumber 10
* @param {Number} project_id 项目id不能为空
* @returns {Object}
* @returns {Object}
* @example ./api/interface/getCatMenu
*/
@ -687,6 +688,7 @@ class interfaceController extends baseController {
}
module.exports = interfaceController;
</pre>
</div>
</div>

View File

@ -143,6 +143,11 @@ class interfaceColController extends baseController{
result[index] = result[index].toObject();
let interfaceData = await this.interfaceModel.getBaseinfo(result[index].interface_id);
if(!interfaceData){
await this.caseModel.del(result[index]._id);
result[index] = undefined;
continue;
}
let projectData = await this.projectModel.getBaseInfo(interfaceData.project_id);
result[index].path = projectData.basepath + interfaceData.path;
result[index].method = interfaceData.method;
@ -322,8 +327,11 @@ class interfaceColController extends baseController{
}
result = result.toObject();
let data = await this.interfaceModel.get(result.interface_id);
if(!data){
return ctx.body = yapi.commons.resReturn(null, 400, '找不到对应的接口,请联系管理员')
}
data = data.toObject();
let projectData = await this.projectModel.getBaseInfo(data.project_id);
let projectData = await this.projectModel.getBaseInfo(data.project_id);
result.path = projectData.basepath + data.path;
result.method = data.method;
result.req_body_type = data.req_body_type;
@ -350,6 +358,7 @@ class interfaceColController extends baseController{
value[item.name] = item;
})
params.forEach((item, index)=>{
if(!value[item.name] || typeof value[item.name] !== 'object') return null;
params[index].value = value[item.name].value;
})
return params;

View File

@ -1,213 +0,0 @@
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no" />
<meta name="format-detection" content="telephone=no,email=no" />
<meta http-equiv="X-UA-Compatible" content="ie=edge, chrome=1">
<meta name="description" content="description of your site">
<meta name="author" content="author of the site">
<title>YApi 使用手册</title>
<link rel="stylesheet" href="source/main.css" />
<link rel="stylesheet" href="styles/theme.css" />
</head>
<body>
<div class="ydoc">
<header class="ydoc-header">
<div class="ydoc-header-area">
<a href="http://ued.qunar.com/ymfe/" class="navbar-brand">YMFE</a>
<button class="ydocIcon navbar-toggle">&#xf020;</button>
<nav class="ydoc-nav">
<ul class="navbar-left">
<li class="">
<a href="index.html">首页</a>
</li>
<li class="active">
<a href="usage.html">使用手册</a>
</li>
<li class="">
<a href="api.html"></a>
</li>
</ul>
</nav>
</div>
</header>
<!-- <header style="height:20px"></header> -->
<!-- Docs page layout -->
<div class="ydoc-banner-bg">
<div class="ydoc-banner ">
<div class="ydoc-banner-area">
<h1 >YApi</h1>
<p class="desc ">高效、易用、功能强大的api管理平台旨在为开发、产品、测试人员提供更优雅的接口管理服务。</p>
</div>
</div>
<div class="ydoc-container">
<div class="ydoc-container-content ">
<div class="content-left staticsidenav" role="complementary">
<nav class="docs-sidebar hidden-print hidden-xs hidden-sm">
<ul class="nav docs-sidenav">
<!-- <li > -->
<li >
<a href="usage-认识 YApi.html">认识 YApi</a>
</li>
<!-- <li > -->
<li >
<a href="usage-创建第一个API.html">创建第一个API</a>
</li>
<!-- <li > -->
<li >
<a href="usage-管理分组与项目.html">管理分组与项目</a>
</li>
<!-- <li > -->
<li >
<a href="usage-项目操作.html">项目操作</a>
</li>
<!-- <li > -->
<li >
<a href="usage-接口操作.html">接口操作</a>
</li>
<!-- <li > -->
<li >
<a href="usage-使用mock功能.html">使用mock功能</a>
</li>
<!-- <li > -->
<li >
<a href="usage-使用测试集.html">使用测试集</a>
</li>
</ul>
</nav>
</div>
<div class="content-right markdown-body use-sidebar" role="main">
<p>YApi 是高效、易用、功能强大的api管理平台。
<!-- 它有扁平化的管理结构(`超管`-`组长`-`组员`),有清晰的接口组织方式(`分组`-`项目`-`接口`)有更方便的mock方案。 --></p>
<p>在开始使用 YApi 之前,我们先来熟悉一下 YApi 的网站结构这将让你快速了解YApi。</p>
<h2 class="subject" id="登录与注册">登录与注册 <a class="hashlink" href="#登录与注册">#</a></h2><p>想要使用 YApi 首先要拥有账号目前支持注册账号登录与QSSO登录两种方式。</p>
<p><img src="./images/usage/login.png" /></p>
<h2 class="subject" id="首页">首页 <a class="hashlink" href="#首页">#</a></h2><p>登录后进入首页,首页展示了分组与项目。</p>
<p>此时你作为新用户,没有任何分组与项目的权限,因此只能搜索、浏览 “公开项目” 的接口,如果在首页找不到任何项目,请联系管理员将你加入对应项目。</p>
<p><span class="list-index">1</span>首页头部展示了当前所在的位置、搜索框、新建项目、查看文档和用户信息。</p>
<p><span class="list-index">2</span>首页左侧展示分组信息,“分组”是“项目”的集合,只有超级管理员可以管理分组。</p>
<p><span class="list-index">3</span>首页右侧是分组下的项目和成员列表,点击左侧的某个分组,右侧会出现该分组下的项目和成员信息。</p>
<p><span class="list-index">4</span>点击项目右上角的星星即可关注项目,关注的项目可以在“我的关注”页面查看。</p>
<p><img src="./images/usage/index.png" /></p>
<h2 class="subject" id="项目页">项目页 <a class="hashlink" href="#项目页">#</a></h2><p>点击一个项目,进入项目页,项目页展示了属于该项目的全部接口,并提供项目、接口的全部操作。</p>
<p>此时你作为新用户,只能浏览接口信息,不可以编辑项目或接口,如果需要编辑,请联系管理员将你加入该项目。</p>
<p><span class="list-index">1</span>项目页左侧的 “接口列表” 展示了该项目下的所有接口,右侧默认显示该项目下所有接口的列表。</p>
<p><span class="list-index">2</span>点击左侧的某个接口,右侧会出现“预览”、“编辑”和“运行”。</p>
<p><span class="list-index">3</span>点击左侧的 “测试集合” 使用<a href="./case.html">测试集</a>功能。</p>
<p><span class="list-index">4</span>点击二级导航的“设置”,项目组长即可编辑项目信息和管理成员列表。</p>
<p><span class="list-index">5</span>点击二级导航的“动态”,即可查看项目的操作日志。</p>
<p><img src="./images/usage/project.png" /></p>
<h2 class="subject" id="个人中心">个人中心 <a class="hashlink" href="#个人中心">#</a></h2><p>鼠标移动到右上角的用户头像或用户名上,即可点击“个人中心”查看个人信息。</p>
<p><img src="./images/usage/hover.png" /></p>
<p>在个人信息页面可以查看并修改自己的用户名、密码等信息。</p>
<p><img src="./images/usage/user.png" /></p>
</div>
</div>
</div>
</div>
<footer class="footer">
<div class="copyright">
&copy; 2016 <a href="http://ued.qunar.com/ymfe/">YMFE</a> Team. Build by <a href="http://ued.qunar.com/ydoc/">ydoc</a>.
</div>
</footer>
</div>
<div class="open-panel"></div>
<div class="mask"></div>
<script src="source/main.js"></script>
<script src="source/app.js"></script>
<script>
var lineHeight = 18;
var EXAMPLE_MAX_HEIGHT;
function fold() {
// 折叠code
$('.markdown-body pre').css({
"line-height": lineHeight + "px"
});
$('.markdown-body pre').map(function(i, item) {
var $item = $(item);
var foldnumber = $item.data('foldnumber');
EXAMPLE_MAX_HEIGHT = lineHeight * (foldnumber || 6);
if ($item.height() > EXAMPLE_MAX_HEIGHT) {
$item.css({
"padding-bottom": 30
});
$item.find('code').height(EXAMPLE_MAX_HEIGHT);
$item.append('<span class="extend">展开更多……</span>');
};
});
$('.ydoc-example').delegate('.extend', 'click', function() {
var $this = $(this);
$this.removeClass('extend').addClass('fold');
$this.html('折叠代码');
$this.parent().children('.js-code').height('auto');
$this.parent().height('auto');
});
$('.ydoc-example').delegate('.fold', 'click', function() {
var $this = $(this);
var foldnumber = $this.parent().data('foldnumber');
EXAMPLE_MAX_HEIGHT = lineHeight * (foldnumber || 6);
$this.removeClass('fold').addClass('extend');
$this.parent().height(EXAMPLE_MAX_HEIGHT); // pre
$this.parent().children('.js-code').height(EXAMPLE_MAX_HEIGHT); // code
$this.html("展开更多……");
});
}
$(document).ready(fold);
</script>
</body>
</html>

View File

@ -18,47 +18,7 @@
}
},
"pages": [{
"name": "index", // Page Name html : index.html
"title": "首页", // Page Title
"homepage": { //
"version": "v1.0.0", // banner
"button": [{ // banner
"name": "开始",
"href": "./start.html"
},{
"name": "Github",
"href": "https://github.com/YMFE/yapi"
}],
"intro": [{ // 使
"title": "为API开发者设计的管理平台", //
"desc": "YApi让接口开发更简单高效让接口的管理更具可读性、可维护性让团队协作更合理。" //
},{
"title": "功能",
"detail": {
"type": "thumbnail", //
"content": [{ // keykey
"name": "项目管理", //
"src": "http://ojk406wln.bkt.clouddn.com/intro_muti.png", //
"desc": "YApi成熟的团队管理扁平化项目权限配置满足各类企业的需求" //
},{
"name": "接口管理",
"src": "http://ojk406wln.bkt.clouddn.com/intro_md.png",
"desc": "友好的接口文档基于websocket的多人协作接口编辑功能和类postman测试工具让多人协作成倍提升开发效率"
},{
"name": "MockServer",
"src": "http://ojk406wln.bkt.clouddn.com/intro_theme.png",
"desc": "基于Mockjs使用简单功能强大"
}]
}
}]
},
"banner": {
"title": "YApi",
"description": "高效、易用、功能强大的api管理平台旨在为开发、产品、测试人员提供更优雅的接口管理服务。"
},
"content": "./doc/home.md"
},{
"name": "usage",
"name": "index",
"title": "使用手册",
"banner": {
"title": "YApi",