From 6a8d2e842a451d2061fbea9921d1a03fbb5e91f3 Mon Sep 17 00:00:00 2001 From: qitmac000249 Date: Tue, 1 Aug 2017 17:10:41 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E6=94=B9=E6=96=87=E6=A1=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README/README-mock.md | 60 ++++++++----------- static/doc/api.html | 20 +++---- static/doc/mock.html | 60 ++++++++----------- .../static/server/controllers/base.js.html | 2 +- .../static/server/controllers/project.js.html | 11 ++-- .../static/server/controllers/user.js.html | 1 + 6 files changed, 68 insertions(+), 86 deletions(-) diff --git a/README/README-mock.md b/README/README-mock.md index 18d2b790..39958a1b 100644 --- a/README/README-mock.md +++ b/README/README-mock.md @@ -30,7 +30,7 @@ ### 2.1 Mock语法规范 ->参考自:[Mock.js 官网](http://mockjs.com/) +>了解更多Mock详情:[Mock.js 官方文档](https://github.com/nuysoft/Mock/wiki/Syntax-Specification) Mock.js 的语法规范包括两部分: @@ -61,14 +61,17 @@ Mock.js 的语法规范包括两部分: 'name|+step': value ``` -生成规则示例: +下面提供了6种生成规则以及示例包括 String、Number、Boolean、Object、Array、RegExp: + #### 1. 属性值是字符串 String ``` 1. 'name|min-max': string + 通过重复 string 生成一个字符串,重复次数大于等于 min,小于等于 max。 2. 'name|count': string + 通过重复 string 生成一个字符串,重复次数等于 count。 ``` #### 2. 属性值是数字 Number @@ -139,24 +142,18 @@ Mock.mock({ 通过重复属性值 array 生成一个新数组,重复次数为 count。 ``` -#### 6. 属性值是函数 Function -``` -1. 'name': function - -执行函数 function,取其返回值作为最终的属性值,函数的上下文为属性 'name' 所在的对象。 -``` -#### 7.属性值是正则表达式 RegExp +#### 6.属性值是正则表达式 RegExp ``` 1. 'name': regexp -根据正则表达式 regexp 反向生成可以匹配它的字符串。用于生成自定义格式的字符串。 +根据正则表达式 regexp 反向生成可以匹配它的字符串,用于生成自定义格式的字符串。 例如: -Mock.mock({ +{ 'regexp1': /[a-z][A-Z][0-9]/, 'regexp2': /\w\W\s\S\d\D/, 'regexp3': /\d{5,10}/ -}) +} // => { "regexp1": "pJ7", @@ -166,38 +163,29 @@ Mock.mock({ ``` ### 数据占位符定义规范(Data Placeholder Definition,DPD) - +``` 占位符 只是在属性值字符串中占个位置,并不出现在最终的属性值中。 占位符 的格式为: -``` + @占位符 -@占位符(参数 [, 参数]) 说明: -1. 用 @ 来标识其后的字符串是 占位符。 -2. 占位符 引用的是 Mock.Random 中的方法。 -3. 通过 Mock.Random.extend() 来扩展自定义占位符。 -4. 占位符 也可以引用 数据模板 中的属性。 -5. 占位符 会优先引用 数据模板 中的属性。 -6. 占位符 支持 相对路径 和 绝对路径。 +1. 用 @ 来标识其后的字符串是 占位符,在YApi提供的Mock输入框在输入“@”后会自动提示占位符。 -Mock.mock({ - name: { - first: '@FIRST', - middle: '@FIRST', - last: '@LAST', - full: '@first @middle @last' - } -}) +例如: +name: { + first: '@FIRST', + middle: '@FIRST', + last: '@LAST', + full: '@first @middle @last' +} // 上面的示例可以得到如下结果: -{ - "name": { - "first": "Charles", - "middle": "Brenda", - "last": "Lopez", - "full": "Charles Brenda Lopez" - } +"name": { + "first": "Charles", + "middle": "Brenda", + "last": "Lopez", + "full": "Charles Brenda Lopez" } ``` diff --git a/static/doc/api.html b/static/doc/api.html index bc123971..f587c9de 100644 --- a/static/doc/api.html +++ b/static/doc/api.html @@ -670,7 +670,7 @@

