阿里RAP+fiddler實現app原生應用的cgi數據mock----- (二)添加mock規則,隨機返回4中類型(不同長度)的數據


##RAP如何生成json數據##

1、頁面添加mock規則;直接入庫;
2、服務從db中獲取對應的規則串,調用mock-min.js解析,生成數據返回給服務;
MockjsRunner.doRenderMockJsRule調用context.evaluateString直接執行mock-min.js,返回對應生成的結果;
3、服務講回調函數的結果返回給前端;
##RAP如何添加規則##
mock-min.js中對Random.extend進行擴展:

Random.extend({ 
/*隨機返回一個隨機值,包含null,類型包括String,number,boolean*/
testRandom: function(){ 
/*隨機數確定類型*/
var key = Number(Math.floor(Math.random()*10)+2);
/*2~36隨機長度字符串*/
var length = Math.floor(Math.random()*36)+1;
var result;
var flag=0;
if(key>0 && key <=3){
flag=1;
}else if(key>3 && key<=6){
flag=2;
}else if(key>6 && key<=9){
flag=3
}
switch(flag){
/*return String類型*/
case 1:
result=Math.random().toString(length);
break;
/*return number類型*/
case 2:
if(key==6){
result=0;
}else{ 
var type = key%2 == 0 ? 1:-1;
result=Math.random()* Math.pow(2,length) * type;
}
break;
/*return boolean類型*/
case 3:
result=key%2 == 0 ? true:false;
break;
/*return null*/
default:
result=null;
}
return result;
}
});

 


###遇到的問題記錄###
1、javascript的switch case中,case不支持表達式,只支持基礎類型變量;
2、很久不寫代碼,連基本的判定表達式都寫成了數學表達式,wtf;


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM