Skip to content

Commit 2d6bf73

Browse files
committed
1.1.0
1.修改了首页样式 2.在编辑接口的时候body为raw的状态下可以快捷修改content-type 3.在result列表添加了mixed类型,表示任意数据类型,同时mock添加了三种规则@null,@arr,@obj(后两种只针对mixed类 型) 4.可以在接口运行前后注入js代码,比如我要对接口字段进行自定义的加密,这个时候就可以在接口运行前注入自定义的js代码,同时SBDoc内置了很多 变量和函数供用户使用 5.接口测试页面的返回结果里,mixed标签更改为advance啦,加入了接口数据智能解析功能,可以识别接口数据类型是否正确,以及必有字段是否存 在于返回数据中
1 parent b24119c commit 2d6bf73

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

46 files changed

+790
-129
lines changed

SBDoc/model/interfaceModel.js

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,14 @@ var model=new mongoose.Schema({
5151
finish:{
5252
type:Number,
5353
default:0
54+
},
55+
before:{
56+
type:String,
57+
default:""
58+
},
59+
after:{
60+
type:String,
61+
default:""
5462
}
5563
},{
5664
timestamps:true

SBDoc/routes/interface/interfaceImp.js

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,14 @@ var interface=[
3030
type:Number,
3131
optional:1
3232
},
33+
before:{
34+
type:String,
35+
optional:1
36+
},
37+
after:{
38+
type:String,
39+
optional:1
40+
},
3341
method:{
3442
type:String,
3543
uppercase:1,

SBDoc/routes/project/projectImp.js

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,6 @@ var interface=[
101101
},
102102
urls:{
103103
type:String,
104-
lowercase:1,
105104
optional:1
106105
}
107106
},
@@ -208,7 +207,6 @@ var interface=[
208207
},
209208
url:{
210209
type:String,
211-
lowercase:1,
212210
}
213211
},
214212
"data":{

SBDoc/util/util.js

Lines changed: 119 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -370,6 +370,17 @@ function convertToJSON(data,obj) {
370370
return true
371371
}
372372
}
373+
else if(data.type==5)
374+
{
375+
if(data.mock)
376+
{
377+
return data.mock.trim();
378+
}
379+
else
380+
{
381+
return "mixed"
382+
}
383+
}
373384
}
374385
else
375386
{
@@ -403,7 +414,7 @@ function convertToJSON(data,obj) {
403414
let arr=val.split(",");
404415
let temp=Math.round(Math.random()*(arr.length-1));
405416
temp=arr[temp];
406-
if(data.type==0)
417+
if(data.type==0 || data.type==5)
407418
{
408419
return String(temp);
409420
}
@@ -416,6 +427,74 @@ function convertToJSON(data,obj) {
416427
return Boolean(temp);
417428
}
418429
}
430+
else if(str.startsWith("arr"))
431+
{
432+
var val=str.substring(4,str.length-1).trim();
433+
if(data.type==5)
434+
{
435+
if(val.length>0)
436+
{
437+
var arr;
438+
try
439+
{
440+
arr=eval(val);
441+
}
442+
catch (err)
443+
{
444+
arr=[];
445+
}
446+
if(!(arr instanceof Array))
447+
{
448+
arr=[];
449+
}
450+
return arr;
451+
}
452+
else
453+
{
454+
return [];
455+
}
456+
}
457+
else
458+
{
459+
return null;
460+
}
461+
}
462+
else if(str.startsWith("obj"))
463+
{
464+
var val=str.substring(4,str.length-1).trim();
465+
if(data.type==5)
466+
{
467+
if(val.length>0)
468+
{
469+
var obj;
470+
try
471+
{
472+
obj=eval("("+val+")");
473+
}
474+
catch (err)
475+
{
476+
obj={};
477+
}
478+
if(!(obj instanceof Object))
479+
{
480+
obj={};
481+
}
482+
return obj;
483+
}
484+
else
485+
{
486+
return {};
487+
}
488+
}
489+
else
490+
{
491+
return null;
492+
}
493+
}
494+
else if(str.startsWith("null"))
495+
{
496+
return null;
497+
}
419498
}
420499
return data.mock?data.mock.trim():null;
421500
}
@@ -485,6 +564,17 @@ function convertToJSON(data,obj) {
485564
func(data.data[i],objTemp);
486565
}
487566
}
567+
else if(data.type==5)
568+
{
569+
if(typeof(obj)=="object" && (obj instanceof Array))
570+
{
571+
obj.push(mock(data));
572+
}
573+
else if(typeof(obj)=="object" && !(obj instanceof Array))
574+
{
575+
obj[data.name]=mock(data);
576+
}
577+
}
488578
}
489579
for(var i=0;i<data.length;i++)
490580
{
@@ -531,6 +621,34 @@ function mock(data) {
531621
temp=arr[temp];
532622
return String(temp);
533623
}
624+
else if(/^arr/i.test(str))
625+
{
626+
var val=str.substring(4,str.length-1).trim();
627+
if(val.length>0)
628+
{
629+
return val;
630+
}
631+
else
632+
{
633+
return "[]";
634+
}
635+
}
636+
else if(/^obj/i.test(str))
637+
{
638+
var val=str.substring(4,str.length-1).trim();
639+
if(val.length>0)
640+
{
641+
return val;
642+
}
643+
else
644+
{
645+
return "{}";
646+
}
647+
}
648+
else if(/^null/i.test(str))
649+
{
650+
return "null";
651+
}
534652
}
535653
return data?data.trim():null;
536654
}

SBDocClient/dist/about.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

SBDocClient/dist/about.js.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

SBDocClient/dist/donate.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

SBDocClient/dist/donate.js.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

SBDocClient/dist/help.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

SBDocClient/dist/help.js.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)