0.0.3 • Published 5 years ago

neeko-mock v0.0.3

Weekly downloads
5
License
MIT
Repository
github
Last release
5 years ago

neeko-mock

a easy mock tool

rollup

  • babel
  • typescript
  • dev
  • test

mock

  • 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)
}