Skip to content
Bosn edited this page Jan 29, 2021 · 5 revisions

常见问题

鸣谢

Mock规则相关

如何通过不同的请求参数值,返回不同结果?例如通过请求query id的输入,来输出?

可以的,通过语法:$identifier$ 即可,例如请求参数id,响应体重,将初始值设置为:result is $id$,如果实际请求输入的值为id=39,则该字段返回:result is 39

环境配置

如何后台运行

linux系统可以使用nohup,执行如下命令,

nohup node dist/dispatch.js &

但是使用nohup只是后台运行,不会在服务器发生错误时自动重启,没有完善的日志管理和运维,所以推荐使用pm2来进行管理,pm2也是默认npm start所采用的服务运行方式。

npm start

默认start脚本就会自动通过pm2来执行PRODUCTION生产模式的服务

pm2的常用命令

查看运行的服务列表

pm2 list

重启

pm2 restart [服务名|ID|ALL]

暂停

pm2 stop [服务名|ID|ALL]

删除

pm2 delete [服务名|ID|ALL]

实时查看日志

pm2 logs

PM2的日志存储位置

~/.pm2/logs

F5刷新页面后404

404的问题不是rap2的问题,而是SPA应用的问题,终极原因自行百度,这里给出解决方案(linux部署,windows暂时不知道)。 参考这个nginx配置。注意里面备注了#404的地方。

没有编辑按钮、没有导入仓库按钮、看不到仓库和团队,等等

rap2有一套权限机制。主要分为以下几种角色

  • 团队创建者。团队创建者拥有团队下属所有的仓库管理权限。拥有对成员的维护权限。只能有一名。修改团队创建者需要修改表:organizations.creatorId和organizations.ownerId。
  • 团队成员。和团队创建者比起来。可以有多名,团队成员可以添加其他人为团队成员。团队成员可以查看团队下的所有仓库,但是不能编辑。仓库编辑权限必须是仓库成员或者仓库创建者。
  • 仓库创建者。可以读写仓库,删除仓库,维护仓库成员。修改仓库创建者,改数据库repositories.ownerId,repositories.creatorId。
  • 仓库成员。可以读写仓库,不能删除仓库,可以维护仓库成员。仓库成员和团队成员的区别主要是,仓库可以讲非团队成员添加到仓库成员。比如,测试团队成员。

成员管理(暂未实现)

除了rap2包含的一套成员管理外,公司内部还存在这些管理角色。

  • 超管。超管负责rap2的升级,维护,改库(很多功能都只能改库),管理团队leader的相关信息。
  • 团队leader。管理自己团队的仓库,包括成员的维护,仓库的建立,等等。
  • 仓库管理员。可能是某个项目的主程之类的角色。负责添加测试等非团队角色到仓库里。
  • 成员。 以上三个角色是一个树形结构,每个人最好只管下级。

修改密码,忘记密码

目前只能改库。找一个密码已知的用户(比如,123456),把他的密码覆盖到忘记/修改密码的用户的password字段上。

导入

自己在rap2,团队下找。如果没有导入按钮,说明权限有问题,让团队管理员把你的账号添加为团队成员。

导出

现在只支持导出postman,在哪里导出,自己找

协同仓库

Mock服务协同仓库,在当前仓库中无法匹配到接口时,将会从协同仓库中寻找,便于大的项目按不同仓库拆分管理

有点类似原型链,比如项目A完成了,现在要在A的基础上做二期B,那么就可以设置B的协同仓库为A。 这样接口匹配时,如果B找不到,就会自动找A,如果B找到了,就以B返回。