Mock的基本语法及使用

| |
[不指定 2023/09/08 15:17 | by 刘新修 ]
JavaScript代码
  1. //定义/mock/index.js  
  2.   
  3. import Mock from 'mockjs'  
  4. Mock.mock("/api/login", {  
  5.     code: 200,  
  6.     msg: "登陆成功",  
  7.     user: {  
  8.         name: "zeng8",  
  9.         score: 2048,  
  10.         rank: 10  
  11.     },  
  12.     token: "kjkjalsdiiuioayeuryqowierqiwerqowiery"  
  13. })  
  14. // url可以使用正则匹配  
  15. // 拦截get请求,返回评论数据  
  16. Mock.mock(/\/api\/feed/, "get", function(config) {  
  17.     //console.log("config" , config );  
  18.     //通过config可以获取到前端发给服务器的数据  
  19.     var po = config.url.indexOf("?"); //获取问号的位置  
  20.     if (po != -1) {  
  21.         var query = config.url.slice(po + 1); //获取到查询参数current=4转换为{current: 4}  
  22.         var arr = query.split("&"); //按&分割为数组  
  23.         var search = {}; //定义个对象  
  24.         arr.forEach(item => {  
  25.             var temp = item.split("="); //把数组每个元素按等于分割[current,4]  
  26.             search[temp[0]] = temp[1]; //search[ "current"] =4  
  27.   
  28.         })  
  29.     }  
  30.   
  31.     // 返回一个随机数据  
  32.     return Mock.mock({  
  33.         "code": 0,  
  34.         "data|4": [{  
  35.             id: "@id",  
  36.             msg: "@cparagraph(2,3)", //段落2-3行  
  37.             name: "@cname", //随机中文名  
  38.             date: "@datetime" //随机日期  
  39.         }],  
  40.         "pagnation": {  
  41.             "total|10-25": 1,  
  42.             "size": 4,  
  43.             "pageTotal|4-10": 1,  
  44.             "current": search.current,  
  45.         }  
  46.     })  
  47. })  
  48.   
  49. Mock.mock("/api/test", Mock.mock({  
  50.     name: "@cname", //随机中文名  
  51.     "age|100-200": 1, //100-200的随机数  
  52.     "price|10-50.2-5": 1, //10-50随机数 小数点2-5位  
  53.     "live|1-2": true, //随机true或false  
  54.     "start|1-5": "⭐", //把字符串重复1-5次  
  55.     "friend|2": ["小红", "小明", "小刚", "小白", "小蓝"], //1是挑一个大于1是重复n次  
  56.     "props|1-3": {  
  57.         name: "mm",  
  58.         age: 22,  
  59.         leg: 2,  
  60.         job: "web",  
  61.         eye: 2  
  62.     },  
  63.     "tel": /13\d{9}/,  
  64.     "des": function() {  
  65.         return `大家好,我的名字是${this.name},今年${this.age}岁`  
  66.     },  
  67.     "data|10": [{  
  68.         "id|+1": 1024,  
  69.         "ID": "@id",  
  70.         date: "@date",  
  71.         time: "@time",  
  72.         datetime: "@datetime",  
  73.         name: "@cname",  
  74.         pic: "@dataImage('200x100')",  
  75.         description: "@cparagraph(1,3)",  
  76.         title: "@ctitle(8,12)",  
  77.         url: /http:\/\/www\.[a-z]{2,8}\.(com|cn|org)/,  
  78.         email: /[4-8]@\.(126|qq|163)\.(com|cn|org)/,  
  79.         address: "@county(true)", //省市区地址  
  80.     }]  
  81. }))  
H5/JS/CSS | 评论(0) | 引用(0) | 阅读(1161)