一、初級使用 - 直接生成隨機模擬數據
直接以一個接口常見的返回格式為例:
Mock.mock(data);
let data = {
code|1: [0, 1001, 1002, 1003], // 從數組中隨機取一個值
message: '',
data: {
"data|length": [ // 按下邊的字段格式生成一個長度為 length 的數組
{
"id|+1": 0, // 屬性值自動加1,初始值為 0
"likeNumber|0-100": 10, //生成一個[0,100]的整數,10用來確定類型
"score|min-max.dmin-dmax": number, // 浮點數,限制方式與上一個整數相同
"like": "@boolean(1)", // 生成布爾值
"likeNum": "@integer(1,9999)", // 隨機1-9999間的數字
"content": "@csentence(5,50)", // 隨機生成5-50個字符,結束帶句號
"name": "@cword(2,5)", // 隨機生成2-5個字符,沒有標點
"releaseTime": "@date(yyyy-MM-dd)",// 按格式生成隨機日期
"creatTime": "@date(yyyy-MM-dd hh:mm:ss)",// 按格式生成隨機日期時間
"name|min-max": "string", //通過重複 string 生成一個字符串,重複次數[min,max]次
"name|count": "string", //通過重複 string 生成一個字符串,重複count次
"name|min-max": object, // 從 object 中隨機選取[min,max]個屬性
"name|count": object, // 從 object 中隨機選取count個屬性
"name": function, // 執行function,其返回值為最終的屬性值,函數的上下文為屬性 'name' 所在的對象
"":
}]
}
}
二、攔截接口請求並返回模擬數據
Mock.mock(接口, 請求類型, Mock範式)
配置攔截ajax請求
Mock.setup({
timeout: 400
})
mock獲取前端傳遞的數據
axios({
method: "get",
url: "/api/test",
data: {
id:2
}
}).then(data => {
console.log(data);
}
Mock.mock("/api/test", "get", (config) => {
console.log(config);
return data;
})