# vk.callFunction(请求云函数)
vk.callFunction
用来请求云函数
如果该请求是点击按钮进行的表单提交请求,建议加上参数 title:'请求中...'
具有遮罩功能,可以有效防止同一时间重复点击。
# 回调形式
// 回调形式 success fail complete
vk.callFunction({
url: '云函数路径',
title: '请求中...',
data: {
},
success: (data) => {
}
});
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
# promise方式
// promise方式
vk.callFunction({
url: '云函数路径',
title:'请求中...',
data:{
}
}).then((data) => {
}).catch((err) => {
});
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
# async/await方式
注意:该方式也同时支持在云函数或云对象内使用。
// async/await方式
let data = await vk.callFunction({
url: '云函数路径',
title:'请求中...',
data:{
}
});
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
# 属性
参数 | 说明 | 类型 | 默认值 | 可选值 |
---|---|---|---|---|
name | 符合VK框架路由规则的router大函数名,默认为app.config.js内的functionName属性的值 | String | router | - |
url | 请求路径,该路径实为router大云函数的service目录下的路径(此时的router大函数=name参数的值) | String | - | - |
data | 请求参数 | Object | - | - |
title | 遮罩层提示语,为空或不传则代表不显示遮罩层。 | String | - | - |
loading | 自定义loading 查看详情 | Boolean、Object | ||
isRequest | 是否使用云函数url化地址访问云函数 | Boolean | false | true |
needAlert | 为true代表请求错误时,会有alert弹窗提示 | Boolean | true | false |
globalParamName | 全局请求参数的名称, 如果设置了正则规则,则不需要此参数 查看详情 | String | - | - |
env | 请求多服务空间的环境 查看详情 (opens new window) | String | - | - |
retryCount | 系统异常重试机制(表单提交时慎用,建议只用在查询请求中,即无任何数据库修改的请求中) | Number | 0 | - |
success | 请求成功时,执行的回调函数 | Function | - | - |
fail | 请求失败时,执行的回调函数 | Function | - | - |
complete | 无论请求成功与否,都会执行的回调函数 | Function | - | - |
# loading
loading 参数说明
若
loading
的值为false
,则不显示默认遮罩层提示语若
loading
的值为true
,则不显示默认遮罩层提示语,同时在请求时,会自动设置页面变量this.loading=true
,请求完成时,自动设置页面变量this.loading=false
若
loading
的值类型为Object
,如下方代码效果是:请求时,会自动执行this.loading2=true
,请求完成时,会自动执行this.loading2=false
loading:{ that:this, name:"loading2"}
1
- name 支持. 如下方代码效果是:请求时,会自动执行
this.page.loading=true
,请求完成时,会自动执行this.page.loading=false
loading:{ that:this, name:"page.loading"}
1
# globalParamName
globalParamName 参数说明
// 需要先设置globalParamName对应的数据
/**
* 修改请求配置中的公共请求参数
* 若把shop-manage改成*则代表全局
*/
vk.callFunctionUtil.updateRequestGlobalParam({
"shop-manage":{
regExp:"^xxx/kh/",
data:{
shop_id : shop_id
}
}
});
// 此时请求若带上 globalParamName:"shop-manage" 或满足 regExp:"^xxx/kh/" 的正则规则,则请求参数会自动带上 shop_id
vk.callFunction({
url: 'xxx/xxxxxx',
title: '请求中...',
globalParamName:"shop-manage",// 如果设置了正则规则,则不需要此参数
data: {},
success: (data) => {
}
});
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24