mirror of
https://github.com/YMFE/yapi.git
synced 2025-01-30 13:20:24 +08:00
Merge branch 'dev' of gitlab.corp.qunar.com:mfe/yapi into dev
This commit is contained in:
commit
67162c8ef9
@ -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 Definition,DPD)](#DPD)
|
||||
|
||||
<span id = "DTD"></span>
|
||||
#### 数据模板定义规范(Data Template Definition,DTD)
|
||||
### 数据模板定义规范(Data Template Definition,DTD)
|
||||
|
||||
数据模板中的每个属性由 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 Definition,DPD)
|
||||
### 数据占位符定义规范(Data Placeholder Definition,DPD)
|
||||
|
||||
占位符 只是在属性值字符串中占个位置,并不出现在最终的属性值中。
|
||||
|
||||
|
@ -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>
|
||||
|
||||
|
||||
|
@ -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> -> <strong>项目</strong> -> <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>
|
||||
|
@ -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>通过点击页面上的"+添加接口"(若是接口已存在则跳到 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>通过点击页面上的"+添加接口"(若是接口已存在则跳到 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>)等信息,然后点击右上角的"Mock"按钮。</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>当点击"Mock"按钮之后,就会在页面下方生成一个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、请求头、请求的数据等。然后就点击"发送",然后在"返回结果"出可以看到接口返回的数据。</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>最后点击保存按钮,保存后将会在"Mock地址"生成一个链接。</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、请求头、请求的数据等。然后就点击"发送",然后在"返回结果"出可以看到接口返回的数据。</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>你也可以通过点击"管理成员"来添加和删除项目的成员,便于团队管理。</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 Definition,DTD)</a></p>
|
||||
<p><a href="#DPD">2. 数据占位符定义规范(Data Placeholder Definition,DPD)</a></p>
|
||||
<p><span id = "DTD"></span></p>
|
||||
<h4 class="subject" id="数据模板定义规范(Data_Template_Definition,DTD)">数据模板定义规范(Data Template Definition,DTD) <a class="hashlink" href="#数据模板定义规范(Data_Template_Definition,DTD)">#</a></h4><p>数据模板中的每个属性由 3 部分构成:属性名、生成规则、属性值:</p>
|
||||
<h3 class="subject" id="数据模板定义规范(Data_Template_Definition,DTD)">数据模板定义规范(Data Template Definition,DTD) <a class="hashlink" href="#数据模板定义规范(Data_Template_Definition,DTD)">#</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_Definition,DPD)">数据占位符定义规范(Data Placeholder Definition,DPD) <a class="hashlink" href="#数据占位符定义规范(Data_Placeholder_Definition,DPD)">#</a></h4><p>占位符 只是在属性值字符串中占个位置,并不出现在最终的属性值中。</p>
|
||||
<h3 class="subject" id="数据占位符定义规范(Data_Placeholder_Definition,DPD)">数据占位符定义规范(Data Placeholder Definition,DPD) <a class="hashlink" href="#数据占位符定义规范(Data_Placeholder_Definition,DPD)">#</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>
|
||||
|
@ -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)) {
|
||||
|
16
ydoc.json
16
ydoc.json
@ -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",
|
||||
|
Loading…
Reference in New Issue
Block a user