源码位置: - ./server/controllers/user.js:62 + ./server/controllers/user.js:63

@@ -703,7 +703,7 @@

源码位置: - ./server/controllers/user.js:159 + ./server/controllers/user.js:160

@@ -799,7 +799,7 @@

源码位置: - ./server/controllers/user.js:228 + ./server/controllers/user.js:229

@@ -896,7 +896,7 @@

源码位置: - ./server/controllers/user.js:300 + ./server/controllers/user.js:301

@@ -966,7 +966,7 @@

源码位置: - ./server/controllers/user.js:328 + ./server/controllers/user.js:329

@@ -1028,7 +1028,7 @@

源码位置: - ./server/controllers/user.js:366 + ./server/controllers/user.js:367

@@ -1090,7 +1090,7 @@

源码位置: - ./server/controllers/user.js:397 + ./server/controllers/user.js:398

@@ -1182,7 +1182,7 @@

源码位置: - ./server/controllers/user.js:456 + ./server/controllers/user.js:457

@@ -1260,7 +1260,7 @@

源码位置: - ./server/controllers/user.js:502 + ./server/controllers/user.js:503

@@ -2300,7 +2300,7 @@

源码位置: - ./server/controllers/project.js:403 + ./server/controllers/project.js:404

diff --git a/static/doc/mock.html b/static/doc/mock.html index 65b42b7c..bcb711c0 100644 --- a/static/doc/mock.html +++ b/static/doc/mock.html @@ -85,7 +85,7 @@

图片名称

2.1 Mock语法规范 #

-

参考自:Mock.js 官网

+

了解更多Mock详情:Mock.js 官方文档

Mock.js 的语法规范包括两部分:

1. 数据模板定义规范(Data Template Definition,DTD)

@@ -106,11 +106,13 @@ 'name|count.dmin-dmax': value 'name|count.dcount': value 'name|+step': value -

生成规则示例:

+

下面提供了6种生成规则以及示例包括 String、Number、Boolean、Object、Array、RegExp:

1. 属性值是字符串 String #

1. 'name|min-max': string
+
 通过重复 string 生成一个字符串,重复次数大于等于 min,小于等于 max。
 
 2. 'name|count': string
+
 通过重复 string 生成一个字符串,重复次数等于 count。
 

2. 属性值是数字 Number #

1. 'name|+1': number
 
