Merge branch 'dev' of gitlab.corp.qunar.com:mfe/yapi into dev

This commit is contained in:
suxiaoxin 2017-08-01 09:49:14 +08:00
commit 67162c8ef9
6 changed files with 76 additions and 123 deletions

View File

@ -1,35 +1,40 @@
### Mock功能
## Mock功能
<p style='text-indent:2em;line-height:1.8em'>yapi的Mock功能可以根据用户的输入接口信息如协议、URL、接口名、请求头、请求参数、mock规则([点击到Mock规则](#mock)生成Mock接口这些接口会自动生成模拟数据支持复杂的生成逻辑创建者可以自由构造需要的数据。而且与常见的Mock方式如将Mock写在代码里和JS拦截等相比yapi的Mock在使用场景和效率和复杂度上是相差甚远的正是由于yapi的Mock是一个第三方平台那么在 团队开发时任何人都可以权限许可下创建、修改接口信息等操作,这对于团队开发是很有好处的。</p>
#### 1 Mock步骤
##### 1.1 创建接口
### 1 Mock步骤
#### 1.1 创建接口
通过点击页面上的"+添加接口"(若是接口已存在则跳到 1.2
<img src="http://note.youdao.com/yws/api/personal/file/WEB613bd4f29db038f2b41c03dcfceda2b6?method=download&shareKey=29bfc2b855f6f26ce0079baf567e54cc" width = "800" style="margin:0px auto;display:block;" alt="图片名称" align=center />
输入协议、URL、接口名、请求头、请求参数、Mock规则[点击到Mock规则](#mock))等信息,然后点击右上角的"Mock"按钮
输入协议、URL、接口名、请求头、请求参数、Mock规则[点击到Mock规则](#mock))等信息。
<img src="http://upload-images.jianshu.io/upload_images/842107-78c0ea839619d068.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240" width = "800" style="margin:0px auto;display:block;" alt="图片名称" align=center />
<img src="http://note.youdao.com/yws/api/personal/file/WEB680a37ba304768804b23cf2cf36ed40d?method=download&shareKey=0d750695dce3a4c7abf697fa58d24c57" width = "800" style="margin:0px auto;display:block;" alt="图片名称" align=center />
##### 1.2 开始Mock
当点击"Mock"按钮之后就会在页面下方生成一个mock结果并产生一个API接口。
输入Mock规则时它会在右边同步产生一个对应的结果
<img src="http://note.youdao.com/yws/api/personal/file/WEBf9b154cb88d21daa8206e8c4a3d76042?method=download&shareKey=1999f6c2cf197b5b6d775c312e34073d" width = "800" style="margin:0px auto;display:block;" alt="图片名称" align=center />
<img src="http://note.youdao.com/yws/api/personal/file/WEB929dce5eed22e1b7e9a10be98ee2ab38?method=download&shareKey=5616ed1d9e09cc38f9cdbb995c892cb5" width = "800" style="margin:0px auto;display:block;" alt="图片名称" align=center />
最后点击保存按钮,保存后将会在"Mock地址"生成一个链接。
>这里Mock地址的域名是需要已经配置host了
<img src="http://note.youdao.com/yws/api/personal/file/WEB525ea3dadf1f274bbe12943341ba00cb?method=download&shareKey=95dbc9cf7a7646387c55dabf64cad888" width = "800" style="margin:0px auto;display:block;" alt="图片名称" align=center />
取到上面的链接在浏览器中请求就可以得到如下结果。
<img src="http://note.youdao.com/yws/api/personal/file/WEBf168cd41d3ad4b5b24d68787063220c7?method=download&shareKey=beb6896165ddd3568ebecbcc92195180" width = "800" style="margin:0px auto;display:block;" alt="图片名称" align=center />
#### 1.2 发起请求
将请求的信息填写完善如请求方法post、get等、URL、请求头、请求的数据等。然后就点击"发送",然后在"返回结果"出可以看到接口返回的数据。
<img src="http://upload-images.jianshu.io/upload_images/842107-2ee7171d707e91ff.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240" width = "800" style="margin:0px auto;display:block;" alt="图片名称" align=center />
#### 3 成员管理
你也可以通过点击"管理成员"来添加和删除项目的成员,便于团队管理。
<img src="http://note.youdao.com/yws/api/personal/file/WEB1b9defdf0cb884f46c2bd6c30ceb02fb?method=download&shareKey=218b9326659208ec564b9fff3ea8c6c3" width = "800" style="margin:0px auto;display:block;" alt="图片名称" align=center />
<span id = "mock"></span>
#### 2.1 Mock语法规范
### 2.1 Mock语法规范
>参考自:[Mock.js 官网](http://mockjs.com/)
Mock.js 的语法规范包括两部分:
@ -39,7 +44,7 @@ Mock.js 的语法规范包括两部分:
[2. 数据占位符定义规范Data Placeholder DefinitionDPD](#DPD)
<span id = "DTD"></span>
#### 数据模板定义规范Data Template DefinitionDTD
### 数据模板定义规范Data Template DefinitionDTD
数据模板中的每个属性由 3 部分构成:属性名、生成规则、属性值:
@ -62,7 +67,7 @@ Mock.js 的语法规范包括两部分:
```
生成规则示例:
##### 1. 属性值是字符串 String
#### 1. 属性值是字符串 String
```
1. 'name|min-max': string
@ -71,7 +76,7 @@ Mock.js 的语法规范包括两部分:
2. 'name|count': string
通过重复 string 生成一个字符串,重复次数等于 count。
```
##### 2. 属性值是数字 Number
#### 2. 属性值是数字 Number
```
1. 'name|+1': number
@ -101,7 +106,7 @@ Mock.mock({
}
```
##### 3. 属性值是布尔型 Boolean
#### 3. 属性值是布尔型 Boolean
```
1. 'name|1': boolean
@ -111,7 +116,7 @@ Mock.mock({
随机生成一个布尔值,值为 value 的概率是 min / (min + max),值为 !value 的概率是 max / (min + max)。
```
##### 4. 属性值是对象 Object
#### 4. 属性值是对象 Object
```
1. 'name|count': object
@ -121,7 +126,7 @@ Mock.mock({
从属性值 object 中随机选取 min 到 max 个属性。
```
##### 5. 属性值是数组 Array
#### 5. 属性值是数组 Array
```
1. 'name|1': array
@ -139,13 +144,13 @@ Mock.mock({
通过重复属性值 array 生成一个新数组,重复次数为 count。
```
##### 6. 属性值是函数 Function
#### 6. 属性值是函数 Function
```
1. 'name': function
执行函数 function取其返回值作为最终的属性值函数的上下文为属性 'name' 所在的对象。
```
##### 7.属性值是正则表达式 RegExp
#### 7.属性值是正则表达式 RegExp
```
1. 'name': regexp
@ -165,7 +170,7 @@ Mock.mock({
}
```
<span id = "DPD"></span>
#### 数据占位符定义规范Data Placeholder DefinitionDPD
### 数据占位符定义规范Data Placeholder DefinitionDPD
占位符 只是在属性值字符串中占个位置,并不出现在最终的属性值中。

View File

@ -1351,7 +1351,7 @@
<p>
<small class="text-muted">源码位置:</small>
<a href="./static/server/controllers/project.js.html#34" target="_blank">./server/controllers/project.js:34</a>
<a href="./static/server/controllers/project.js.html#35" target="_blank">./server/controllers/project.js:35</a>
</p>
@ -1492,7 +1492,7 @@
<p>
<small class="text-muted">源码位置:</small>
<a href="./static/server/controllers/project.js.html#115" target="_blank">./server/controllers/project.js:115</a>
<a href="./static/server/controllers/project.js.html#116" target="_blank">./server/controllers/project.js:116</a>
</p>
@ -1576,7 +1576,7 @@
<p>
<small class="text-muted">源码位置:</small>
<a href="./static/server/controllers/project.js.html#147" target="_blank">./server/controllers/project.js:147</a>
<a href="./static/server/controllers/project.js.html#148" target="_blank">./server/controllers/project.js:148</a>
</p>
@ -1660,7 +1660,7 @@
<p>
<small class="text-muted">源码位置:</small>
<a href="./static/server/controllers/project.js.html#180" target="_blank">./server/controllers/project.js:180</a>
<a href="./static/server/controllers/project.js.html#181" target="_blank">./server/controllers/project.js:181</a>
</p>
@ -1738,7 +1738,7 @@
<p>
<small class="text-muted">源码位置:</small>
<a href="./static/server/controllers/project.js.html#208" target="_blank">./server/controllers/project.js:208</a>
<a href="./static/server/controllers/project.js.html#209" target="_blank">./server/controllers/project.js:209</a>
</p>
@ -1821,7 +1821,7 @@
<p>
<small class="text-muted">源码位置:</small>
<a href="./static/server/controllers/project.js.html#232" target="_blank">./server/controllers/project.js:232</a>
<a href="./static/server/controllers/project.js.html#233" target="_blank">./server/controllers/project.js:233</a>
</p>
@ -2068,7 +2068,7 @@
<p>
<small class="text-muted">源码位置:</small>
<a href="./static/server/controllers/project.js.html#278" target="_blank">./server/controllers/project.js:278</a>
<a href="./static/server/controllers/project.js.html#279" target="_blank">./server/controllers/project.js:279</a>
</p>
@ -2140,7 +2140,7 @@
<p>
<small class="text-muted">源码位置:</small>
<a href="./static/server/controllers/project.js.html#311" target="_blank">./server/controllers/project.js:311</a>
<a href="./static/server/controllers/project.js.html#312" target="_blank">./server/controllers/project.js:312</a>
</p>
@ -2300,7 +2300,7 @@
<p>
<small class="text-muted">源码位置:</small>
<a href="./static/server/controllers/project.js.html#402" target="_blank">./server/controllers/project.js:402</a>
<a href="./static/server/controllers/project.js.html#403" target="_blank">./server/controllers/project.js:403</a>
</p>

View File

@ -65,37 +65,9 @@
<div class="ydoc-container">
<div class="ydoc-container-content ">
<div class="ydoc-container-content " id="readme">
<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="#1.1_项目分组">1.1 项目分组</a>
</li>
<!-- <li > -->
<li >
<a href="#1.2_项目">1.2 项目</a>
</li>
<!-- <li > -->
<li >
<a href="#1.3_接口">1.3 接口</a>
</li>
</ul>
</nav>
</div>
<div class="content-right markdown-body use-sidebar" role="main">
<article class="markdown-body">
<h2 class="subject" id="快速开始">快速开始 <a class="hashlink" href="#快速开始">#</a></h2><h3 class="subject" id="1_接口管理架构">1 接口管理架构 <a class="hashlink" href="#1_接口管理架构">#</a></h3><p>平台以<strong>项目分组</strong> -&gt; <strong>项目</strong> -&gt; <strong>接口</strong>的划分进行接口组织管理。</p>
<p><img src="http://upload-images.jianshu.io/upload_images/842107-305ba49a60ee1ff5.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240" width = "800" style="margin:0px auto;display:block;" alt="图片名称" align=center /></p>
<h4 class="subject" id="1.1_项目分组">1.1 项目分组 <a class="hashlink" href="#1.1_项目分组">#</a></h4><p>登录之后进到项目首页,左边侧边栏显示的即分组列表。</p>
@ -118,7 +90,7 @@
<p><img src="http://upload-images.jianshu.io/upload_images/842107-78c0ea839619d068.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240" width = "800" style="margin:0px auto;display:block;" alt="图片名称" align=center /></p>
<p><img src="http://upload-images.jianshu.io/upload_images/842107-2ee7171d707e91ff.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240" width = "800" style="margin:0px auto;display:block;" alt="图片名称" align=center /></p>
</div>
</article>
</div>
</div>
@ -132,9 +104,6 @@
</footer>
</div>
<div class="open-panel"></div>
<div class="mask"></div>
<script src="source/main.js"></script>

View File

@ -64,45 +64,36 @@
<div class="ydoc-container">
<div class="ydoc-container-content">
<div class="ydoc-container-content " id="readme">
<div class="content-left staticsidenav" role="complementary">
<nav class="docs-sidebar hidden-print hidden-xs hidden-sm">
<ul class="nav docs-sidenav">
</ul>
</nav>
</div>
<div class="content-right right markdown-body use-sidebar" role="main">
<div class="docs-section">
<div>
<h3 class="subject" id="Mock功能">Mock功能 <a class="hashlink" href="#Mock功能">#</a></h3> <p style='text-indent:2em;line-height:1.8em'>yapi的Mock功能可以根据用户的输入接口信息如协议、URL、接口名、请求头、请求参数、mock规则(<a href="#mock">点击到Mock规则</a>生成Mock接口这些接口会自动生成模拟数据支持复杂的生成逻辑创建者可以自由构造需要的数据。而且与常见的Mock方式如将Mock写在代码里和JS拦截等相比yapi的Mock在使用场景和效率和复杂度上是相差甚远的正是由于yapi的Mock是一个第三方平台那么在 团队开发时任何人都可以权限许可下创建、修改接口信息等操作,这对于团队开发是很有好处的。</p>
<article class="markdown-body">
<h2 class="subject" id="Mock功能">Mock功能 <a class="hashlink" href="#Mock功能">#</a></h2> <p style='text-indent:2em;line-height:1.8em'>yapi的Mock功能可以根据用户的输入接口信息如协议、URL、接口名、请求头、请求参数、mock规则(<a href="#mock">点击到Mock规则</a>生成Mock接口这些接口会自动生成模拟数据支持复杂的生成逻辑创建者可以自由构造需要的数据。而且与常见的Mock方式如将Mock写在代码里和JS拦截等相比yapi的Mock在使用场景和效率和复杂度上是相差甚远的正是由于yapi的Mock是一个第三方平台那么在 团队开发时任何人都可以权限许可下创建、修改接口信息等操作,这对于团队开发是很有好处的。</p>
<h4 class="subject" id="1_Mock步骤">1 Mock步骤 <a class="hashlink" href="#1_Mock步骤">#</a></h4><h5 class="subject" id="1.1_创建接口">1.1 创建接口 <a class="hashlink" href="#1.1_创建接口">#</a></h5><p>通过点击页面上的&quot;+添加接口&quot;(若是接口已存在则跳到 1.2 </p>
<h3 class="subject" id="1_Mock步骤">1 Mock步骤 <a class="hashlink" href="#1_Mock步骤">#</a></h3><h4 class="subject" id="1.1_创建接口">1.1 创建接口 <a class="hashlink" href="#1.1_创建接口">#</a></h4><p>通过点击页面上的&quot;+添加接口&quot;(若是接口已存在则跳到 1.2 </p>
<p><img src="http://note.youdao.com/yws/api/personal/file/WEB613bd4f29db038f2b41c03dcfceda2b6?method=download&shareKey=29bfc2b855f6f26ce0079baf567e54cc" width = "800" style="margin:0px auto;display:block;" alt="图片名称" align=center /></p>
<p> 输入协议、URL、接口名、请求头、请求参数、Mock规则<a href="#mock">点击到Mock规则</a>)等信息,然后点击右上角的&quot;Mock&quot;按钮。</p>
<p><img src="http://upload-images.jianshu.io/upload_images/842107-78c0ea839619d068.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240" width = "800" style="margin:0px auto;display:block;" alt="图片名称" align=center /></p>
<h5 class="subject" id="1.2_开始Mock">1.2 开始Mock <a class="hashlink" href="#1.2_开始Mock">#</a></h5><p>当点击&quot;Mock&quot;按钮之后就会在页面下方生成一个mock结果并产生一个API接口。</p>
<p><img src="http://note.youdao.com/yws/api/personal/file/WEBf9b154cb88d21daa8206e8c4a3d76042?method=download&shareKey=1999f6c2cf197b5b6d775c312e34073d" width = "800" style="margin:0px auto;display:block;" alt="图片名称" align=center /></p>
<p>将请求的信息填写完善如请求方法post、get等、URL、请求头、请求的数据等。然后就点击&quot;发送&quot;,然后在&quot;返回结果&quot;出可以看到接口返回的数据。</p>
<p> 输入协议、URL、接口名、请求头、请求参数、Mock规则<a href="#mock">点击到Mock规则</a>)等信息。</p>
<p><img src="http://note.youdao.com/yws/api/personal/file/WEB680a37ba304768804b23cf2cf36ed40d?method=download&shareKey=0d750695dce3a4c7abf697fa58d24c57" width = "800" style="margin:0px auto;display:block;" alt="图片名称" align=center /></p>
<p>输入Mock规则时它会在右边同步产生一个对应的结果</p>
<p><img src="http://note.youdao.com/yws/api/personal/file/WEB929dce5eed22e1b7e9a10be98ee2ab38?method=download&shareKey=5616ed1d9e09cc38f9cdbb995c892cb5" width = "800" style="margin:0px auto;display:block;" alt="图片名称" align=center /></p>
<p>最后点击保存按钮,保存后将会在&quot;Mock地址&quot;生成一个链接。</p>
<blockquote>
<p>这里Mock地址的域名是需要已经配置host了</p>
</blockquote>
<p><img src="http://note.youdao.com/yws/api/personal/file/WEB525ea3dadf1f274bbe12943341ba00cb?method=download&shareKey=95dbc9cf7a7646387c55dabf64cad888" width = "800" style="margin:0px auto;display:block;" alt="图片名称" align=center /></p>
<p>取到上面的链接在浏览器中请求就可以得到如下结果。</p>
<p><img src="http://note.youdao.com/yws/api/personal/file/WEBf168cd41d3ad4b5b24d68787063220c7?method=download&shareKey=beb6896165ddd3568ebecbcc92195180" width = "800" style="margin:0px auto;display:block;" alt="图片名称" align=center /></p>
<h4 class="subject" id="1.2_发起请求">1.2 发起请求 <a class="hashlink" href="#1.2_发起请求">#</a></h4><p>将请求的信息填写完善如请求方法post、get等、URL、请求头、请求的数据等。然后就点击&quot;发送&quot;,然后在&quot;返回结果&quot;出可以看到接口返回的数据。</p>
<p><img src="http://upload-images.jianshu.io/upload_images/842107-2ee7171d707e91ff.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240" width = "800" style="margin:0px auto;display:block;" alt="图片名称" align=center /></p>
<h4 class="subject" id="3_成员管理">3 成员管理 <a class="hashlink" href="#3_成员管理">#</a></h4><p>你也可以通过点击&quot;管理成员&quot;来添加和删除项目的成员,便于团队管理。</p>
<p><img src="http://note.youdao.com/yws/api/personal/file/WEB1b9defdf0cb884f46c2bd6c30ceb02fb?method=download&shareKey=218b9326659208ec564b9fff3ea8c6c3" width = "800" style="margin:0px auto;display:block;" alt="图片名称" align=center /></p>
<p><span id = "mock"></span></p>
<h4 class="subject" id="2.1_Mock语法规范">2.1 Mock语法规范 <a class="hashlink" href="#2.1_Mock语法规范">#</a></h4><blockquote>
<h3 class="subject" id="2.1_Mock语法规范">2.1 Mock语法规范 <a class="hashlink" href="#2.1_Mock语法规范">#</a></h3><blockquote>
<p>参考自:<a href="http://mockjs.com/">Mock.js 官网</a></p>
</blockquote>
<p>Mock.js 的语法规范包括两部分:</p>
<p><a href="#DTD">1. 数据模板定义规范Data Template DefinitionDTD</a></p>
<p><a href="#DPD">2. 数据占位符定义规范Data Placeholder DefinitionDPD</a></p>
<p><span id = "DTD"></span></p>
<h4 class="subject" id="数据模板定义规范Data_Template_DefinitionDTD">数据模板定义规范Data Template DefinitionDTD <a class="hashlink" href="#数据模板定义规范Data_Template_DefinitionDTD">#</a></h4><p>数据模板中的每个属性由 3 部分构成:属性名、生成规则、属性值:</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>@占位符" 同时也指定了最终值的初始值和类型)
@ -118,12 +109,12 @@
'name|count.dcount'<span class="token operator">:</span> value
'name|+step'<span class="token operator">:</span> value
</code></pre><p>生成规则示例:</p>
<h5 class="subject" id="1._属性值是字符串_String">1. 属性值是字符串 String <a class="hashlink" href="#1._属性值是字符串_String">#</a></h5><pre><code><span class="token number">1</span>. 'name|min-max'<span class="token operator">:</span> string
<h4 class="subject" id="1._属性值是字符串_String">1. 属性值是字符串 String <a class="hashlink" href="#1._属性值是字符串_String">#</a></h4><pre><code><span class="token number">1</span>. 'name|min-max'<span class="token operator">:</span> string
通过重复 string 生成一个字符串,重复次数大于等于 min小于等于 max。
<span class="token number">2</span>. 'name|count'<span class="token operator">:</span> string
通过重复 string 生成一个字符串,重复次数等于 count。
</code></pre><h5 class="subject" id="2._属性值是数字_Number">2. 属性值是数字 Number <a class="hashlink" href="#2._属性值是数字_Number">#</a></h5><pre><code><span class="token number">1</span>. 'name|+<span class="token number">1</span>'<span class="token operator">:</span> number
</code></pre><h4 class="subject" id="2._属性值是数字_Number">2. 属性值是数字 Number <a class="hashlink" href="#2._属性值是数字_Number">#</a></h4><pre><code><span class="token number">1</span>. 'name|+<span class="token number">1</span>'<span class="token operator">:</span> number
属性值自动加 <span class="token number">1</span>,初始值为 number。
@ -149,21 +140,21 @@ Mock.mock(<span class="token punctuation">{</span>
<span class="token property">"number3"</span><span class="token operator">:</span> <span class="token number">123.777</span><span class="token punctuation">,</span>
<span class="token property">"number4"</span><span class="token operator">:</span> <span class="token number">123.1231091814</span>
<span class="token punctuation">}</span>
</code></pre><h5 class="subject" id="3._属性值是布尔型_Boolean">3. 属性值是布尔型 Boolean <a class="hashlink" href="#3._属性值是布尔型_Boolean">#</a></h5><pre><code><span class="token number">1</span>. 'name|<span class="token number">1</span>'<span class="token operator">:</span> boolean
</code></pre><h4 class="subject" id="3._属性值是布尔型_Boolean">3. 属性值是布尔型 Boolean <a class="hashlink" href="#3._属性值是布尔型_Boolean">#</a></h4><pre><code><span class="token number">1</span>. 'name|<span class="token number">1</span>'<span class="token operator">:</span> boolean
随机生成一个布尔值,值为 <span class="token boolean">true</span> 的概率是 <span class="token number">1</span>/<span class="token number">2</span>,值为 <span class="token boolean">false</span> 的概率同样是 <span class="token number">1</span>/<span class="token number">2</span>
<span class="token number">2</span>. 'name|min-max'<span class="token operator">:</span> value
随机生成一个布尔值,值为 value 的概率是 min / (min + max<span class="token punctuation">)</span>,值为 !value 的概率是 max / (min + max<span class="token punctuation">)</span>
</code></pre><h5 class="subject" id="4._属性值是对象_Object">4. 属性值是对象 Object <a class="hashlink" href="#4._属性值是对象_Object">#</a></h5><pre><code><span class="token number">1</span>. 'name|count'<span class="token operator">:</span> object
</code></pre><h4 class="subject" id="4._属性值是对象_Object">4. 属性值是对象 Object <a class="hashlink" href="#4._属性值是对象_Object">#</a></h4><pre><code><span class="token number">1</span>. 'name|count'<span class="token operator">:</span> object
从属性值 object 中随机选取 count 个属性。
<span class="token number">2</span>. 'name|min-max'<span class="token operator">:</span> object
从属性值 object 中随机选取 min 到 max 个属性。
</code></pre><h5 class="subject" id="5._属性值是数组_Array">5. 属性值是数组 Array <a class="hashlink" href="#5._属性值是数组_Array">#</a></h5><pre><code><span class="token number">1</span>. 'name|<span class="token number">1</span>'<span class="token operator">:</span> array
</code></pre><h4 class="subject" id="5._属性值是数组_Array">5. 属性值是数组 Array <a class="hashlink" href="#5._属性值是数组_Array">#</a></h4><pre><code><span class="token number">1</span>. 'name|<span class="token number">1</span>'<span class="token operator">:</span> array
从属性值 array 中随机选取 <span class="token number">1</span> 个元素,作为最终值。
@ -178,10 +169,10 @@ Mock.mock(<span class="token punctuation">{</span>
<span class="token number">4</span>. 'name|count'<span class="token operator">:</span> array
通过重复属性值 array 生成一个新数组,重复次数为 count。
</code></pre><h5 class="subject" id="6._属性值是函数_Function">6. 属性值是函数 Function <a class="hashlink" href="#6._属性值是函数_Function">#</a></h5><pre><code><span class="token number">1</span>. 'name'<span class="token operator">:</span> function
</code></pre><h4 class="subject" id="6._属性值是函数_Function">6. 属性值是函数 Function <a class="hashlink" href="#6._属性值是函数_Function">#</a></h4><pre><code><span class="token number">1</span>. 'name'<span class="token operator">:</span> function
执行函数 function取其返回值作为最终的属性值函数的上下文为属性 'name' 所在的对象。
</code></pre><h5 class="subject" id="7.属性值是正则表达式_RegExp">7.属性值是正则表达式 RegExp <a class="hashlink" href="#7.属性值是正则表达式_RegExp">#</a></h5><pre><code><span class="token number">1</span>. 'name'<span class="token operator">:</span> regexp
</code></pre><h4 class="subject" id="7.属性值是正则表达式_RegExp">7.属性值是正则表达式 RegExp <a class="hashlink" href="#7.属性值是正则表达式_RegExp">#</a></h4><pre><code><span class="token number">1</span>. 'name'<span class="token operator">:</span> regexp
根据正则表达式 regexp 反向生成可以匹配它的字符串。用于生成自定义格式的字符串。
@ -198,7 +189,7 @@ Mock.mock(<span class="token punctuation">{</span>
<span class="token property">"regexp3"</span><span class="token operator">:</span> <span class="token string">"561659409"</span>
<span class="token punctuation">}</span>
</code></pre><p><span id = "DPD"></span></p>
<h4 class="subject" id="数据占位符定义规范Data_Placeholder_DefinitionDPD">数据占位符定义规范Data Placeholder DefinitionDPD <a class="hashlink" href="#数据占位符定义规范Data_Placeholder_DefinitionDPD">#</a></h4><p>占位符 只是在属性值字符串中占个位置,并不出现在最终的属性值中。</p>
<h3 class="subject" id="数据占位符定义规范Data_Placeholder_DefinitionDPD">数据占位符定义规范Data Placeholder DefinitionDPD <a class="hashlink" href="#数据占位符定义规范Data_Placeholder_DefinitionDPD">#</a></h3><p>占位符 只是在属性值字符串中占个位置,并不出现在最终的属性值中。</p>
<p>占位符 的格式为:</p>
<pre><code>@占位符
@占位符(参数 <span class="token punctuation">[</span><span class="token punctuation">,</span> 参数<span class="token punctuation">]</span><span class="token punctuation">)</span>
@ -231,13 +222,9 @@ Mock.mock(<span class="token punctuation">{</span>
</code></pre><h2 class="subject" id="未来计划推出功能">未来计划推出功能 <a class="hashlink" href="#未来计划推出功能">#</a></h2><ol>
<li>可视化JSON编辑器可定义JSON_Schema和mockjs</li><li>支持HTTP和RPC协议</li><li>自动化测试</li><li>多人协作</li></ol>
</div>
</div>
</div>
</article>
</div>
</div>
</div>
@ -250,9 +237,6 @@ Mock.mock(<span class="token punctuation">{</span>
</div>
<div class="open-panel"></div>
<div class="mask"></div>
<script src="source/main.js"></script>
<script src="source/app.js"></script>

View File

@ -43,6 +43,7 @@ class projectController extends baseController {
handleBasepath(basepath) {
if (!basepath) return false;
if (basepath === '/') return basepath;
if (basepath[0] !== '/') basepath = '/' + basepath;
if (basepath[basepath.length - 1] === '/') basepath = basepath.substr(0, basepath.length - 1);
if (!yapi.commons.verifyPath(basepath)) {

View File

@ -12,10 +12,10 @@
"homeUrl": "http://ued.qunar.com/ymfe/" // logourl
},
"options": {
"foldcode": true,
"markdown": { // markdown
"menuLevel": 4 // head -1
}
"foldcode": true
// "markdown": { // markdown
// "menuLevel": 4 // head -1
// }
},
"pages": [{
"name": "index", // Page Name html : index.html
@ -72,13 +72,7 @@
"title": "YApi",
"description": "高效、易用、功能强大、的api管理平台旨在为开发、产品、测试人员提供更优雅的接口管理服务。"
},
"content": {
"sidebar": true,
"blocks": [{
"name":"",
"content": "./README/README-mock.md" // (markdown)
}]
}
"content": "./README/README-mock.md" // (markdown)
},{
"name": "api",