##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;