Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
yiicenne
uni-app
提交
a3f381a2
U
uni-app
项目概览
yiicenne
/
uni-app
与 Fork 源项目一致
Fork自
DCloud / uni-app
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
U
uni-app
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
a3f381a2
编写于
3月 31, 2023
作者:
DCloud-WZF
💬
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
feat(interceptor): pass params to callback (question/129195)
上级
5897c827
变更
16
展开全部
隐藏空白更改
内联
并排
Showing
16 changed file
with
146 addition
and
94 deletion
+146
-94
packages/uni-app-plus/dist/index.js
packages/uni-app-plus/dist/index.js
+11
-7
packages/uni-app-plus/dist/index.v3.js
packages/uni-app-plus/dist/index.v3.js
+11
-7
packages/uni-h5/dist/index.umd.min.js
packages/uni-h5/dist/index.umd.min.js
+1
-1
packages/uni-mp-alipay/dist/index.js
packages/uni-mp-alipay/dist/index.js
+11
-7
packages/uni-mp-baidu/dist/index.js
packages/uni-mp-baidu/dist/index.js
+11
-7
packages/uni-mp-jd/dist/index.js
packages/uni-mp-jd/dist/index.js
+11
-7
packages/uni-mp-kuaishou/dist/index.js
packages/uni-mp-kuaishou/dist/index.js
+11
-7
packages/uni-mp-lark/dist/index.js
packages/uni-mp-lark/dist/index.js
+11
-7
packages/uni-mp-qq/dist/index.js
packages/uni-mp-qq/dist/index.js
+11
-7
packages/uni-mp-toutiao/dist/index.js
packages/uni-mp-toutiao/dist/index.js
+11
-7
packages/uni-mp-weixin/dist/index.js
packages/uni-mp-weixin/dist/index.js
+11
-7
packages/uni-mp-xhs/dist/index.js
packages/uni-mp-xhs/dist/index.js
+11
-7
packages/uni-quickapp-native/dist/vue.dev.js
packages/uni-quickapp-native/dist/vue.dev.js
+1
-1
packages/uni-quickapp-native/dist/vue.prod.js
packages/uni-quickapp-native/dist/vue.prod.js
+1
-1
packages/uni-quickapp-webview/dist/index.js
packages/uni-quickapp-webview/dist/index.js
+11
-7
src/core/helpers/interceptor.js
src/core/helpers/interceptor.js
+11
-7
未找到文件。
packages/uni-app-plus/dist/index.js
浏览文件 @
a3f381a2
...
...
@@ -202,9 +202,9 @@ function removeInterceptor (method, option) {
}
}
function
wrapperHook
(
hook
)
{
function
wrapperHook
(
hook
,
params
)
{
return
function
(
data
)
{
return
hook
(
data
)
||
data
return
hook
(
data
,
params
)
||
data
}
}
...
...
@@ -212,14 +212,14 @@ function isPromise (obj) {
return
!!
obj
&&
(
typeof
obj
===
'
object
'
||
typeof
obj
===
'
function
'
)
&&
typeof
obj
.
then
===
'
function
'
}
function
queue
(
hooks
,
data
)
{
function
queue
(
hooks
,
data
,
params
)
{
let
promise
=
false
;
for
(
let
i
=
0
;
i
<
hooks
.
length
;
i
++
)
{
const
hook
=
hooks
[
i
];
if
(
promise
)
{
promise
=
Promise
.
resolve
(
wrapperHook
(
hook
));
promise
=
Promise
.
resolve
(
wrapperHook
(
hook
,
params
));
}
else
{
const
res
=
hook
(
data
);
const
res
=
hook
(
data
,
params
);
if
(
isPromise
(
res
))
{
promise
=
Promise
.
resolve
(
res
);
}
...
...
@@ -242,7 +242,7 @@ function wrapperOptions (interceptor, options = {}) {
if
(
Array
.
isArray
(
interceptor
[
name
]))
{
const
oldCallback
=
options
[
name
];
options
[
name
]
=
function
callbackInterceptor
(
res
)
{
queue
(
interceptor
[
name
],
res
).
then
((
res
)
=>
{
queue
(
interceptor
[
name
],
res
,
options
).
then
((
res
)
=>
{
/* eslint-disable no-mixed-operators */
return
isFn
(
oldCallback
)
&&
oldCallback
(
res
)
||
res
});
...
...
@@ -291,7 +291,11 @@ function invokeApi (method, api, options, ...params) {
if
(
Array
.
isArray
(
interceptor
.
invoke
))
{
const
res
=
queue
(
interceptor
.
invoke
,
options
);
return
res
.
then
((
options
)
=>
{
return
api
(
wrapperOptions
(
interceptor
,
options
),
...
params
)
// 重新访问 getApiInterceptorHooks, 允许 invoke 中再次调用 addInterceptor,removeInterceptor
return
api
(
wrapperOptions
(
getApiInterceptorHooks
(
method
),
options
),
...
params
)
})
}
else
{
return
api
(
wrapperOptions
(
interceptor
,
options
),
...
params
)
...
...
packages/uni-app-plus/dist/index.v3.js
浏览文件 @
a3f381a2
...
...
@@ -809,9 +809,9 @@ var serviceContext = (function () {
}
}
function wrapperHook (hook) {
function wrapperHook (hook
, params
) {
return function (data) {
return hook(data) || data
return hook(data
, params
) || data
}
}
...
...
@@ -819,14 +819,14 @@ var serviceContext = (function () {
return !!obj && (typeof obj === 'object' || typeof obj === 'function') && typeof obj.then === 'function'
}
function queue (hooks, data) {
function queue (hooks, data
, params
) {
let promise = false;
for (let i = 0; i < hooks.length; i++) {
const hook = hooks[i];
if (promise) {
promise = Promise.resolve(wrapperHook(hook));
promise = Promise.resolve(wrapperHook(hook
, params
));
} else {
const res = hook(data);
const res = hook(data
, params
);
if (isPromise(res)) {
promise = Promise.resolve(res);
}
...
...
@@ -849,7 +849,7 @@ var serviceContext = (function () {
if (Array.isArray(interceptor[name])) {
const oldCallback = options[name];
options[name] = function callbackInterceptor (res) {
queue(interceptor[name], res).then((res) => {
queue(interceptor[name], res
, options
).then((res) => {
/* eslint-disable no-mixed-operators */
return isFn(oldCallback) && oldCallback(res) || res
});
...
...
@@ -898,7 +898,11 @@ var serviceContext = (function () {
if (Array.isArray(interceptor.invoke)) {
const res = queue(interceptor.invoke, options);
return res.then((options) => {
return api(wrapperOptions(interceptor, options), ...params)
// 重新访问 getApiInterceptorHooks, 允许 invoke 中再次调用 addInterceptor,removeInterceptor
return api(
wrapperOptions(getApiInterceptorHooks(method), options),
...params
)
})
} else {
return api(wrapperOptions(interceptor, options), ...params)
...
...
packages/uni-h5/dist/index.umd.min.js
浏览文件 @
a3f381a2
此差异已折叠。
点击以展开。
packages/uni-mp-alipay/dist/index.js
浏览文件 @
a3f381a2
...
...
@@ -202,9 +202,9 @@ function removeInterceptor (method, option) {
}
}
function
wrapperHook
(
hook
)
{
function
wrapperHook
(
hook
,
params
)
{
return
function
(
data
)
{
return
hook
(
data
)
||
data
return
hook
(
data
,
params
)
||
data
}
}
...
...
@@ -212,14 +212,14 @@ function isPromise (obj) {
return
!!
obj
&&
(
typeof
obj
===
'
object
'
||
typeof
obj
===
'
function
'
)
&&
typeof
obj
.
then
===
'
function
'
}
function
queue
(
hooks
,
data
)
{
function
queue
(
hooks
,
data
,
params
)
{
let
promise
=
false
;
for
(
let
i
=
0
;
i
<
hooks
.
length
;
i
++
)
{
const
hook
=
hooks
[
i
];
if
(
promise
)
{
promise
=
Promise
.
resolve
(
wrapperHook
(
hook
));
promise
=
Promise
.
resolve
(
wrapperHook
(
hook
,
params
));
}
else
{
const
res
=
hook
(
data
);
const
res
=
hook
(
data
,
params
);
if
(
isPromise
(
res
))
{
promise
=
Promise
.
resolve
(
res
);
}
...
...
@@ -242,7 +242,7 @@ function wrapperOptions (interceptor, options = {}) {
if
(
Array
.
isArray
(
interceptor
[
name
]))
{
const
oldCallback
=
options
[
name
];
options
[
name
]
=
function
callbackInterceptor
(
res
)
{
queue
(
interceptor
[
name
],
res
).
then
((
res
)
=>
{
queue
(
interceptor
[
name
],
res
,
options
).
then
((
res
)
=>
{
/* eslint-disable no-mixed-operators */
return
isFn
(
oldCallback
)
&&
oldCallback
(
res
)
||
res
});
...
...
@@ -291,7 +291,11 @@ function invokeApi (method, api, options, ...params) {
if
(
Array
.
isArray
(
interceptor
.
invoke
))
{
const
res
=
queue
(
interceptor
.
invoke
,
options
);
return
res
.
then
((
options
)
=>
{
return
api
(
wrapperOptions
(
interceptor
,
options
),
...
params
)
// 重新访问 getApiInterceptorHooks, 允许 invoke 中再次调用 addInterceptor,removeInterceptor
return
api
(
wrapperOptions
(
getApiInterceptorHooks
(
method
),
options
),
...
params
)
})
}
else
{
return
api
(
wrapperOptions
(
interceptor
,
options
),
...
params
)
...
...
packages/uni-mp-baidu/dist/index.js
浏览文件 @
a3f381a2
...
...
@@ -202,9 +202,9 @@ function removeInterceptor (method, option) {
}
}
function
wrapperHook
(
hook
)
{
function
wrapperHook
(
hook
,
params
)
{
return
function
(
data
)
{
return
hook
(
data
)
||
data
return
hook
(
data
,
params
)
||
data
}
}
...
...
@@ -212,14 +212,14 @@ function isPromise (obj) {
return
!!
obj
&&
(
typeof
obj
===
'
object
'
||
typeof
obj
===
'
function
'
)
&&
typeof
obj
.
then
===
'
function
'
}
function
queue
(
hooks
,
data
)
{
function
queue
(
hooks
,
data
,
params
)
{
let
promise
=
false
;
for
(
let
i
=
0
;
i
<
hooks
.
length
;
i
++
)
{
const
hook
=
hooks
[
i
];
if
(
promise
)
{
promise
=
Promise
.
resolve
(
wrapperHook
(
hook
));
promise
=
Promise
.
resolve
(
wrapperHook
(
hook
,
params
));
}
else
{
const
res
=
hook
(
data
);
const
res
=
hook
(
data
,
params
);
if
(
isPromise
(
res
))
{
promise
=
Promise
.
resolve
(
res
);
}
...
...
@@ -242,7 +242,7 @@ function wrapperOptions (interceptor, options = {}) {
if
(
Array
.
isArray
(
interceptor
[
name
]))
{
const
oldCallback
=
options
[
name
];
options
[
name
]
=
function
callbackInterceptor
(
res
)
{
queue
(
interceptor
[
name
],
res
).
then
((
res
)
=>
{
queue
(
interceptor
[
name
],
res
,
options
).
then
((
res
)
=>
{
/* eslint-disable no-mixed-operators */
return
isFn
(
oldCallback
)
&&
oldCallback
(
res
)
||
res
});
...
...
@@ -291,7 +291,11 @@ function invokeApi (method, api, options, ...params) {
if
(
Array
.
isArray
(
interceptor
.
invoke
))
{
const
res
=
queue
(
interceptor
.
invoke
,
options
);
return
res
.
then
((
options
)
=>
{
return
api
(
wrapperOptions
(
interceptor
,
options
),
...
params
)
// 重新访问 getApiInterceptorHooks, 允许 invoke 中再次调用 addInterceptor,removeInterceptor
return
api
(
wrapperOptions
(
getApiInterceptorHooks
(
method
),
options
),
...
params
)
})
}
else
{
return
api
(
wrapperOptions
(
interceptor
,
options
),
...
params
)
...
...
packages/uni-mp-jd/dist/index.js
浏览文件 @
a3f381a2
...
...
@@ -202,9 +202,9 @@ function removeInterceptor (method, option) {
}
}
function
wrapperHook
(
hook
)
{
function
wrapperHook
(
hook
,
params
)
{
return
function
(
data
)
{
return
hook
(
data
)
||
data
return
hook
(
data
,
params
)
||
data
}
}
...
...
@@ -212,14 +212,14 @@ function isPromise (obj) {
return
!!
obj
&&
(
typeof
obj
===
'
object
'
||
typeof
obj
===
'
function
'
)
&&
typeof
obj
.
then
===
'
function
'
}
function
queue
(
hooks
,
data
)
{
function
queue
(
hooks
,
data
,
params
)
{
let
promise
=
false
;
for
(
let
i
=
0
;
i
<
hooks
.
length
;
i
++
)
{
const
hook
=
hooks
[
i
];
if
(
promise
)
{
promise
=
Promise
.
resolve
(
wrapperHook
(
hook
));
promise
=
Promise
.
resolve
(
wrapperHook
(
hook
,
params
));
}
else
{
const
res
=
hook
(
data
);
const
res
=
hook
(
data
,
params
);
if
(
isPromise
(
res
))
{
promise
=
Promise
.
resolve
(
res
);
}
...
...
@@ -242,7 +242,7 @@ function wrapperOptions (interceptor, options = {}) {
if
(
Array
.
isArray
(
interceptor
[
name
]))
{
const
oldCallback
=
options
[
name
];
options
[
name
]
=
function
callbackInterceptor
(
res
)
{
queue
(
interceptor
[
name
],
res
).
then
((
res
)
=>
{
queue
(
interceptor
[
name
],
res
,
options
).
then
((
res
)
=>
{
/* eslint-disable no-mixed-operators */
return
isFn
(
oldCallback
)
&&
oldCallback
(
res
)
||
res
});
...
...
@@ -291,7 +291,11 @@ function invokeApi (method, api, options, ...params) {
if
(
Array
.
isArray
(
interceptor
.
invoke
))
{
const
res
=
queue
(
interceptor
.
invoke
,
options
);
return
res
.
then
((
options
)
=>
{
return
api
(
wrapperOptions
(
interceptor
,
options
),
...
params
)
// 重新访问 getApiInterceptorHooks, 允许 invoke 中再次调用 addInterceptor,removeInterceptor
return
api
(
wrapperOptions
(
getApiInterceptorHooks
(
method
),
options
),
...
params
)
})
}
else
{
return
api
(
wrapperOptions
(
interceptor
,
options
),
...
params
)
...
...
packages/uni-mp-kuaishou/dist/index.js
浏览文件 @
a3f381a2
...
...
@@ -202,9 +202,9 @@ function removeInterceptor (method, option) {
}
}
function
wrapperHook
(
hook
)
{
function
wrapperHook
(
hook
,
params
)
{
return
function
(
data
)
{
return
hook
(
data
)
||
data
return
hook
(
data
,
params
)
||
data
}
}
...
...
@@ -212,14 +212,14 @@ function isPromise (obj) {
return
!!
obj
&&
(
typeof
obj
===
'
object
'
||
typeof
obj
===
'
function
'
)
&&
typeof
obj
.
then
===
'
function
'
}
function
queue
(
hooks
,
data
)
{
function
queue
(
hooks
,
data
,
params
)
{
let
promise
=
false
;
for
(
let
i
=
0
;
i
<
hooks
.
length
;
i
++
)
{
const
hook
=
hooks
[
i
];
if
(
promise
)
{
promise
=
Promise
.
resolve
(
wrapperHook
(
hook
));
promise
=
Promise
.
resolve
(
wrapperHook
(
hook
,
params
));
}
else
{
const
res
=
hook
(
data
);
const
res
=
hook
(
data
,
params
);
if
(
isPromise
(
res
))
{
promise
=
Promise
.
resolve
(
res
);
}
...
...
@@ -242,7 +242,7 @@ function wrapperOptions (interceptor, options = {}) {
if
(
Array
.
isArray
(
interceptor
[
name
]))
{
const
oldCallback
=
options
[
name
];
options
[
name
]
=
function
callbackInterceptor
(
res
)
{
queue
(
interceptor
[
name
],
res
).
then
((
res
)
=>
{
queue
(
interceptor
[
name
],
res
,
options
).
then
((
res
)
=>
{
/* eslint-disable no-mixed-operators */
return
isFn
(
oldCallback
)
&&
oldCallback
(
res
)
||
res
});
...
...
@@ -291,7 +291,11 @@ function invokeApi (method, api, options, ...params) {
if
(
Array
.
isArray
(
interceptor
.
invoke
))
{
const
res
=
queue
(
interceptor
.
invoke
,
options
);
return
res
.
then
((
options
)
=>
{
return
api
(
wrapperOptions
(
interceptor
,
options
),
...
params
)
// 重新访问 getApiInterceptorHooks, 允许 invoke 中再次调用 addInterceptor,removeInterceptor
return
api
(
wrapperOptions
(
getApiInterceptorHooks
(
method
),
options
),
...
params
)
})
}
else
{
return
api
(
wrapperOptions
(
interceptor
,
options
),
...
params
)
...
...
packages/uni-mp-lark/dist/index.js
浏览文件 @
a3f381a2
...
...
@@ -202,9 +202,9 @@ function removeInterceptor (method, option) {
}
}
function
wrapperHook
(
hook
)
{
function
wrapperHook
(
hook
,
params
)
{
return
function
(
data
)
{
return
hook
(
data
)
||
data
return
hook
(
data
,
params
)
||
data
}
}
...
...
@@ -212,14 +212,14 @@ function isPromise (obj) {
return
!!
obj
&&
(
typeof
obj
===
'
object
'
||
typeof
obj
===
'
function
'
)
&&
typeof
obj
.
then
===
'
function
'
}
function
queue
(
hooks
,
data
)
{
function
queue
(
hooks
,
data
,
params
)
{
let
promise
=
false
;
for
(
let
i
=
0
;
i
<
hooks
.
length
;
i
++
)
{
const
hook
=
hooks
[
i
];
if
(
promise
)
{
promise
=
Promise
.
resolve
(
wrapperHook
(
hook
));
promise
=
Promise
.
resolve
(
wrapperHook
(
hook
,
params
));
}
else
{
const
res
=
hook
(
data
);
const
res
=
hook
(
data
,
params
);
if
(
isPromise
(
res
))
{
promise
=
Promise
.
resolve
(
res
);
}
...
...
@@ -242,7 +242,7 @@ function wrapperOptions (interceptor, options = {}) {
if
(
Array
.
isArray
(
interceptor
[
name
]))
{
const
oldCallback
=
options
[
name
];
options
[
name
]
=
function
callbackInterceptor
(
res
)
{
queue
(
interceptor
[
name
],
res
).
then
((
res
)
=>
{
queue
(
interceptor
[
name
],
res
,
options
).
then
((
res
)
=>
{
/* eslint-disable no-mixed-operators */
return
isFn
(
oldCallback
)
&&
oldCallback
(
res
)
||
res
});
...
...
@@ -291,7 +291,11 @@ function invokeApi (method, api, options, ...params) {
if
(
Array
.
isArray
(
interceptor
.
invoke
))
{
const
res
=
queue
(
interceptor
.
invoke
,
options
);
return
res
.
then
((
options
)
=>
{
return
api
(
wrapperOptions
(
interceptor
,
options
),
...
params
)
// 重新访问 getApiInterceptorHooks, 允许 invoke 中再次调用 addInterceptor,removeInterceptor
return
api
(
wrapperOptions
(
getApiInterceptorHooks
(
method
),
options
),
...
params
)
})
}
else
{
return
api
(
wrapperOptions
(
interceptor
,
options
),
...
params
)
...
...
packages/uni-mp-qq/dist/index.js
浏览文件 @
a3f381a2
...
...
@@ -202,9 +202,9 @@ function removeInterceptor (method, option) {
}
}
function
wrapperHook
(
hook
)
{
function
wrapperHook
(
hook
,
params
)
{
return
function
(
data
)
{
return
hook
(
data
)
||
data
return
hook
(
data
,
params
)
||
data
}
}
...
...
@@ -212,14 +212,14 @@ function isPromise (obj) {
return
!!
obj
&&
(
typeof
obj
===
'
object
'
||
typeof
obj
===
'
function
'
)
&&
typeof
obj
.
then
===
'
function
'
}
function
queue
(
hooks
,
data
)
{
function
queue
(
hooks
,
data
,
params
)
{
let
promise
=
false
;
for
(
let
i
=
0
;
i
<
hooks
.
length
;
i
++
)
{
const
hook
=
hooks
[
i
];
if
(
promise
)
{
promise
=
Promise
.
resolve
(
wrapperHook
(
hook
));
promise
=
Promise
.
resolve
(
wrapperHook
(
hook
,
params
));
}
else
{
const
res
=
hook
(
data
);
const
res
=
hook
(
data
,
params
);
if
(
isPromise
(
res
))
{
promise
=
Promise
.
resolve
(
res
);
}
...
...
@@ -242,7 +242,7 @@ function wrapperOptions (interceptor, options = {}) {
if
(
Array
.
isArray
(
interceptor
[
name
]))
{
const
oldCallback
=
options
[
name
];
options
[
name
]
=
function
callbackInterceptor
(
res
)
{
queue
(
interceptor
[
name
],
res
).
then
((
res
)
=>
{
queue
(
interceptor
[
name
],
res
,
options
).
then
((
res
)
=>
{
/* eslint-disable no-mixed-operators */
return
isFn
(
oldCallback
)
&&
oldCallback
(
res
)
||
res
});
...
...
@@ -291,7 +291,11 @@ function invokeApi (method, api, options, ...params) {
if
(
Array
.
isArray
(
interceptor
.
invoke
))
{
const
res
=
queue
(
interceptor
.
invoke
,
options
);
return
res
.
then
((
options
)
=>
{
return
api
(
wrapperOptions
(
interceptor
,
options
),
...
params
)
// 重新访问 getApiInterceptorHooks, 允许 invoke 中再次调用 addInterceptor,removeInterceptor
return
api
(
wrapperOptions
(
getApiInterceptorHooks
(
method
),
options
),
...
params
)
})
}
else
{
return
api
(
wrapperOptions
(
interceptor
,
options
),
...
params
)
...
...
packages/uni-mp-toutiao/dist/index.js
浏览文件 @
a3f381a2
...
...
@@ -202,9 +202,9 @@ function removeInterceptor (method, option) {
}
}
function
wrapperHook
(
hook
)
{
function
wrapperHook
(
hook
,
params
)
{
return
function
(
data
)
{
return
hook
(
data
)
||
data
return
hook
(
data
,
params
)
||
data
}
}
...
...
@@ -212,14 +212,14 @@ function isPromise (obj) {
return
!!
obj
&&
(
typeof
obj
===
'
object
'
||
typeof
obj
===
'
function
'
)
&&
typeof
obj
.
then
===
'
function
'
}
function
queue
(
hooks
,
data
)
{
function
queue
(
hooks
,
data
,
params
)
{
let
promise
=
false
;
for
(
let
i
=
0
;
i
<
hooks
.
length
;
i
++
)
{
const
hook
=
hooks
[
i
];
if
(
promise
)
{
promise
=
Promise
.
resolve
(
wrapperHook
(
hook
));
promise
=
Promise
.
resolve
(
wrapperHook
(
hook
,
params
));
}
else
{
const
res
=
hook
(
data
);
const
res
=
hook
(
data
,
params
);
if
(
isPromise
(
res
))
{
promise
=
Promise
.
resolve
(
res
);
}
...
...
@@ -242,7 +242,7 @@ function wrapperOptions (interceptor, options = {}) {
if
(
Array
.
isArray
(
interceptor
[
name
]))
{
const
oldCallback
=
options
[
name
];
options
[
name
]
=
function
callbackInterceptor
(
res
)
{
queue
(
interceptor
[
name
],
res
).
then
((
res
)
=>
{
queue
(
interceptor
[
name
],
res
,
options
).
then
((
res
)
=>
{
/* eslint-disable no-mixed-operators */
return
isFn
(
oldCallback
)
&&
oldCallback
(
res
)
||
res
});
...
...
@@ -291,7 +291,11 @@ function invokeApi (method, api, options, ...params) {
if
(
Array
.
isArray
(
interceptor
.
invoke
))
{
const
res
=
queue
(
interceptor
.
invoke
,
options
);
return
res
.
then
((
options
)
=>
{
return
api
(
wrapperOptions
(
interceptor
,
options
),
...
params
)
// 重新访问 getApiInterceptorHooks, 允许 invoke 中再次调用 addInterceptor,removeInterceptor
return
api
(
wrapperOptions
(
getApiInterceptorHooks
(
method
),
options
),
...
params
)
})
}
else
{
return
api
(
wrapperOptions
(
interceptor
,
options
),
...
params
)
...
...
packages/uni-mp-weixin/dist/index.js
浏览文件 @
a3f381a2
...
...
@@ -212,9 +212,9 @@ function removeInterceptor (method, option) {
}
}
function
wrapperHook
(
hook
)
{
function
wrapperHook
(
hook
,
params
)
{
return
function
(
data
)
{
return
hook
(
data
)
||
data
return
hook
(
data
,
params
)
||
data
}
}
...
...
@@ -222,14 +222,14 @@ function isPromise (obj) {
return
!!
obj
&&
(
typeof
obj
===
'
object
'
||
typeof
obj
===
'
function
'
)
&&
typeof
obj
.
then
===
'
function
'
}
function
queue
(
hooks
,
data
)
{
function
queue
(
hooks
,
data
,
params
)
{
let
promise
=
false
;
for
(
let
i
=
0
;
i
<
hooks
.
length
;
i
++
)
{
const
hook
=
hooks
[
i
];
if
(
promise
)
{
promise
=
Promise
.
resolve
(
wrapperHook
(
hook
));
promise
=
Promise
.
resolve
(
wrapperHook
(
hook
,
params
));
}
else
{
const
res
=
hook
(
data
);
const
res
=
hook
(
data
,
params
);
if
(
isPromise
(
res
))
{
promise
=
Promise
.
resolve
(
res
);
}
...
...
@@ -252,7 +252,7 @@ function wrapperOptions (interceptor, options = {}) {
if
(
Array
.
isArray
(
interceptor
[
name
]))
{
const
oldCallback
=
options
[
name
];
options
[
name
]
=
function
callbackInterceptor
(
res
)
{
queue
(
interceptor
[
name
],
res
).
then
((
res
)
=>
{
queue
(
interceptor
[
name
],
res
,
options
).
then
((
res
)
=>
{
/* eslint-disable no-mixed-operators */
return
isFn
(
oldCallback
)
&&
oldCallback
(
res
)
||
res
});
...
...
@@ -301,7 +301,11 @@ function invokeApi (method, api, options, ...params) {
if
(
Array
.
isArray
(
interceptor
.
invoke
))
{
const
res
=
queue
(
interceptor
.
invoke
,
options
);
return
res
.
then
((
options
)
=>
{
return
api
(
wrapperOptions
(
interceptor
,
options
),
...
params
)
// 重新访问 getApiInterceptorHooks, 允许 invoke 中再次调用 addInterceptor,removeInterceptor
return
api
(
wrapperOptions
(
getApiInterceptorHooks
(
method
),
options
),
...
params
)
})
}
else
{
return
api
(
wrapperOptions
(
interceptor
,
options
),
...
params
)
...
...
packages/uni-mp-xhs/dist/index.js
浏览文件 @
a3f381a2
...
...
@@ -202,9 +202,9 @@ function removeInterceptor (method, option) {
}
}
function
wrapperHook
(
hook
)
{
function
wrapperHook
(
hook
,
params
)
{
return
function
(
data
)
{
return
hook
(
data
)
||
data
return
hook
(
data
,
params
)
||
data
}
}
...
...
@@ -212,14 +212,14 @@ function isPromise (obj) {
return
!!
obj
&&
(
typeof
obj
===
'
object
'
||
typeof
obj
===
'
function
'
)
&&
typeof
obj
.
then
===
'
function
'
}
function
queue
(
hooks
,
data
)
{
function
queue
(
hooks
,
data
,
params
)
{
let
promise
=
false
;
for
(
let
i
=
0
;
i
<
hooks
.
length
;
i
++
)
{
const
hook
=
hooks
[
i
];
if
(
promise
)
{
promise
=
Promise
.
resolve
(
wrapperHook
(
hook
));
promise
=
Promise
.
resolve
(
wrapperHook
(
hook
,
params
));
}
else
{
const
res
=
hook
(
data
);
const
res
=
hook
(
data
,
params
);
if
(
isPromise
(
res
))
{
promise
=
Promise
.
resolve
(
res
);
}
...
...
@@ -242,7 +242,7 @@ function wrapperOptions (interceptor, options = {}) {
if
(
Array
.
isArray
(
interceptor
[
name
]))
{
const
oldCallback
=
options
[
name
];
options
[
name
]
=
function
callbackInterceptor
(
res
)
{
queue
(
interceptor
[
name
],
res
).
then
((
res
)
=>
{
queue
(
interceptor
[
name
],
res
,
options
).
then
((
res
)
=>
{
/* eslint-disable no-mixed-operators */
return
isFn
(
oldCallback
)
&&
oldCallback
(
res
)
||
res
});
...
...
@@ -291,7 +291,11 @@ function invokeApi (method, api, options, ...params) {
if
(
Array
.
isArray
(
interceptor
.
invoke
))
{
const
res
=
queue
(
interceptor
.
invoke
,
options
);
return
res
.
then
((
options
)
=>
{
return
api
(
wrapperOptions
(
interceptor
,
options
),
...
params
)
// 重新访问 getApiInterceptorHooks, 允许 invoke 中再次调用 addInterceptor,removeInterceptor
return
api
(
wrapperOptions
(
getApiInterceptorHooks
(
method
),
options
),
...
params
)
})
}
else
{
return
api
(
wrapperOptions
(
interceptor
,
options
),
...
params
)
...
...
packages/uni-quickapp-native/dist/vue.dev.js
浏览文件 @
a3f381a2
此差异已折叠。
点击以展开。
packages/uni-quickapp-native/dist/vue.prod.js
浏览文件 @
a3f381a2
此差异已折叠。
点击以展开。
packages/uni-quickapp-webview/dist/index.js
浏览文件 @
a3f381a2
...
...
@@ -202,9 +202,9 @@ function removeInterceptor (method, option) {
}
}
function
wrapperHook
(
hook
)
{
function
wrapperHook
(
hook
,
params
)
{
return
function
(
data
)
{
return
hook
(
data
)
||
data
return
hook
(
data
,
params
)
||
data
}
}
...
...
@@ -212,14 +212,14 @@ function isPromise (obj) {
return
!!
obj
&&
(
typeof
obj
===
'
object
'
||
typeof
obj
===
'
function
'
)
&&
typeof
obj
.
then
===
'
function
'
}
function
queue
(
hooks
,
data
)
{
function
queue
(
hooks
,
data
,
params
)
{
let
promise
=
false
;
for
(
let
i
=
0
;
i
<
hooks
.
length
;
i
++
)
{
const
hook
=
hooks
[
i
];
if
(
promise
)
{
promise
=
Promise
.
resolve
(
wrapperHook
(
hook
));
promise
=
Promise
.
resolve
(
wrapperHook
(
hook
,
params
));
}
else
{
const
res
=
hook
(
data
);
const
res
=
hook
(
data
,
params
);
if
(
isPromise
(
res
))
{
promise
=
Promise
.
resolve
(
res
);
}
...
...
@@ -242,7 +242,7 @@ function wrapperOptions (interceptor, options = {}) {
if
(
Array
.
isArray
(
interceptor
[
name
]))
{
const
oldCallback
=
options
[
name
];
options
[
name
]
=
function
callbackInterceptor
(
res
)
{
queue
(
interceptor
[
name
],
res
).
then
((
res
)
=>
{
queue
(
interceptor
[
name
],
res
,
options
).
then
((
res
)
=>
{
/* eslint-disable no-mixed-operators */
return
isFn
(
oldCallback
)
&&
oldCallback
(
res
)
||
res
});
...
...
@@ -291,7 +291,11 @@ function invokeApi (method, api, options, ...params) {
if
(
Array
.
isArray
(
interceptor
.
invoke
))
{
const
res
=
queue
(
interceptor
.
invoke
,
options
);
return
res
.
then
((
options
)
=>
{
return
api
(
wrapperOptions
(
interceptor
,
options
),
...
params
)
// 重新访问 getApiInterceptorHooks, 允许 invoke 中再次调用 addInterceptor,removeInterceptor
return
api
(
wrapperOptions
(
getApiInterceptorHooks
(
method
),
options
),
...
params
)
})
}
else
{
return
api
(
wrapperOptions
(
interceptor
,
options
),
...
params
)
...
...
src/core/helpers/interceptor.js
浏览文件 @
a3f381a2
...
...
@@ -82,9 +82,9 @@ export function removeInterceptor (method, option) {
}
}
function
wrapperHook
(
hook
)
{
function
wrapperHook
(
hook
,
params
)
{
return
function
(
data
)
{
return
hook
(
data
)
||
data
return
hook
(
data
,
params
)
||
data
}
}
...
...
@@ -92,14 +92,14 @@ function isPromise (obj) {
return
!!
obj
&&
(
typeof
obj
===
'
object
'
||
typeof
obj
===
'
function
'
)
&&
typeof
obj
.
then
===
'
function
'
}
function
queue
(
hooks
,
data
)
{
function
queue
(
hooks
,
data
,
params
)
{
let
promise
=
false
for
(
let
i
=
0
;
i
<
hooks
.
length
;
i
++
)
{
const
hook
=
hooks
[
i
]
if
(
promise
)
{
promise
=
Promise
.
resolve
(
wrapperHook
(
hook
))
promise
=
Promise
.
resolve
(
wrapperHook
(
hook
,
params
))
}
else
{
const
res
=
hook
(
data
)
const
res
=
hook
(
data
,
params
)
if
(
isPromise
(
res
))
{
promise
=
Promise
.
resolve
(
res
)
}
...
...
@@ -122,7 +122,7 @@ function wrapperOptions (interceptor, options = {}) {
if
(
Array
.
isArray
(
interceptor
[
name
]))
{
const
oldCallback
=
options
[
name
]
options
[
name
]
=
function
callbackInterceptor
(
res
)
{
queue
(
interceptor
[
name
],
res
).
then
((
res
)
=>
{
queue
(
interceptor
[
name
],
res
,
options
).
then
((
res
)
=>
{
/* eslint-disable no-mixed-operators */
return
isFn
(
oldCallback
)
&&
oldCallback
(
res
)
||
res
})
...
...
@@ -171,7 +171,11 @@ export function invokeApi (method, api, options, ...params) {
if
(
Array
.
isArray
(
interceptor
.
invoke
))
{
const
res
=
queue
(
interceptor
.
invoke
,
options
)
return
res
.
then
((
options
)
=>
{
return
api
(
wrapperOptions
(
interceptor
,
options
),
...
params
)
// 重新访问 getApiInterceptorHooks, 允许 invoke 中再次调用 addInterceptor,removeInterceptor
return
api
(
wrapperOptions
(
getApiInterceptorHooks
(
method
),
options
),
...
params
)
})
}
else
{
return
api
(
wrapperOptions
(
interceptor
,
options
),
...
params
)
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录