yuki-mock

1.0.8 • Public • Published

yuki-mock

You can install professor level

install

$ npm install yuki-mock -D

OR

$ yarn add yuki-mock -D

running

// package.json

"scripts": {
    "mock:dev": "yuki-mock dev",
    "mock:start": "yuki-mock start"
} 

// cmd

npx yuki-mock start | npx yuki-mock dev

// 可在根目录添加 mock.config.js 修改端口号及协议等 默认8888 // mock.config.js

module.exports = {
    local: {
        open: true,
        port: 8888
    },
    // http:{
    //     open:false,
    //     port:80
    // },
    // https:{
    //     open:false,
    //     port:443
    // }
}

随机函数方法

handleRandom:

  • 生成随机数
  • @param {number} n
  • @returns number

randomArrayText:

  • @param {array} textArr 字符串数据模板
  • @param {number} nums 次数
  • @returns array

splitText:

  • @param {string} text 文本
  • @param {*} separator 分隔符

uuid:

  • 随机uuid
  • @returns string

randomText:

  • @param {array} textArr 字符串数据模板
  • @returns string

randomNumber:

  • @param {number} maxNumber 随机最大的数值
  • @returns number

randomEnum:

  • @param {array} enums 枚举模板数组
  • @returns number

randomBoolean:

  • 随机布尔值

randomObject:

  • @param {array} textArr 字符串模板数组
  • @param {object} payload 生成的对象类型
  • @param {function} createRandomData 创建随机数据方法
  • @returns string | number | array

createRandomData:

  • @param {array} textArr 字符串模板数组
  • @param {object} objType 生成的对象类型
  • @param {number} nums 生成多少个
  • @returns array
    module.exports = {
        handleRandom, // 生成随机数
        randomArrayText, // 生成随机字符串数组
        splitText, // 根据不同分隔符分割文本成数组
        uuid, //随机uuid
        randomText, // 随机字符串
        randomNumber, // 随机数字
        randomEnum, // 随机枚举值
        randomBoolean, // 随机布尔值
        randomObject, // 随机对象
        createRandomData // 生成随机数据方法
    }

Example:

在自己项目根目录创建mock(该名称必须为mock)文件夹,再创建文件夹,该文件夹名称为路由接口,比如v2(任意) , 再创建接口文件,比如test.js(名称随意, 除common, 该文件可做统一拦截)
// mock/v2/test.js   postman访问 http://localhost:8888/v2/test

const express = require("express")
const router = express.Router()
const {createRandomData, randomObject} = require('yuki-mock')
router.get("/", (req, res, next) => {
    const textArr = ['只要你爱', '我愿', '我就全给', '给你百合花般的唇', '给你常青藤般的臂']
    const data = createRandomData(textArr, {
        id: {
            type: 'uuid'
        },
        name: {
            type: 'string',
            template: textArr
        },
        number: {
            type: 'number',
            count: 10
        },
        status: {
            type: 'enum',
            template: [10, 20, 30, 40]
        },
        bl: {
            type: 'boolean'
        },
        tag: {
            type: 'array',
            template: textArr,
            count: 3
        },
        obj: {
            type: 'object',
            template: textArr,
            payload: {
                id: {
                    type: 'uuid'
                },
                number: {
                    type: 'number',
                    count: 10
                }
            }
        },
        data: {
            type: 'randomData',
            template: textArr,
            payload: {
                id: {
                    type: 'uuid'
                },
                name: {
                    type: 'string',
                    template: textArr
                },
                number: {
                    type: 'number',
                    count: 10
                }
            },
            count: 10
        }
    }, 100)
    res.send({err: 0, msg: "tools", array: data, object: randomObject(textArr, {
        id: {
            type: 'uuid'
        },
        name: {
            type: 'string',
            template: textArr
        },
        number: {
            type: 'number',
            count: 10
        }
    })})
})

module.exports = router

Dependents (0)

Package Sidebar

Install

npm i yuki-mock

Weekly Downloads

0

Version

1.0.8

License

ISC

Unpacked Size

51.8 kB

Total Files

19

Last publish

Collaborators

  • yukixy