@@ -167,19 +169,16 @@ Mock.mock({
 4. 'name|count': array
 
 通过重复属性值 array 生成一个新数组,重复次数为 count。
-

6. 属性值是函数 Function #

1. 'name': function
+

6.属性值是正则表达式 RegExp #

1. 'name': regexp
 
-执行函数 function,取其返回值作为最终的属性值,函数的上下文为属性 'name' 所在的对象。
-

7.属性值是正则表达式 RegExp #

1. 'name': regexp
-
-根据正则表达式 regexp 反向生成可以匹配它的字符串。用于生成自定义格式的字符串。
+根据正则表达式 regexp 反向生成可以匹配它的字符串,用于生成自定义格式的字符串。
 
 例如:
-Mock.mock({
+{
     'regexp1': /[a-z][A-Z][0-9]/,
     'regexp2': /\w\W\s\S\d\D/,
     'regexp3': /\d{5,10}/
-})
+}
 // =>
 {
     "regexp1": "pJ7",
@@ -187,35 +186,28 @@ Mock.mock({
     "regexp3": "561659409"
 }
 

-

数据占位符定义规范(Data Placeholder Definition,DPD) #

占位符 只是在属性值字符串中占个位置,并不出现在最终的属性值中。

-

占位符 的格式为:

-
@占位符
-@占位符(参数 [, 参数])
+

数据占位符定义规范(Data Placeholder Definition,DPD) #

占位符 只是在属性值字符串中占个位置,并不出现在最终的属性值中。
+
+占位符 的格式为:
+
+@占位符
 
 说明:
-1. 用 @ 来标识其后的字符串是 占位符。
-2. 占位符 引用的是 Mock.Random 中的方法。
-3. 通过 Mock.Random.extend() 来扩展自定义占位符。
-4. 占位符 也可以引用 数据模板 中的属性。
-5. 占位符 会优先引用 数据模板 中的属性。
-6. 占位符 支持 相对路径 和 绝对路径。
+1. 用 @ 来标识其后的字符串是 占位符,在YApi提供的Mock输入框在输入“@”后会自动提示占位符。
 
-Mock.mock({
-    name: {
-        first: '@FIRST',
-        middle: '@FIRST',
-        last: '@LAST',
-        full: '@first @middle @last'
-    }
-})
+例如:
+name: {
+    first: '@FIRST',
+    middle: '@FIRST',
+    last: '@LAST',
+    full: '@first @middle @last'
+}
 // 上面的示例可以得到如下结果:
-{
-    "name": {
-        "first": "Charles",
-        "middle": "Brenda",
-        "last": "Lopez",
-        "full": "Charles Brenda Lopez"
-    }
+"name": {
+    "first": "Charles",
+    "middle": "Brenda",
+    "last": "Lopez",
+    "full": "Charles Brenda Lopez"
 }
 

未来计划推出功能 #

  1. 可视化JSON编辑器,可定义JSON_Schema和mockjs
  2. 支持HTTP和RPC协议
  3. 自动化测试
  4. 多人协作
diff --git a/static/doc/static/server/controllers/base.js.html b/static/doc/static/server/controllers/base.js.html index 140865cc..1ebf0223 100644 --- a/static/doc/static/server/controllers/base.js.html +++ b/static/doc/static/server/controllers/base.js.html @@ -87,7 +87,7 @@ class baseController { async getLoginStatus(ctx) { if (await this.checkLogin(ctx) === true) { - let result = yapi.commons.fieldSelect(this.$user, ['_id', 'username', 'email', 'up_time', 'add_time']); + let result = yapi.commons.fieldSelect(this.$user, ['_id', 'username', 'email', 'up_time', 'add_time','role']); result.server_ip = yapi.WEBCONFIG.server_ip; return ctx.body = yapi.commons.resReturn(result); } diff --git a/static/doc/static/server/controllers/project.js.html b/static/doc/static/server/controllers/project.js.html index 5c0d192d..ed5d2713 100644 --- a/static/doc/static/server/controllers/project.js.html +++ b/static/doc/static/server/controllers/project.js.html @@ -42,8 +42,8 @@ class projectController extends baseController { } handleBasepath(basepath) { - if (!basepath) return false; - if (basepath === '/') return basepath; + if (!basepath) return ""; + if (basepath === '/') return ""; if (basepath[0] !== '/') basepath = '/' + basepath; if (basepath[basepath.length - 1] === '/') basepath = basepath.substr(0, basepath.length - 1); if (!yapi.commons.verifyPath(basepath)) { @@ -99,13 +99,13 @@ class projectController extends baseController { return ctx.body = yapi.commons.resReturn(null, 401, '已存在的项目名'); } - if (!params.basepath) { - return ctx.body = yapi.commons.resReturn(null, 400, '项目basepath不能为空'); - } + if (!params.prd_host) { return ctx.body = yapi.commons.resReturn(null, 400, '项目domain不能为空'); } + params.basepath = params.basepath || ''; + if ((params.basepath = this.handleBasepath(params.basepath)) === false) { return ctx.body = yapi.commons.resReturn(null, 401, 'basepath格式有误'); } @@ -359,6 +359,7 @@ class projectController extends baseController { try { let id = ctx.request.body.id; let params = ctx.request.body; + params.basepath = params.basepath || ''; params = yapi.commons.handleParams(params, { name: 'string', basepath: 'string', diff --git a/static/doc/static/server/controllers/user.js.html b/static/doc/static/server/controllers/user.js.html index 1990ebef..1ae4e7ea 100644 --- a/static/doc/static/server/controllers/user.js.html +++ b/static/doc/static/server/controllers/user.js.html @@ -75,6 +75,7 @@ class userController extends baseController { return ctx.body = yapi.commons.resReturn({ username: result.username, + role: result.role, uid: result._id, email: result.email, add_time: result.add_time,