Skip to content

Commit e35afd8

Browse files
committed
doc: readme
1 parent 7fb364f commit e35afd8

File tree

1 file changed

+38
-100
lines changed

1 file changed

+38
-100
lines changed

README.md

Lines changed: 38 additions & 100 deletions
Original file line numberDiff line numberDiff line change
@@ -1,114 +1,52 @@
1-
## dev-mock-cli
2-
支持能力/价值:
3-
- Mock API
4-
- 读取Swagger API,并生成接口
5-
- 无需担心跨域问题
6-
- 安装和启动方便
1+
说明:前端的工作中,mock api是比较麻烦的事情,特别是API交付节点太晚导致前端项目延期背锅。所以构建了当前项目,用来配合前端项目快速生成mock API。
72

8-
待办:
9-
- [已完成]支持版本:node>=18
10-
- [已完成]发布启动的配置信息汇总,提示产品使用文档:CLI使用说明,配置说明mock.config.json,提示当前运行的action风格还是restful风格
11-
- [已完成]读取配置文件,全局使用处理,并确认默认文件的优先级:命令行 > 配置文件 > 默认配置
12-
- [已完成]如何remote api,网络不通,进行告警,并不再转发
13-
- [已完成]上传npm的时候,指定文件
14-
- [已完成]restful: 读取swagger,生成json,处理中,晚上CLI的文档,用来测试
15-
- TODO: 返回值固定匹配和规则定制
16-
- 生成单元测试
17-
- CLI使用文档
18-
- 录制演示视频
19-
- 优化打印日志,全部英文显示
20-
- 配置npm可以发布的文件
21-
- 支持自动生成mock.config.json
22-
- 同时只能支持一个风格,当风格切换时,检测到有mock文件夹,则提示清空
23-
- 当用户之前用restful风格,后面切换成了action后,在代码里面兼容,如果读取格式不对,就报错
24-
- TODO: .js默认加载
25-
- TODO: 请求参数校验、返回数据特殊处理
26-
- TODO: mock能力细节处理,支持不走本地的local json
3+
## 支持能力/价值:
274

28-
### 二、启动一个Mock-API服务
5+
1. Mock API
6+
1. 读取Swagger文档,并生成API接口
7+
1. 无需担心跨域问题
8+
1. 安装方便:node环境一行指令安装/Docker启动
9+
1. API生成读取顺序:本地mock -> swagger -> remote api
2910

30-
#### action 风格的api
11+
## 快速开始
3112

13+
要求node环境:node > 18,后续考虑降低成本
3214

33-
在mock文件新建`[Action].json`文件,Action为对应api的名字,如果请求地址路径有参数,可以创建多层
34-
35-
比如一个请求url: `http://localhost:9000/list`, Action: "List"的api,数据为
36-
37-
```json
38-
{
39-
"RetCode": 0,
40-
"Message": "",
41-
"Data": []
42-
}
43-
```
44-
45-
在mock下新建list文件夹,并写入`List.json`, 执行命令`u-admin-cli mock`, 然后就可以请求接口了
46-
47-
![mock](https://cdn.jsdelivr.net/gh/richLpf/pictures@main/gitbook/1650466393888data.png)
48-
49-
还可以改动文件,再次请求接口内容也会跟着变化
50-
51-
```bash
52-
u-admin-cli mock -n
53-
```
54-
55-
### 三、功能介绍
56-
57-
1、mock - 启动本地开发服务
58-
59-
| 参数 | 别名 | 类型 | 默认值 | 描述 |
60-
| ------ | ---- | ------ | -------------------- | ------------------------ |
61-
| create | c | true | 创建mock数据 |
62-
| PORT | P | number | 启动本地服务的端口号 |
63-
| type | t | string | action | api类型:action、restful |
64-
65-
2、dev - 启动本地开发服务
66-
67-
| 参数 | 别名 | 类型 | 默认值 | 描述 |
68-
| ------------------ | ---- | ------- | -------------------- | ------------------ |
69-
| projects | p | array | 启动的微应用名称 |
70-
| PORT | P | number | 启动本地服务的端口号 |
71-
| withoutOpenBrowser | wb | boolean | true | 取消自动打开浏览器 |
72-
| env | e | object | | 开发自定义环境变量 |
73-
74-
- 1、首先启动服务,获取启动项目的html代码
75-
- 2、挂载微服务的代码,子项目的port依次+1
76-
77-
### 四、发布版本
78-
79-
```bash
80-
# 登录 npm
81-
npm config set registry https://registry.npmjs.org/
82-
83-
npm login
84-
```
85-
86-
1、修改版本号,执行下面命令
15+
1、安装dev-mock-cli
8716

8817
```
89-
npm run publish:patch
18+
yarn add -D dev-mock-cli
9019
```
9120

92-
2、撤回 24 小时内发布的版本,撤回后 24 小时内不允许发布
93-
21+
2、在项目根目录下新建`mock.config.json`
9422
```
95-
npm unpublish dev-mock-cli@1.0.2
23+
{
24+
"port": "9000",
25+
"type": "action",
26+
"proxyApiUrl": "http://localhost:9000",
27+
"cors": {
28+
"allowedHeaders": ["Origin", "X-Requested-With", "Content-Type", "Accept", "X-Accesstoken"],
29+
"allowCredentials": true,
30+
"maxAge": 86400
31+
},
32+
"swaggerApi": [
33+
{
34+
"title": "swagger",
35+
"type": "action",
36+
"url": "http://subscri.xxx.com/swagger/doc.json"
37+
}
38+
],
39+
"mockFields": {
40+
"RetCode": {
41+
"fixedValue": 0
42+
}
43+
}
44+
}
9645
```
46+
配置说明:待补充
9747

98-
### 五、本地开发
48+
3、启动mock
9949

10050
```
101-
cd dev-mock-cli
102-
yarn install
103-
yarn start [command]
104-
```
105-
106-
规则
107-
- 返回值固定匹配和规则定制
108-
custom.rules.js
109-
110-
export default class 定义规则
111-
112-
- 固定值:RetCode: 0
113-
- 具体字段的类型返回值: Name/UserName Id String 返回mock值
114-
- 数据类型返回不同的值: Number 返回mock
51+
yarn dev-mock-cli mock
52+
```

0 commit comments

Comments
 (0)