Skip to content
刘尚威 edited this page Jun 4, 2019 · 7 revisions

F5刷新页面后404

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

另外也可以使用 npm 的全局模块 serve 来解决这个问题,只需要执行时添加一个 -s 的命令行参数即可。 linux 下可执行命令 nohup serve ./build -p 8000 -s > /dev/null 2>&1 & 来启动,windows 也可以用 serve ./build -p 8000 -s 启动。亲测可以解决刷新 404 问题。

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

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

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

成员管理

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

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

修改密码,忘记密码

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

导入

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

导出

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

性能

rap1的性能极其低下,所以我们才使用了rap2,但是目前rap2仍然存在一定性能上的问题。第一次打开仓库的时候还是比较耗时(第二次估计数据已经预热到redis会有缓解),估计是由于ORM是采用Sequelize(有点类似java里的Hibernate)实现的,没有对一些情况进行优化,同时做了很多外键关联等等。作者是FE大神,在后端的一些技巧上还不能通吃,后期估计会有改善。所以部署的时候,性能瓶颈可能会出现在db上。有能力的朋友可以考虑提mr救助下。