前言:本插件参考了RAP官方插件实现,由于实际开发中不需要通过MockJs在前端中处理RAP返回的MockJs源数据,所以对MockJs源数据未处理,仅支持RAP返回模拟的Json数据。需要自行处理MockJs源数据的,将下文提到的rapURL中的‘mockjsdata’改为‘mockjs即可’。
1. 插件使用
1.1 引入
|
|
1.2 配置
- 1.2.1 说明&举例
- rapURL组成:[RAPBaseUrl]/mockjsdata/[ProjectId]
- rapMode值:0 - 不拦截; 1 - 拦截全部; 2 - 黑名单中的项不拦截; 3 - 仅拦截白名单中的项
- rapFilterHeaders: 【字符串-数组】,RAP不支持的自定义Herder字段Key
- rapFilterMethods: 【字符串-数组】,RAP不支持的Method
- rapWhiteList/rapBlackList: 【字符串/正则-数组】,例:’[\/courses\/\d+$\/i, “courses/33”]’
|
|
备注:上面的单引号、双引号、转义‘\’,根据实际需要决定是否使用,比如上面例子是是写在配置文件中,之后通过require引入。
- 1.2.2 方式一:替换
|
|
- 1.2.3 方式二:更新部分配置
|
|
1.3 使用
通过Axios的插入器Interceptors使用插件
|
|
备注:
- 个人项目中,如果写成
axios.interceptors.request.use(rap.onFulfilled, rap.onRejected);
将出错反复需要授权…貌似和this指向有关,虽然我更喜欢这么写! - rap.onFulfilled为必须调用,rap.onRejected以实际需求决定。
2. 插件源码[rap.js]
|
|
3. 参考资料
RAP用户手册
ng-rap插件源码
服务器代理方式实现VUE上使用RAP_源码
VUE + Axios上通过XMLHttpRequest使用RAP_源码