推荐一个生成后端模拟数据的懒人工具:lazy-mock

2023-05-27 0 820

点选下方红色“流程猿DD”,优先选择“标为隆哥蒙”

天然资源

推荐一个生成后端模拟数据的懒人工具:lazy-mock

译者 | 若邪

 https://juejin.im/post/6871592049485807630

# 序言

前段时间,发现两个较为有趣的夏斯利,两个不须要 mock 因此相匹配二阶的USB间接转贴到后端门牌号的小辅助工具。

推荐一个生成后端模拟数据的懒人工具:lazy-mock

推荐一个生成后端模拟数据的懒人工具:lazy-mock

install

yarn create @lowcoding/mock

start

yarn start

mock server 默认在本地 3000 端口启动,访问 http://localhost:3000/ 即可。

lowcode-mock 默认支持跨域,前端项目中可不必再配置代理,间接请求 lowcode-mock 起的服务即可。

mock

在 src\routes 目录下新建两个 js 文件,将如下内容复制进去保存即可:

import KoaRouter from koa-routerimport proxy from ../middleware/Proxyimport { delay } from ../lib/utillet Mock = require(mockjs)let Random = Mock.Randomconstrouter =new KoaRouter()router.get(/your-mock-api, (ctx) => { ctx.body = 你的第两个mockUSB})module.exports = router

使用 vscode 插件 yapi-code ,可间接根据 JSON 统计数据或者 YAPI USB定义自动聚合 mock USB以及 mock 统计数据。

# 根据 YAPI 聚合 mock

复制 YAPI 上USB id ,比如 https://你的yapi门牌号/project/869/interface/api/14037 最后面的数字部分

推荐一个生成后端模拟数据的懒人工具:lazy-mock

访问创建的 mock USB,即可拿到随机的 mock 统计数据:

推荐一个生成后端模拟数据的懒人工具:lazy-mock

# 根据 JSON 聚合 mock

复制 JSON 统计数据,比如:

推荐一个生成后端模拟数据的懒人工具:lazy-mock

通过 JSON 统计数据聚合的 mock USB须要手动修改路由门牌号。

根据字段类型或字段名称聚合特定的 mock 统计数据

配置 yapi-code

配在 package.json 中即可

“yapi-code.mockKeyWordLike”: { “icon”: “Random.image(48×48)”, “img”:“Random.image(48×48)”, “image”:“Random.image(48×48)”, “code”: “200&&number”, “name”:“模糊相匹配后聚合的mock” }, “yapi-code.mockKeyWordEqual”: { “message”: “这是一条精确的mock”, “total”: 200, }, “yapi-code.mockString”: “Random.cword(5, 6)”, “yapi-code.mockBoolean”: “Random.boolean()”, “yapi-code.mockNumber”: “Random.natural(100,1000)”

根据 json 统计数据

const json = { code: 100, message: 请求成功, result: { list: [ { code: 注意这是两个字符串的code, name: 张三, icon: , actived: false, }, ], total: 0, },}

聚合如下代码

访问 mock USB即可拿到如下类似统计数据:

.get(`xxxxx`, async (ctx, next) => { const list1 = [] for (let i = 0; i < 3; i++) { list1.push({ code: Random.cword(5, 6), name: 模糊相匹配后聚合的mock, icon: Random.image(48×48), actived: Random.boolean(), }) } ctx.body = { code: 200, message: 这是一条精确的mock, result: { list: list1, total: 200 }, }    })

延时

importKoaRouterfrom koa-routerimport proxy from ../middleware/Proxyimport { delay } from ../lib/utillet Mock = require(mockjs)let Random = Mock.Randomconst router = new KoaRouter()router.get(/delay, (ctx) => { delay(3) // 3 秒后返回结果 ctx.body = delay})

可用于测 loading 效果。

http 异常状态码

router.get(/httpError, (ctx) => { ctx.status = 401ctx.body =http 401})

代理

router.get(/proxy, proxy(https://github.com/wjkang/lowcode-mock), (ctx) => {ctx.body =https://github.com/wjkang/lowcode-mock})

来自 /proxy 的请求转贴到 https://github.com/wjkang/lowcode-mock/proxy ,用于后端USB可联调的时候跳过本地 mock,转贴请求到后端USB。

router.all(new RegExp(^/lowcode/mock/(|^$)), proxy(https://github.com/wjkang/lowcode-mock))

不须要 mock 因此相匹配二阶的USB间接转贴到后端门牌号。

# 源码门牌号

https://github.com/wjkang/lowcode-mock

往期所推荐

Java 15 转正了,国内几大互联网公司均有贡献,其中腾讯最为突出!

赠书:一本书带你吃透Nginx应用与运维

超全的 Linux Shell 文本处理辅助工具集锦,快收藏

MySQL中的InnoDB是怎么解决幻读的?

Redis为什么变慢了?常见延迟问题定位与分析

我们在星球聊了很多深度话题,你不来看看?

推荐一个生成后端模拟数据的懒人工具:lazy-mock

推荐一个生成后端模拟数据的懒人工具:lazy-mock

我的星球是否适合你?

点选看看我们都聊过啥?

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务