a easy mock tool
- [x] babel
- [x] typescript
- [x] dev
- [x] test
- [ ] create
- [ ] tool
// mock.js
import NeekoMock from 'neeko-mock';
// 生成mock实例
const Mock = NeekoMock.create();
// 设置失败返回数据
Mock.setFailData({
code:-1,
data:'设置错误数据'
});
// 设置接口响应时间
Mock.setDelay(1000)
// 设置成功返回数据
Mock.setSuccessData({
status:200
data:'设置成功数据'
});
/**
* @description: 生成Promise
* @param sdata {object} 覆盖成功状态返回数据
* @param status {boolean} 覆盖接口状态(成功/失败)
* @param fdata {object} 覆盖失败状态返回的据
* @param delay {number} 覆盖接口响应时间
* @return: new Promise
*/
export const p = Mock.mock({status:200,data:'成功数据p'},true)
export const q = Mock.mock({status:200,data:'成功数据q'},true)
export const f = Mock.mock(null,false,{
code:-1,
data:'失败数据f'
})
// api.js
import axios from 'axios'
import {p,q,f} from './mock.js'
export function apiP(param){
// mock时返回mock模拟的接口
return p // 真实接口有数据之后mock功能完成,删除这行代码,使用真实接口。
// 真实接口
return axios.get('/api/p')
}
export function apiQ(param){
// mock时返回mock模拟的接口
return q // 真实接口有数据之后mock功能完成,删除这行代码,使用真实接口。
// 真实接口
return axios.get('/api/q')
}
// 测试失败
export function apiF(param){
// mock时返回mock模拟的接口
return q // 真实接口有数据之后mock功能完成,删除这行代码,使用真实接口。
// 真实接口
return axios.get('/api/f')
}
// xxx.vue
import {apiP,apiQ,qpiF} from './api.js'
export default {
data(){},
mounted(){
apiP().then((data)=>{
}).catch((err)=>{
console.log(err,'错误')
})
apiQ().then((data)=>{
}).catch((err)=>{
console.log(err,'错误')
})
apiF().then((data)=>{
}).catch((err)=>{
console.log(err,'错误')
})
}
}
import NeekoMock from 'neeko-mock'
const Mock = NeekoMock.create()
const successData = {
infoList:Mock.createList({ // 生成对象数组
id:Mock.rdId(), // 生成唯一id字符数
date:Mock.rdDate('yyyy-mm-dd') // 时间
cName:Mock.rdCName(3) // 中文名字
fName:Mock.rfFName(6) // 外文名字
num:Mock.rdNumber(10,200) // 数字
status:mock.rdStatus([0,1,2]) // 枚举值
main:mock.rdMain(10-20) // 文字
},10)
}