Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
2301_76266857
unidocs-zh
提交
45f7cf35
U
unidocs-zh
项目概览
2301_76266857
/
unidocs-zh
与 Fork 源项目一致
Fork自
DCloud / unidocs-zh
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
U
unidocs-zh
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
45f7cf35
编写于
6月 30, 2022
作者:
W
wanganxp
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
云函数通用文档
上级
c1667ace
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
35 addition
and
14 deletion
+35
-14
docs/uniCloud/cf-functions.md
docs/uniCloud/cf-functions.md
+35
-14
未找到文件。
docs/uniCloud/cf-functions.md
浏览文件 @
45f7cf35
...
...
@@ -177,7 +177,7 @@ exports.main = async (event, context) => {
```
由于篇幅较长,需另见文档
[
云函数callfunction方式
](
/uniCloud/cf-callfunction
)
<!--
因文档地址迁移,为防止老链接失效,备份如下:
#### 获取用户token@client-token
文档已迁移至:
[
普通云函数callFunction
](
/uniCloud/cf-callfunction.md?id=client-token
)
...
...
@@ -191,27 +191,27 @@ exports.main = async (event, context) => {
文档已迁移至:
[
普通云函数callFunction
](
/uniCloud/cf-callfunction.md?id=context-source
)
#### 其他客户端信息@client-info
文档已迁移至:
[
普通云函数callFunction
](
/uniCloud/cf-callfunction.md?id=client-info
)
-->
### 云函数URL化方式
云函数
url化是创建了普通云函数后,进行的一种url化配置,它本质上属于普通云函数的一种调用方式。由于篇幅较长,需另见文档
[
云函数URL化
](
/uniCloud/http
)
。
云函数
URL化,可以让云函数生成一个HTTP URL。在创建了普通云函数后,可以在Web控制台进行URL化配置。它本质上属于普通云函数的一种调用方式
。
由于篇幅较长,需另见文档
[
云函数URL化
](
/uniCloud/http
)
。
### uniCloud响应体规范@resformat
普通云函数对返回结果没有强制约定,一般返回格式为json格式。
### uniCloud响应体规范@resformat
但为了方便拦截器统一处理返回值,捕获异常或弹框提示,uniCloud定义了
`uniCloud响应体规范`
。在云对象中默认支持
`uniCloud响应体规范`
,普通云函数中虽未强制,但推荐开发者使用
。
`uniCloud响应体规范`
(uniCloud response format),是DCloud制定的、服务器给客户端返回json数据的一种建议格式
。
`uniCloud响应体规范`
(uniCloud response format),是DCloud制定的、服务器给客户端返回json数据的一种建议格式。云对象、uni-id公共模块已支持此规范,后续uni-pay、clientDB等均会调整为此结构
云对象、clientDB、uni-id公共模块均支持此规范。
**由来**
uniCloud服务器给客户端返回的数据格式一般是json,但json的格式具体是什么没有约定。比如返回错误码,是叫
code还是叫errCode?错误内容是message还是errMsg
?内容的国际化如何处理?
uniCloud服务器给客户端返回的数据格式一般是json,但json的格式具体是什么没有约定。比如返回错误码,是叫
`code`
还是叫
`errCode`
?错误内容是
`message`
还是
`errMsg`
?内容的国际化如何处理?
如果没有一套统一的格式,在客户端将无法编写有效的网络拦截器,无法统一处理错误。
同时
如果不同的插件,云端返回的数据格式千差万别,那使用者整合这些插件也会非常麻烦。国际化更无法落地。
另外,
如果不同的插件,云端返回的数据格式千差万别,那使用者整合这些插件也会非常麻烦。国际化更无法落地。
为此DCloud推出了
`uniCloud响应体规范`
。
...
...
@@ -502,6 +502,32 @@ myCloud.uploadFile()
-
连接本地云函数调试时,如果存在跨服务空间调用,则callFunction会使用云端云函数
## 云函数运行环境说明@runtime
云函数运行在 node 环境中。可以使用 node api 获取 node 版本。
-
uniCloud 阿里云默认是 node8.17.0,也可以选择 node12
-
uniCloud 腾讯云默认是 node8.9.4,也可以选择 node12
-
HBuilderX 本地运行环境使用的是 HBuilderX 自带的 node 版本,目前为 node12
**注意**
-
本地开发一旦使用了 node12 的专用 api,上传云函数时必须在package.json里手动配置选择 node12 的运行环境。
之所以没有在云端默认统一使用 node12,是因为腾讯云 node12 的 return 策略有一些特殊情况,见下。
-
运行环境在云端云函数创建时设定,不可通过更新云函数来修改。
也就是第一次上传云函数的时候,package.json里配了什么,就是什么。如果需要修改,需先删除云端云函数,重新上传。
node版本可以在云函数的package.json文件的
`cloudfunction-config->runtime`
字段进行配置,详情参考:
[
云函数package.json
](
uniCloud/cf-functions.md?id=packagejson
)
### return的策略
-
阿里云 return 之后云函数立即终止,逻辑不会继续执行,包括 settimeout 或其他异步操作都会立即终止。
-
腾讯云 node8 return 之后也不会继续执行,但 node12 可以配置是否继续执行
-
HBuilderX 本地运行
*
不通过客户端发起,直接本地运行云函数/云对象,return 之后还可以执行300ms
*
通过客户端连接本地云函数/云对象,return 之后可以继续执行
**腾讯云因为按GBS对云函数计费,在 node12 时,尤其要注意,如果未有效终止云函数,会一直计费**
## 云函数配置
云函数除了代码,还有配置。在uniCloud web控制台可以配置;在HBuilderX项目中,云函数根目录的package.json也是存放配置的地方。
...
...
@@ -591,11 +617,6 @@ exports.main = async function(event, context) {
例:
[
ip-filter
](
https://ext.dcloud.net.cn/plugin?id=4619
)
中就利用云函数全局缓存一些ip访问信息来限制单ip访问频率,可以下载示例项目体验一下
### 云函数node版本@runtime
目前腾讯云和阿里云均支持选择nodejs版本,有nodejs8、nodejs12两个选项,需要在云函数创建时设定,不可修改。
可以在云函数的package.json文件的
`cloudfunction-config->runtime`
字段进行配置,详情参考:
[
云函数package.json
](
uniCloud/cf-functions.md?id=packagejson
)
## 云函数package.json@packagejson
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录