提交 e1159ee4 编写于 作者: WangMoYang's avatar WangMoYang

update: 支付宝小程序云 => 支付宝云

上级 72842099
# uniCloud概述
`uniCloud` 是 DCloud 联合阿里云、腾讯云、支付宝小程序云,为开发者提供的基于 serverless 模式和 js 编程的云开发平台。
`uniCloud` 是 DCloud 联合阿里云、腾讯云、支付宝云,为开发者提供的基于 serverless 模式和 js 编程的云开发平台。
`uniCloud` 的 web控制台地址:[https://unicloud.dcloud.net.cn](https://unicloud.dcloud.net.cn)
......@@ -15,7 +15,7 @@
5. 除了开发成本,云资源租用成本也将大幅下降
6. 如果不发布Web版,你将不需要购买备案域名。小程序和App可以免域名使用服务器;
uniCloud为每个开发者提供2个免费服务空间(阿里云和支付宝小程序云各1个),让你也可以拥有自己的服务器。
uniCloud为每个开发者提供2个免费服务空间(阿里云和支付宝云各1个),让你也可以拥有自己的服务器。
### 看视频,只需25分钟,快速入门uniCloud
......@@ -25,9 +25,9 @@ uniCloud为每个开发者提供2个免费服务空间(阿里云和支付宝
### uniCloud是什么和不是什么
uniCloud是DCloud在阿里云、腾讯云、支付宝小程序云等的serverless服务上封装而成的。
uniCloud是DCloud在阿里云、腾讯云、支付宝云等的serverless服务上封装而成的。
它包含IaaS层(由阿里云、腾讯云、支付宝小程序云提供硬件和网络)和PaaS层(由DCloud提供开发环境)。
它包含IaaS层(由阿里云、腾讯云、支付宝云提供硬件和网络)和PaaS层(由DCloud提供开发环境)。
开发者可以自主选择uniCloud的硬件和网络资源的供应商,在不同云厂商之间切换。
......
# uniCloud概述
`uniCloud` 是 DCloud 联合阿里云、腾讯云、支付宝小程序云,为开发者提供的基于 serverless 模式和 js 编程的云开发平台。
`uniCloud` 是 DCloud 联合阿里云、腾讯云、支付宝云,为开发者提供的基于 serverless 模式和 js 编程的云开发平台。
`uniCloud` 的 web控制台地址:[https://unicloud.dcloud.net.cn](https://unicloud.dcloud.net.cn)
......@@ -15,7 +15,7 @@
5. 除了开发成本,云资源租用成本也将大幅下降
6. 如果不发布Web版,你将不需要购买备案域名。小程序和App可以免域名使用服务器;
uniCloud为每个开发者提供2个免费服务空间(阿里云和支付宝小程序云各1个),让你也可以拥有自己的服务器。
uniCloud为每个开发者提供2个免费服务空间(阿里云和支付宝云各1个),让你也可以拥有自己的服务器。
### 看视频,只需25分钟,快速入门uniCloud
......@@ -25,9 +25,9 @@ uniCloud为每个开发者提供2个免费服务空间(阿里云和支付宝
### uniCloud是什么和不是什么
uniCloud是DCloud在阿里云、腾讯云、支付宝小程序云等的serverless服务上封装而成的。
uniCloud是DCloud在阿里云、腾讯云、支付宝云等的serverless服务上封装而成的。
它包含IaaS层(由阿里云、腾讯云、支付宝小程序云提供硬件和网络)和PaaS层(由DCloud提供开发环境)。
它包含IaaS层(由阿里云、腾讯云、支付宝云提供硬件和网络)和PaaS层(由DCloud提供开发环境)。
开发者可以自主选择uniCloud的硬件和网络资源的供应商,在不同云厂商之间切换。
......
......@@ -111,7 +111,7 @@ exports.main = async (event, context) => {
云函数上行的参数内容不能传太大。
- 支付宝小程序云接收参数大小不可超过6MB
- 支付宝云接收参数大小不可超过6MB
- 阿里云event大小不可超过2MB
- 腾讯云event大小不可超过5MB
......
......@@ -1505,7 +1505,7 @@ let res = await db.collection('orders').aggregate()
**已知问题**
支付宝小程序云中,使用match管道过滤时,如果传入的参数是一个对象,将按照字段的值进行相等匹配,包含字段顺序。
支付宝云中,使用match管道过滤时,如果传入的参数是一个对象,将按照字段的值进行相等匹配,包含字段顺序。
例如:过滤内存是8g的计算机商品
......
......@@ -179,7 +179,7 @@ collection.where()
**已知问题**
支付宝小程序云中,使用where查询时,如果传入的参数是一个对象,将按照字段的值进行相等匹配,包含字段顺序。
支付宝云中,使用where查询时,如果传入的参数是一个对象,将按照字段的值进行相等匹配,包含字段顺序。
例如:查询内存是8g的计算机商品
......
......@@ -21,8 +21,8 @@
- 云函数内使用commonjs规范,不可使用import、export,参考:[commonjs模块](http://nodejs.cn/api/modules.html#modules_modules_commonjs_modules)
- 不同项目使用同一个服务空间时,不可使用同名云函数。同名云函数会相互覆盖。
- 在HBuilderX创建云函数时,如果新云函数与服务器上已存在同名云函数,会用新函数覆盖。所以应先选择从服务空间下载云函数。
- 单个云函数大小限制为10M(包含`node_modules`),过大的云函数影响运行性能,也会增加计费的gbs。同时支付宝小程序云与腾讯云支持在云端安装`node_modules`,此时不占用云函数体积。
- uniCloud的阿里云版与支付宝小程序云版,暂不可使用相对路径读取文件(比如`fs.readFileSync('./info.txt')`),可以使用绝对路径`fs.readFileSync(path.resolve(__dirname,'./info.txt'))`
- 单个云函数大小限制为10M(包含`node_modules`),过大的云函数影响运行性能,也会增加计费的gbs。同时支付宝云与腾讯云支持在云端安装`node_modules`,此时不占用云函数体积。
- uniCloud的阿里云版与支付宝云版,暂不可使用相对路径读取文件(比如`fs.readFileSync('./info.txt')`),可以使用绝对路径`fs.readFileSync(path.resolve(__dirname,'./info.txt'))`
## 云函数的分类
......@@ -726,7 +726,7 @@ cloudInfos = [{
| 参数名 | 类型 | 必备 | 说明 |
|---------------|---------|-----|-------------------------------------------------------|
| provider | string | 是 | 服务空间供应商,支付宝小程序云:`alipay`,阿里云为:`aliyun`,腾讯云为:`tencent` |
| provider | string | 是 | 服务空间供应商,支付宝云:`alipay`,阿里云为:`aliyun`,腾讯云为:`tencent` |
| spaceId | string | 是 | 服务空间Id |
| functionName | string | 是 | 云函数名称 |
| functionType | string | 是 | 云对象为`cloudobject`、云函数为`cloudfunction` |
......@@ -788,7 +788,7 @@ uniCloud的api中,有些api对应的实现,其代码体积较大,且这些
注意:阿里云目前仅支持全量上传云函数(整个`node_modules`文件夹全部上传,会在上传前自动在本地安装依赖,不会直接使用云函数目录下的node_modules),因此提醒开发者精简依赖,否则可能会每次上传时间很慢,影响开发体验。并且太大的npm库影响云函数的运行性能。
腾讯云、支付宝小程序云会在上传云函数后自动安装需要的npm依赖。
腾讯云、支付宝云会在上传云函数后自动安装需要的npm依赖。
Tips:
- 目前每个云函数上传包大小限制为10M。如果npm包很大,阿里云的整体上传机制会无法满足需求。此时只能选择腾讯云,交给腾讯云自动安装依赖。
......@@ -923,9 +923,9 @@ exports.main = async (event, context) => {
### 云函数内访问其他服务空间@call-by-function-cross-space
> 仅支付宝小程序云与腾讯云支持
> 仅支付宝云与腾讯云支持
在支付宝小程序云与腾讯云服务空间的云函数内支持获取**同账号**下其他服务空间的uniCloud实例,参考:[一个应用访问多个服务空间](concepts/space.md?id=multi-space),并使用此实例调用对应服务空间的云函数。
在支付宝云与腾讯云服务空间的云函数内支持获取**同账号**下其他服务空间的uniCloud实例,参考:[一个应用访问多个服务空间](concepts/space.md?id=multi-space),并使用此实例调用对应服务空间的云函数。
```javascript
//开发者创建了多个服务空间,则需手动初始化。注意这是前端代码,不是云函数代码
......@@ -967,7 +967,7 @@ serverless是动态分配计算资源的,由此会引发的出一批特有概
如果一个云函数实例长时间没有被再次调用,则该计算实例会被**回收**;后续再次调用该云函数时,就会再次触发云函数的**冷启动**
不同云厂商的函数实例回收时间不同:
- 支付宝小程序云:60秒
- 支付宝云:60秒
- 阿里云:15分钟内没有第二次访问的云函数,就会被回收
- 腾讯云:30分钟
......@@ -979,7 +979,7 @@ serverless是动态分配计算资源的,由此会引发的出一批特有概
1. 使用clientDB可以减少遇到冷启动问题的概率
2. 非高频访问的云函数,合并到高频云函数中。也有的开发者使用单路由方式编写云函数,即在一个云函数中通过路由处理实现了整个应用的所有后台逻辑。参考[插件](https://ext.dcloud.net.cn/search?q=%E8%B7%AF%E7%94%B1&cat1=7&orderBy=UpdatedDate)
3. 非高频访问的云函数,可以通过定时任务持续运行它(注意阿里云公测版的定时任务最短周期大于资源回收周期)
4. 支付宝小程序云与阿里云支持配置云函数的单实例多并发,请参考:[单实例多并发](cf-functions.md?id=concurrency)
4. 支付宝云与阿里云支持配置云函数的单实例多并发,请参考:[单实例多并发](cf-functions.md?id=concurrency)
### 实例与请求@instance
......@@ -1093,7 +1093,7 @@ uniCloud.getRequestList()
### 单实例多并发@concurrency
> 仅支付宝小程序云与阿里云支持
> 仅支付宝云与阿里云支持
默认情况下云函数仅支持单实例单并发,即同一时间一个实例仅可为一个请求服务(不同请求同一时间访问会被分派到不同实例进行处理)。不过在uniCloud web控制台中,阿里云可以通过修改云函数单实例并发度,可以修改云函数同一时间最多能处理多少请求。
......@@ -1115,7 +1115,7 @@ uniCloud.getRequestList()
**使用注意**
- 虽然支付宝小程序云与阿里云云函数支持配置多并发,但在高并发下异步请求排队效果未必好于新开一个实例。尤其是并发操作数据库性能不佳。**一般情况下不要设置过大的并发度,可以自己针对业务代码测试比较下是否启用并发或并发数配成多少**
- 虽然支付宝云与阿里云云函数支持配置多并发,但在高并发下异步请求排队效果未必好于新开一个实例。尤其是并发操作数据库性能不佳。**一般情况下不要设置过大的并发度,可以自己针对业务代码测试比较下是否启用并发或并发数配成多少**
- 云函数内存使用量会随着并发量增大而增加,过大的内存可能导致OOM
- 注意云函数是有超时时间的。设置过大的单实例多并发可能会导致实例底层网络请求排队从而导致请求超时,
- 如果并发的不同请求对全局变量同时进行读写会污染全局变量,可能会导致意想不到的后果,详见[全局变量](#state-less)
......@@ -1235,7 +1235,7 @@ exports.main = async function() {
### node版本
云函数运行在 node 环境中。可以使用 node api `process.version` 获取 node 版本。
- uniCloud 支付宝小程序云默认是 node18, 也可以在 package.json 中选择 node16
- uniCloud 支付宝云默认是 node18, 也可以在 package.json 中选择 node16
- uniCloud 阿里云默认是 node8.17.0,也可以在 package.json 中选择 node12
- uniCloud 腾讯云默认是 node8.9.4,也可以在 package.json 中选择 node12
- HBuilderX 本地运行环境使用的是 HBuilderX 自带的 node 版本,目前为 node16。在 package.json 选择 node版本 只云端生效,且只在第一次上传云函数时生效。
......@@ -1263,7 +1263,7 @@ node版本可以在云函数的package.json文件的`cloudfunction-config->runti
云函数运行内存为单个云函数实例使用的内存。
支付宝小程序云云函数默认运行内存512MB,阿里云正式版默认512MB,腾讯云云函数默认运行内存大小为256MB
支付宝云云函数默认运行内存512MB,阿里云正式版默认512MB,腾讯云云函数默认运行内存大小为256MB
计算云函数GBs资源消耗时腾讯云会以此内存*运行时间(100ms为阶梯向上取整)得到消耗量。阿里云会以实际运行时间计算GBs,不会按100ms阶梯向上取整
......@@ -1273,7 +1273,7 @@ node版本可以在云函数的package.json文件的`cloudfunction-config->runti
### 超时时间@timeout
支付宝小程序云定时任务触发最大支持3小时超时时间,非定时触发时超时时间为180秒,客户端请求云函数如果超出180秒云函数断开连接后会停止运行。
支付宝云定时任务触发最大支持3小时超时时间,非定时触发时超时时间为180秒,客户端请求云函数如果超出180秒云函数断开连接后会停止运行。
阿里云定时任务触发最大支持7200秒超时时间,非定时触发时超时时间为120秒,客户端请求云函数如果超出120秒云函数断开连接后会停止运行。
......@@ -1320,7 +1320,7 @@ uniCloud.httpProxyForEip ,其原理是通过代理请求获得固定出口IP
如需在获取微信公众号access_token场景使用,请将上述ip配置到`微信公众平台 -> 基本配置 -> IP白名单`内,相关链接:[微信公众平台](https://mp.weixin.qq.com/)
#### 支付宝小程序云@alipay-eip
#### 支付宝云@alipay-eip
**出口IP列表**
......@@ -1489,17 +1489,17 @@ package.json是一个标准json文件,不可带注释。下面是一个package
腾讯云:Nodejs8、Nodejs12
支付宝小程序云:Nodejs16、Nodejs18
支付宝云:Nodejs16、Nodejs18
**使用腾讯云Nodejs12版本时,务必仔细阅读此文档:[keepRunningAfterReturn](#keep-running)**
#### 定时任务triggers@triggers
支付宝小程序云与阿里云定时触发的cron表达式不支持代表年的第七位,但是在package.json内配置时仍需将第七位设置为*
支付宝云与阿里云定时触发的cron表达式不支持代表年的第七位,但是在package.json内配置时仍需将第七位设置为*
**在web控制台配置trigger请参考:[定时触发](trigger.md)**
package.json内统一了支付宝小程序云、腾讯云、阿里云三家厂商的配置,三个平台都需要配置为如下形式
package.json内统一了支付宝云、腾讯云、阿里云三家厂商的配置,三个平台都需要配置为如下形式
```js
{
......@@ -1569,7 +1569,7 @@ exports.main = async function(event, context) {
### 云函数的数量、体积、冷启动的平衡
鉴于:
- 每个服务空间的云函数数量是有限的,支付宝小程序云是499个,阿里云是48个,腾讯云是149个,[详见](price.md)
- 每个服务空间的云函数数量是有限的,支付宝云是499个,阿里云是48个,腾讯云是149个,[详见](price.md)
- 每个云函数的体积限制是10M(含node_modules)
- 云函数有冷启动问题
......
......@@ -350,7 +350,7 @@ module.exports = {
|参数名 |类型 |必备 | 说明 |
|-- |-- |-- |----------------------------------------------------------------|
|provider |string |是 | 服务空间供应商,支付宝小程序云为:`alipay`,阿里云为:`aliyun`,腾讯云为:`tencent` |
|provider |string |是 | 服务空间供应商,支付宝云为:`alipay`,阿里云为:`aliyun`,腾讯云为:`tencent` |
|spaceId |string |是 | 服务空间Id |
|useOldSpaceId|boolean|是 | 当前获取的服务空间id是否为迁移前的服务空间id,新增于`HBuilderX 3.6.13` |
|functionName |string |是 | 云对象名称,新增于`HBuilderX 3.5.1` |
......@@ -749,7 +749,7 @@ module.exports = {
```
### 云对象的接收参数的体积上限
- 支付宝小程序云接收参数大小不可超过6MB
- 支付宝云接收参数大小不可超过6MB
- 阿里云接收参数大小不可超过2MB
- 腾讯云接收参数大小不可超过5MB
......
......@@ -140,10 +140,10 @@ function init(options):uniCloud
| provider | String | 是 | - | aliyun、tencent、alipay |
| spaceId | String | 是 | - | 服务空间ID,**注意是服务空间ID,不是服务空间名称** |
| clientSecret | String | 是 | - | 仅阿里云支持,可以在[uniCloud控制台](https://unicloud.dcloud.net.cn)服务空间列表中查看 |
| accessKey | String | 是 | - | 仅支付宝小程序云支持, 可以在[uniCloud控制台](https://unicloud.dcloud.net.cn)服务空间详情中查看 |
| secretKey | String | 是 | - | 仅支付宝小程序云支持, 可以在[uniCloud控制台](https://unicloud.dcloud.net.cn)服务空间详情中查看 |
| spaceAppId | String | 是 | - | 仅支付宝小程序云支持, 可以在[uniCloud控制台](https://unicloud.dcloud.net.cn)服务空间详情中查看 |
| endpoint | String | 否 | 阿里云:`https://api.bspapp.com`<br/> 支付宝小程序云:`https://{spaceId}.api-hz.cloudbasefunction.cn` | 服务空间地址,仅阿里云与支付宝小程序云支持。<br /> 阿里云商用版请将此参数设为`https://api.next.bspapp.com` |
| accessKey | String | 是 | - | 仅支付宝云支持, 可以在[uniCloud控制台](https://unicloud.dcloud.net.cn)服务空间详情中查看 |
| secretKey | String | 是 | - | 仅支付宝云支持, 可以在[uniCloud控制台](https://unicloud.dcloud.net.cn)服务空间详情中查看 |
| spaceAppId | String | 是 | - | 仅支付宝云支持, 可以在[uniCloud控制台](https://unicloud.dcloud.net.cn)服务空间详情中查看 |
| endpoint | String | 否 | 阿里云:`https://api.bspapp.com`<br/> 支付宝云:`https://{spaceId}.api-hz.cloudbasefunction.cn` | 服务空间地址,仅阿里云与支付宝云支持。<br /> 阿里云商用版请将此参数设为`https://api.next.bspapp.com` |
**示例代码**
......
### uniCloud和微信小程序云开发、支付宝小程序云开发有何区别?
### uniCloud和微信小程序云开发、支付宝云开发有何区别?
微信、支付宝、百度的小程序,均提供了云开发。但它们都仅支持自家小程序,无法在其他端使用。
`uniCloud`和微信小程序云开发、支付宝小程序云开发使用相同的基础建设平台,微信小程序云开发背后是腾讯云的TCB团队,支付宝小程序云开发背后是阿里小程序云团队。`uniCloud`是DCloud和阿里小程序云团队、腾讯云的TCB团队直接展开深层次合作,在他们底层资源的基础上进行二次封装,提供的跨端云开发方案。
`uniCloud`和微信小程序云开发、支付宝云开发使用相同的基础建设平台,微信小程序云开发背后是腾讯云的TCB团队,支付宝云开发背后是阿里小程序云团队。`uniCloud`是DCloud和阿里小程序云团队、腾讯云的TCB团队直接展开深层次合作,在他们底层资源的基础上进行二次封装,提供的跨端云开发方案。
简单来说,uniCloud和微信小程序云开发、支付宝小程序云开发一样稳定健壮,但有更多优势:
简单来说,uniCloud和微信小程序云开发、支付宝云开发一样稳定健壮,但有更多优势:
- 跨平台。不管你在uniCloud里选择了阿里还是腾讯的serverless,均可以跨uni-app的全端使用。从pc到h5,从Android到iOS,以及各家小程序快应用,十几个平台全端支持
- uniCloud提供了`clientDB`神器,减少90%的服务器开发工作量,且保障数据安全。[详见](clientDB.md)
- uniCloud提供了[uni-id](uni-id/summary.md)[uniPay](./unipay)等重要框架,大幅减少开发者的相应功能开发量。
......@@ -433,4 +433,4 @@ let's encrypt于2021年9月30日根证书过期并切换到新版根证书。详
对于针对ip地址进行的流量攻击是无法到达云函数的,云厂商的网关会拦截此类攻击流量。如果攻击者模拟真实请求,此时可以通过云函数[IP防刷](ip-filter.md)功能,进行一定程度的防护。云厂商也正在提供网关层面的防刷机制。
如何处理针对云存储的流量攻击,参考:[阿里云云存储安全策略](storage/cdn-security-policy.md)
\ No newline at end of file
如何处理针对云存储的流量攻击,参考:[阿里云云存储安全策略](storage/cdn-security-policy.md)
......@@ -55,7 +55,7 @@ _此处仅为举例,实际业务中,登录日志单独存放在另一个表
在uniCloud web控制台新建表时,在下面的模板中也可以选择各种`opendb`表模板,直接创建。
uniCloud同时支持阿里云、腾讯云和支付宝小程序云,它们的数据库大体相同,有细微差异。阿里云和支付宝小程序云的数据库是mongoDB4.0,腾讯云则使用自研的文档型数据库(兼容mongoDB 4.0版本)。uniCloud基本抹平了不同云厂商的差异,有差异的部分会在文档中单独标注。
uniCloud同时支持阿里云、腾讯云和支付宝云,它们的数据库大体相同,有细微差异。阿里云和支付宝云的数据库是mongoDB4.0,腾讯云则使用自研的文档型数据库(兼容mongoDB 4.0版本)。uniCloud基本抹平了不同云厂商的差异,有差异的部分会在文档中单独标注。
## 创建第一个表@create-collection
......@@ -246,8 +246,8 @@ exports.main = async (event, context) => {
**注意**
- 云函数环境(仅支付宝小程序云与腾讯云支持)仅能通过init返回同账号下其他的腾讯云服务空间的数据库实例。
- 客户端环境(支付宝小程序云腾讯云阿里云均支持)可以通过init返回本账号下任意云厂商服务空间的数据库实例
- 云函数环境(仅支付宝云与腾讯云支持)仅能通过init返回同账号下其他的腾讯云服务空间的数据库实例。
- 客户端环境(支付宝云腾讯云阿里云均支持)可以通过init返回本账号下任意云厂商服务空间的数据库实例
**示例**
......@@ -268,7 +268,7 @@ db.collection('uni-id-users').get()
| spaceId | String |是 | - | 服务空间ID,**注意是服务空间ID,不是服务空间名称** |
| clientSecret | String |是 | - | 仅阿里云支持,可以在[uniCloud控制台](https://unicloud.dcloud.net.cn)服务空间列表中查看 |
| endpoint | String |否 | `https://api.bspapp.com` | 服务空间地址,仅阿里云支持。阿里云正式版需将此值设为`https://api.next.bspapp.com` |
| timeout | Number |否 | 5000 | 仅支付宝小程序云支持,请求超时时间(单位:毫秒),默认为5秒。 |
| timeout | Number |否 | 5000 | 仅支付宝云支持,请求超时时间(单位:毫秒),默认为5秒。 |
## 创建集合/表的API@createCollection
......@@ -290,9 +290,9 @@ const db = uniCloud.database();
db.createCollection("table1")
```
- 支付宝小程序
- 支付宝云
支付宝小程序云提供了专门的创建数据表的API,此API仅支持云函数内运行,不支持clientDB调用。
支付宝云提供了专门的创建数据表的API,此API仅支持云函数内运行,不支持clientDB调用。
```js
const db = uniCloud.database();
......@@ -301,8 +301,8 @@ db.createCollection("table1")
**注意**
- 如果数据表已存在,支付宝小程序云与腾讯云调用createCollection方法会报错
- 支付宝小程序云与腾讯云调用collection的add方法不会自动创建数据表,不存在的数据表会报错
- 如果数据表已存在,支付宝云与腾讯云调用createCollection方法会报错
- 支付宝云与腾讯云调用collection的add方法不会自动创建数据表,不存在的数据表会报错
- 阿里云没有createCollection方法
- **使用代码方式创建的表没有索引、schema,性能和功能都受影响,不建议使用这种方式**
......@@ -419,7 +419,7 @@ new db.serverDate({
### 地理位置类型@geo-data-type
> 支付宝小程序云暂不支持
> 支付宝云暂不支持
#### Point@geo-point
......@@ -519,7 +519,7 @@ new db.Geo.MultiPolygon([
不同于传统开发,连接数据库有单次操作时长限制,目前单次操作时间限制如下。超出此时间会报超时错误。一般情况下在设置了合适的索引时不会遇到超时错误,如何优化查询速度请参考:[数据库性能优化](db-performance.md)
|腾讯云 |阿里云 | 支付宝小程序云 |
|腾讯云 |阿里云 | 支付宝云 |
|-- |-- |------------|
|5秒 |5秒 | 默认5秒;最大5分钟 |
......
......@@ -176,7 +176,7 @@ DCloud为开发者提供了`uni发布平台`,包括网站发布、App发布和
### 缓存配置@cache
> 仅腾讯云、支付宝小程序云支持
> 仅腾讯云、支付宝云支持
- 文件类型:根据填入的文件后缀进行缓存过期时间设置,格式为.jpg形式,不同后缀之间用;间隔。
- 文件夹:根据填入的目录路径进行缓存过期时间设置,格式为/test形式,无需以/结尾,不同目录之间用;间隔。
......@@ -200,7 +200,7 @@ DCloud为开发者提供了`uni发布平台`,包括网站发布、App发布和
### 防盗链配置@referer
> 仅腾讯云、支付宝小程序云支持
> 仅腾讯云、支付宝云支持
**referer 黑名单:**
......@@ -222,7 +222,7 @@ DCloud为开发者提供了`uni发布平台`,包括网站发布、App发布和
### IP黑白名单配置@ip-filter
> 仅腾讯云、支付宝小程序云支持
> 仅腾讯云、支付宝云支持
**IP 黑名单**
......
......@@ -16,7 +16,7 @@ IP防刷包含两个子功能:
阿里云、腾讯云未提供网关层面的IP防刷功能,所以需要开通Redis来采用基于Redis的方案。该方案是在云函数中执行IP防刷功能相关的逻辑,**因此在拒绝IP请求时也会消耗最小计费单元(配置的内存*100ms)的GBs**
支付宝小程序云提供的是网关层面的IP防刷功能,不需要依赖Redis,命中防刷规则的请求会自动被网关拦截不会进入云函数执行逻辑,**因此不会消耗GBs,被拒的请求在云函数内也查不到请求日志**
支付宝云提供的是网关层面的IP防刷功能,不需要依赖Redis,命中防刷规则的请求会自动被网关拦截不会进入云函数执行逻辑,**因此不会消耗GBs,被拒的请求在云函数内也查不到请求日志**
## 基于Redis(阿里&腾讯云)
......@@ -158,7 +158,7 @@ IP频率控制信息的以hash类型存储在redis内,key为:`unicloud:ip-in
- 一个区域内的多个用户可能拥有同一IP
- 本地调试期间如果开启或关闭了IP防刷功能,应停止所有客户端等待5秒重新运行才可生效
## 支付宝小程序
## 支付宝云
在uniCloud web控制台左侧导航开启ip防刷:[uniCloud web控制台](https://unicloud.dcloud.net.cn/),IP防刷配置项修改大约需要3分钟生效。
......@@ -183,4 +183,4 @@ x取值范围:60-86400(秒),y取值范围:100-99999999(次),z取
"errCode": "50050",
"errMsg": "防刷限流异常-触发黑名单规则"
}
```
\ No newline at end of file
```
......@@ -6,7 +6,7 @@
4. 传统云主机一旦被攻击,高防价格非常昂贵。而uniCloud无需支付高防费用,不惧DDoS攻击。
uniCloud的定价、套餐内容、服务SLA,是由云厂商直接公布的。DCloud公司不会加价。uniCloud已经上线近3年,DCloud一直以良心方式服务开发者,努力降低应用的开发门槛、提高应用的开发效率。
- 选择支付宝小程序云作为服务商时,有一个免费服务空间。除最高档套餐外,其余套餐可享受一次“0元购”(活动截止2024年2月7日0点),有效期为3个月。支持超出套餐后按量计费。
- 选择支付宝云作为服务商时,有一个免费服务空间。除最高档套餐外,其余套餐可享受一次“0元购”(活动截止2024年2月7日0点),有效期为3个月。支持超出套餐后按量计费。
- 选择阿里云作为服务商时,有一个免费服务空间。更多服务空间需要付费,付费支持套餐和按量两种模式。
- 选择腾讯云作为服务商时,需付费购买套餐,用量超出套餐后可开启按量计费,详情参考[腾讯云基础套餐](price?id=tencent-package)
......@@ -305,13 +305,13 @@ uniCloud的定价、套餐内容、服务SLA,是由云厂商直接公布的。
当腾讯云按量余额欠费时,服务空间的`云函数日志``超限按量`将会自动关闭。如果服务空间套餐资源已超上限,则服务将会停服不可用。腾讯云按量余额充正后需手动开启相关服务。
## 支付宝小程序云@alipay
## 支付宝云@alipay
> 支付宝小程序云需要使用3.97+或与此版本对应的uni-app cli项目才可正常使用。如果是cli创建的项目,可以参考:[更新依赖到指定版本](https://uniapp.dcloud.net.cn/quickstart-cli.html#cliversion)
> 支付宝云需要使用3.97+或与此版本对应的uni-app cli项目才可正常使用。如果是cli创建的项目,可以参考:[更新依赖到指定版本](https://uniapp.dcloud.net.cn/quickstart-cli.html#cliversion)
支付宝小程序云采用**基础套餐+按量计费**的模式,开发者可先购买带有一定配额的基础套餐(免费版也可以),超出套餐配额部分按使用量付费。
支付宝云采用**基础套餐+按量计费**的模式,开发者可先购买带有一定配额的基础套餐(免费版也可以),超出套餐配额部分按使用量付费。
支付宝小程序云提供1个免费空间:
支付宝云提供1个免费空间:
- 免费服务空间有效期默认一个月,到期时需主动续期(到期前15天可续),不续期会被停服释放。
- 免费空间可以升配。此时免费额度会释放,该账户仍可再创建一个免费空间。
......@@ -346,7 +346,7 @@ uniCloud的定价、套餐内容、服务SLA,是由云厂商直接公布的。
#### 套餐变配@alipay-package-modify
支付宝小程序云包年包月套餐支持升降配,升配或降配套餐,不会影响原来套餐的有效时长。
支付宝云包年包月套餐支持升降配,升配或降配套餐,不会影响原来套餐的有效时长。
| 操作类型 | 需满足条件 | 生效周期 |
|:---------:|:----------:|:---------------------------:|
......@@ -360,7 +360,7 @@ uniCloud的定价、套餐内容、服务SLA,是由云厂商直接公布的。
即:补充差价 = 2 *(套餐B价格-套餐A价格),支付成功后,10分钟左右生效。
降配举例:
将套餐A降级至套餐B,假设原套餐A已经购买了3个月,在第2个月发起降配。则自动退还第3个月的差价到支付宝小程序云按量余额(次月才会生效)。
将套餐A降级至套餐B,假设原套餐A已经购买了3个月,在第2个月发起降配。则自动退还第3个月的差价到支付宝云按量余额(次月才会生效)。
即:退还差价 = 1 *(套餐B价格-套餐A价格),支付成功后,当前依然是套餐 A;需要等下个月度资源周期自动降级至套餐B。
::: warning 注意事项
......@@ -458,9 +458,9 @@ uniCloud的定价、套餐内容、服务SLA,是由云厂商直接公布的。
### 用量监控@alipay-monitor
支付宝小程序云支持查看实时的用量监控(延迟5分钟左右),支持云函数、数据库及云存储三项资源的用量监控,方便开发或运营过程中定位&排查问题。
支付宝云支持查看实时的用量监控(延迟5分钟左右),支持云函数、数据库及云存储三项资源的用量监控,方便开发或运营过程中定位&排查问题。
用量监控入口:uniCloud控制台=>进入支付宝小程序云服务空间=>左侧菜单“用量监控”。
用量监控入口:uniCloud控制台=>进入支付宝云服务空间=>左侧菜单“用量监控”。
![](https://web-ext-storage.dcloud.net.cn/unicloud/space/alipay/monitor.png)
......@@ -485,9 +485,9 @@ uniCloud的定价、套餐内容、服务SLA,是由云厂商直接公布的。
### 备案码
为了解决域名备案问题,支付宝小程序云服务空间在过去90天累计消费满100元时可申请阿里云备案码,消费账单统计时间为T+1,每个空间可申请一个备案码。
为了解决域名备案问题,支付宝云服务空间在过去90天累计消费满100元时可申请阿里云备案码,消费账单统计时间为T+1,每个空间可申请一个备案码。
备案码申请入口:uniCloud控制台=>进入支付宝小程序云服务空间=>左侧菜单“备案码管理”,符合条件的服务空间可点击“申请备案码”来申请。
备案码申请入口:uniCloud控制台=>进入支付宝云服务空间=>左侧菜单“备案码管理”,符合条件的服务空间可点击“申请备案码”来申请。
![](https://web-ext-storage.dcloud.net.cn/unicloud/space/bsc-code.png)
......@@ -504,7 +504,7 @@ uniCloud的定价、套餐内容、服务SLA,是由云厂商直接公布的。
包月套餐在到期后第二天开始停服,停服后服务空间无法正常使用,资源会保留7天。7天内操作续费服务恢复正常(续费后大约有10分钟左右延迟),未续费则会被销毁且无法找回。
- 余额欠费停服:
支付宝小程序云在每天上午10点左右出前一日账单,欠费后无法新购、续费及变配服务空间,并会在欠费后第二天停服所有服务空间。欠费充值余额正常后,大于有5分钟延迟来恢复停服空间。
支付宝云在每天上午10点左右出前一日账单,欠费后无法新购、续费及变配服务空间,并会在欠费后第二天停服所有服务空间。欠费充值余额正常后,大于有5分钟延迟来恢复停服空间。
**注意:** 如果一个支付宝关联了多个DCloud账号(最多可绑定5个),当其中一个DCloud账号的支付宝按量余额欠费时,**该支付宝账号关联的所有DCloud账号服务空间都会停服**
......@@ -576,7 +576,7 @@ uniCloud的定价、套餐内容、服务SLA,是由云厂商直接公布的。
### 套餐区别
| 付费方式 | 细项 | 腾讯云 | 阿里云 | 支付宝小程序云 |
| 付费方式 | 细项 | 腾讯云 | 阿里云 | 支付宝云 |
|:-------------------:|:--------:|:---------:|:----:|:-------:|
| 包年包月套餐 #{rowspan=3} | 是否提供免费版 | 无 | 1个 | 1个 |
| 超出套餐按量计费 | 支持 | 不支持 | 支持 |
......@@ -586,7 +586,7 @@ uniCloud的定价、套餐内容、服务SLA,是由云厂商直接公布的。
### 资源限制差异
| 资源类型 | 细项 | 腾讯云 | 阿里云 | 支付宝小程序云 |
| 资源类型 | 细项 | 腾讯云 | 阿里云 | 支付宝云 |
|:------------------------:|:--------------:|:---------------:|:------------------:|:-------:|
| 服务空间 | 单账号空间数量限制 | 50个 | 20个(可工单提升至30~100个) | 100个 |
| 云函数 #{rowspan=10} | 云函数数量限制 | 149 | 99个 | 499个 |
......
......@@ -24,14 +24,14 @@ HBuilderX有多种发行方式
|:----------:|:-: |:-: |:-----------------------------------------------------------------------:|
| 阿里云 |api.next.bspapp.com |请在[uniCloud web控制台](https://unicloud.dcloud.net.cn/)服务空间的总览页面查看| 请在[uniCloud web控制台](https://unicloud.dcloud.net.cn/)服务空间的总览页面查看 |
| 腾讯云 |tcb-api.tencentcloudapi.com|~~cos.ap-shanghai.myqcloud.com~~ (2023年8月17日腾讯云更新了上传域名,如果遇到小程序因为安全域名无法上传的问题可以把小程序开发工具内提示的不在白名单的域名添加到上传安全域名内) | 需要从云存储下载文件的时候才需要配置,不同服务空间域名不同,可以在web控制台查看文件详情里面看到 |
| 支付宝小程序云 |{spaceId}.api-hz.cloudbasefunction.cn|https://u.object.cloudrun.cloudbaseapp.cn| {spaceId}.normal.cloudstatic.cn |
| 支付宝云 |{spaceId}.api-hz.cloudbasefunction.cn|https://u.object.cloudrun.cloudbaseapp.cn| {spaceId}.normal.cloudstatic.cn |
**注意**
- 如果需要用uni.request请求云存储内的文件,需要将云存储域名(即上表中的download合法域名)配置到request合法域名内
- 阿里云迁移正式版后未重新发布的项目仍会请求公测版地址(api.bspapp.com)
- 如果项目使用了uni-push,还需要将uni-push的socket域名添加到白名单[详情查看](https://uniapp.dcloud.net.cn/unipush-v2.html#useinmp)
- 支付宝小程序云的域名是动态的,需要在小程序管理后台配置`{spaceId}.api-hz.cloudbasefunction.cn`,其中`{spaceId}`是服务空间的id,可以在uniCloud web控制台的服务空间总览页面查看
- 支付宝云的域名是动态的,需要在小程序管理后台配置`{spaceId}.api-hz.cloudbasefunction.cn`,其中`{spaceId}`是服务空间的id,可以在uniCloud web控制台的服务空间总览页面查看
**阿里云查看上传、下载安全域名**
......@@ -104,7 +104,7 @@ app、小程序、web统一发布页面。[详见](uni-publish.md)
## cli发行
> 支付宝小程序云暂不支持cli发行
> 支付宝云暂不支持cli发行
规模化的开发时,经常需要通过命令行发行,做持续集成。
......
......@@ -10,14 +10,14 @@ Hello uniCloud,是一个示例,演示了 uniCloud 的各种能力。
Hello uniCloud部署了2套,分别连接uniCloud的阿里云版和腾讯云版。
- h5版地址(发布在uniCloud的前端网页托管上)
* Hello uniCloud 支付宝小程序云版地址:[https://hellounicloud.dcloud.net.cn/alipay/](https://hellounicloud.dcloud.net.cn/alipay/#/)
* Hello uniCloud 支付宝云版地址:[https://hellounicloud.dcloud.net.cn/alipay/](https://hellounicloud.dcloud.net.cn/alipay/#/)
* Hello uniCloud 阿里云版地址:[https://hellounicloud.dcloud.net.cn/#/](https://hellounicloud.dcloud.net.cn/#/)
* Hello uniCloud 腾讯云版地址:[https://hellounicloud.dcloud.net.cn/tcb/](https://hellounicloud.dcloud.net.cn/tcb/)
由于该示例未适配pc宽屏,如使用pc浏览器打开地址,建议F12打开控制台,使用手机模式预览。
- apk地址(发布在uniCloud的云存储上)
* Hello uniCloud 支付宝小程序云版地址:[apk下载](https://env-00jx4sbgbkj5.normal.cloudstatic.cn/apk/__UNI__HelloUniCloud_0113194553.apk)
* Hello uniCloud 支付宝云版地址:[apk下载](https://env-00jx4sbgbkj5.normal.cloudstatic.cn/apk/__UNI__HelloUniCloud_0113194553.apk)
* Hello uniCloud 阿里云版地址:[apk下载](https://mp-1a10688c-0b30-4aaa-bbc1-7f4948cc562a.cdn.bspapp.com/apk/__UNI__HelloUniCloud_0113204611.apk)
* Hello uniCloud 腾讯云版地址:[apk下载](https://756e-unicloud-demo-eb8ec0-1302284157.tcb.qcloud.la/apk/__UNI__HelloUniCloud_20240113174921.apk)
......@@ -40,7 +40,7 @@ Hello uniCloud 的源码地址:[https://ext.dcloud.net.cn/plugin?id=4082](http
- 第一次创建腾讯云服务空间时会为用户创建腾讯云账号并跳转到腾讯云实名界面,等待实名认证审核之后可以开通服务空间。若腾讯云实名认证提示身份证下已创建过多账户,则需要在腾讯云官网注销不用的账户。
- 阿里云每个账号可以有一个开发者版免费空间,此空间资源较少仅能用于测试开发。腾讯云无免费空间。
- 首次创建支付宝小程序云时,需前往uniCloud控制台开通支付宝小程序云服务空间,开通服务空间时需使用支付宝扫码授权开通支付宝小程序云服务。
- 首次创建支付宝云时,需前往uniCloud控制台开通支付宝云服务空间,开通服务空间时需使用支付宝扫码授权开通支付宝云服务。
3. 运行 hello uniCloud项目
- 在运行菜单运行项目,浏览器、app、小程序均可。uniCloud项目是云端一体的,运行前端后控制台会同时出现前端和云端的控制台。
......@@ -49,7 +49,7 @@ Hello uniCloud 的源码地址:[https://ext.dcloud.net.cn/plugin?id=4082](http
1. 创建uniCloud项目
HBuilderX中新建项目,选择uni-app项目,并勾选`启用uniCloud`,在右侧选择服务供应商(支付宝小程序云、阿里云、腾讯云)
HBuilderX中新建项目,选择uni-app项目,并勾选`启用uniCloud`,在右侧选择服务供应商(支付宝云、阿里云、腾讯云)
项目名称随意,比如 firstunicloud
......
## 开通@open
> 2021年11月18日,已支持腾讯云和阿里云
> 2023年10月24日,已支持支付宝小程序
> 2023年10月24日,已支持支付宝云
目前可以在uniCloud web控制台购买redis服务,**所购买的实例由云厂商提供,并非由DCloud提供,DCloud只提供购买入口**
......@@ -46,7 +46,7 @@
|32GB内存版 |1 |10,000 |10,000 |32 |80,000 |
|64GB内存版 |1 |10,000 |10,000 |64 |80,000 |
### 支付宝小程序
### 支付宝云
|规格 |CPU核数|每秒新建连接数上限 |连接数上限 |带宽(MB/s) |QPS参考值|
|-- |-- |-- |-- |-- |-- |
......@@ -59,8 +59,8 @@
## 费用说明@fee
- 阿里云及腾讯云为包年包月套餐,需付费开通,支持续费、变配
- 支付宝小程序云为按量计费,开通不收费,但是需要账号充值保证金及支付宝按量余额,费用在第二天出账并从余额扣除。不支持变配。
- 支付宝小程序云"128M极简版"目前有第一年免费且每个服务空间下限购一次的优惠活动,即从开通服务空间当日起第一年免费,一年后计费方式为按量付费, 费用在第二天出账并从余额扣除
- 支付宝云为按量计费,开通不收费,但是需要账号充值保证金及支付宝按量余额,费用在第二天出账并从余额扣除。不支持变配。
- 支付宝云"128M极简版"目前有第一年免费且每个服务空间下限购一次的优惠活动,即从开通服务空间当日起第一年免费,一年后计费方式为按量付费, 费用在第二天出账并从余额扣除
### 续费@renew
......
......@@ -11,7 +11,7 @@
* 修复 上传云函数时安装依赖失败后仍然会上传云函数的Bug
* 修复 上传公共模块时不会剔除 node_modules 目录的Bug
* 修复 本地运行时无法使用地理位置查询/索引API的Bug
* 修复 同时存在支付宝小程序云、阿里云、腾讯云空间时,虚拟目录无法正确显示的Bug
* 修复 同时存在支付宝云、阿里云、腾讯云空间时,虚拟目录无法正确显示的Bug
* 修复 修复项目关闭后,再次打开云空间未显示关联服务空间的Bug [详情](https://ask.dcloud.net.cn/question/186741)
* 修复 关联其他项目运行时unicloud目录识别错误的Bug
* 修复 未登录状态下点击关联服务空间无响应的Bug
......@@ -21,7 +21,7 @@
* 修复 3.97版本引发的安全网络客户端校验功能不可使用的Bug
#### 2024-01-27
* 新增 支付宝小程序云 云数据库支持地理位置查询
* 新增 支付宝云 云数据库支持地理位置查询
* 新增 运行云函数时控制台可以点击云函数名称跳转到对应的云函数
* 新增 云函数本地node和云端node版本不一致时,上传云函数将提示本地node版本与云端node版本
* 修复 JQL管理器 不执行选中的语句的Bug [详情](https://issues.dcloud.net.cn/pages/issues/detail?id=534)
......@@ -30,19 +30,19 @@
* 修复 关联服务空间切换云厂商时存在关联项目仍然可以切换的Bug
* 修复 "上传schema扩展js的配置"超时时间太短,导致上传失败的Bug
* 修复 cli 创建的项目无法上传schema的Bug [详情](https://issues.dcloud.net.cn/pages/issues/detail?id=592)
* 修复 支付宝小程序云 云数据库JQL连表查询报错的Bug [详情](https://ask.dcloud.net.cn/question/185177)
* 修复 支付宝小程序云 云数据库使用原生MongoDB $查询无效的Bug [详情](https://ask.dcloud.net.cn/question/183811)
* 修复 支付宝小程序云 Redis本地调试无法运行的Bug
* 修复 支付宝云 云数据库JQL连表查询报错的Bug [详情](https://ask.dcloud.net.cn/question/185177)
* 修复 支付宝云 云数据库使用原生MongoDB $查询无效的Bug [详情](https://ask.dcloud.net.cn/question/183811)
* 修复 支付宝云 Redis本地调试无法运行的Bug
#### 2023-12-16
* 【重要】新增 七牛云扩展存储 价格更优、权限更灵活 [详情](https://uniapp.dcloud.net.cn/uniCloud/ext-storage/intro.html)
* 新增 uni-app-x 项目支持 uniIdRouter [详情](https://uniapp.dcloud.net.cn/uniCloud/uni-id/summary.html#uni-id-router)
* 新增 支付宝小程序云 支持云函数URL化
* 补齐 支付宝小程序云 支持ide中运行JQL文件
* 修复 支付宝小程序云 doc get 未兼容返回值为 null 的Bug [详情](https://ask.dcloud.net.cn/question/182457)
* 修复 支付宝小程序云 数据库 where、match 查询对象时结果不正确的Bug
* 修复 支付宝小程序云 云存储上传失败时,失败原因未在前端展示的Bug
* 修复 支付宝小程序云 uni.getTempFileURL API 返回只有文件名的Bug
* 新增 支付宝云 支持云函数URL化
* 补齐 支付宝云 支持ide中运行JQL文件
* 修复 支付宝云 doc get 未兼容返回值为 null 的Bug [详情](https://ask.dcloud.net.cn/question/182457)
* 修复 支付宝云 数据库 where、match 查询对象时结果不正确的Bug
* 修复 支付宝云 云存储上传失败时,失败原因未在前端展示的Bug
* 修复 支付宝云 uni.getTempFileURL API 返回只有文件名的Bug
* 修复 项目存在多个云厂商时,上传云函数识别云厂商错误的Bug
* 修复 database 目录右击菜单“上传Schema扩展Js的配置”提示“请绑定服务空间”的Bug [详情](https://ask.dcloud.net.cn/question/182971)
* 修复 创建 Schema 时,存在数据量大的 init_data.json 会导致无法正确下载的Bug
......@@ -52,21 +52,21 @@
* 优化 关联服务空间时可以跨不同云厂商切换服务空间
#### 2023-12-13
* 新增 支付宝小程序云 支持云函数URL化
* 新增 支付宝云 支持云函数URL化
#### 2023-11-20
* 新增 uni-app-x 项目 支持uniCloud支付宝小程序
* 新增 支付宝小程序云初始化向导
* 新增 uni-app-x 项目 支持uniCloud支付宝云
* 新增 支付宝云初始化向导
* 优化 基于模板新建schema/新建schemajs时,如模板是由多个文件组成的,允许用户选择创建具体的文件
* 修复 初始化云数据库时,云端已存在集合触发的弹窗提示中第一个集合默认选中的Bug
* 修复 打开db_init.json文件后,在编辑区域右键“初始化数据库”无法初始化的Bug
* 修复 对uniCloud文件夹重命名后,不会更新uniCloud文件夹别名的Bug
* 修复 上传公共模块时项目目录下不存在uni_modules目录导致无法上传的Bug
* 修复 微信小程序平台上传文件到支付宝小程序云报错的Bug
* 修复 支付宝小程序云 database update 操作返回值没有返回 updated 参数
* 修复 微信小程序平台上传文件到支付宝云报错的Bug
* 修复 支付宝云 database update 操作返回值没有返回 updated 参数
#### 2023-11-05
* 【重要】新增 uni-app 项目 支持uniCloud支付宝小程序云版。价格更优,限制更少,支持域名备案
* 【重要】新增 uni-app 项目 支持uniCloud支付宝云版。价格更优,限制更少,支持域名备案
* 调整 `db_init.json` 按collection拆分,每个collection由schema.json、index.json、init_data.json三个文件描述 [详情](https://uniapp.dcloud.net.cn/uniCloud/hellodb.html#init-db)
#### 2023-10-19
......@@ -443,4 +443,4 @@
+ 修复 本地调试插件 部分情况下客户端连接启用了 JQL 扩展的本地云函数报错的Bug
#### 已归档的历史版本
[更多已归档版本的更新日志](release-archive.md)
\ No newline at end of file
[更多已归档版本的更新日志](release-archive.md)
......@@ -357,7 +357,7 @@ uni-app前端也支持debug调试,注意不要混淆。
通过console api打印的日志会在云端记录。
### 支付宝小程序
### 支付宝云
云函数日志最长保留7天
......
......@@ -13,7 +13,7 @@
### 文件权限
uniCloud阿里云版的云存储,不支持对文件设置读权限,任意人知道路径都可以读取。腾讯云、支付宝小程序云则没有上述限制。
uniCloud阿里云版的云存储,不支持对文件设置读权限,任意人知道路径都可以读取。腾讯云、支付宝云则没有上述限制。
**腾讯云**
......@@ -22,16 +22,16 @@ uniCloud腾讯云版支持云存储的文件权限。当上传的文件不希望
1. 登录[uniCloud web控制台](https://unicloud.dcloud.net.cn/),选择腾讯云服务空间,配置云存储的权限。如果是隐私文件,应该配置为仅云函数可读写。
2. 在云函数中,通过`uniCloud.getTempFileURL`[见下](#cloudgettempfileurl)),获取该文件的临时URL。然后将临时URL发给客户端,客户端根据临时URL请求云存储的文件。
**支付宝小程序云**
**支付宝云**
uniCloud支付宝小程序云版支持云存储的文件夹权限,可以通过创建`私有权限`的文件夹,来保证改文件夹下的所有文件无法被公开读取,而必须通过[uniCloud.getTempFileURL](#cloudgettempfileurl)获取的临时URL来进行访问。
uniCloud支付宝云版支持云存储的文件夹权限,可以通过创建`私有权限`的文件夹,来保证改文件夹下的所有文件无法被公开读取,而必须通过[uniCloud.getTempFileURL](#cloudgettempfileurl)获取的临时URL来进行访问。
**扩展存储**
扩展存储支持文件级别的公有、私有权限设置,详见[updateFileStatus](../ext-storage/dev.md#updatefilestatus)
### 目录支持@storage-dir
支付宝小程序云和腾讯云支持以上传时指定的cloudPath作为文件路径进行文件存储。
支付宝云和腾讯云支持以上传时指定的cloudPath作为文件路径进行文件存储。
阿里云在`HBuilderX 3.8.5`及之后版本支持以上传时指定的cloudPath作为文件路径进行文件存储,需要在上传时指定参数`cloudPathAsRealPath: true`来启用目录支持。为兼容旧版阿里云表现`cloudPathAsRealPath`默认为`false`。对于客户端和本地云函数此调整在`HBuilderX 3.8.5`及之后的版本生效,对于云端云函数此调整自2023年6月17日生效。
......@@ -50,7 +50,7 @@ uniCloud支付宝小程序云版支持云存储的文件夹权限,可以通过
腾讯云支持配置云存储权限,需搭配腾讯云自定义登录使用,详情:[自定义登录](authentication.md)
支付宝小程序云与阿里云不支持控制前端访问云储存的权限
支付宝云与阿里云不支持控制前端访问云储存的权限
云存储客户端api内部会使用`uni.request``uni.uploadFile`来发送请求,如果有这两个接口写拦截器务必准确区分要拦截的内容
......@@ -60,7 +60,7 @@ uniCloud支付宝小程序云版支持云存储的文件夹权限,可以通过
客户端上传文件到云函数、云函数再上传文件到云存储,这样的过程会导致文件流量带宽耗费较大。所以一般上传文件都是客户端直传。
**支付宝小程序云、阿里云、腾讯云的单文件大小限制为5GB**
**支付宝云、阿里云、腾讯云的单文件大小限制为5GB**
**支付宝小程序开发工具上传文件到腾讯云时可能会返回失败,请以真机为准**
......@@ -68,8 +68,8 @@ uniCloud支付宝小程序云版支持云存储的文件夹权限,可以通过
**已知问题**
- HBuilderX 3.98之前的版本,微信小程序端上传文件到支付宝小程序云会报错
- 非web端、微信小程序端上传文件到支付宝小程序云会出现怪异表现或者报错,例如:百度小程序会既不触发失败也不触发成功,最终会上传一个空文件上去。此问题支付宝小程序云已在2023年11月21日修复。
- HBuilderX 3.98之前的版本,微信小程序端上传文件到支付宝云会报错
- 非web端、微信小程序端上传文件到支付宝云会出现怪异表现或者报错,例如:百度小程序会既不触发失败也不触发成功,最终会上传一个空文件上去。此问题支付宝云已在2023年11月21日修复。
#### 请求参数
**Object object**
......@@ -77,7 +77,7 @@ uniCloud支付宝小程序云版支持云存储的文件夹权限,可以通过
|参数名 |类型 |必填 |默认值 | 说明 |平台差异说明 |
|:-: |:-: |:-: |:-: |:-|:-: |
|filePath |String |是 |- | 要上传的文件对象 |- |
|cloudPath |String |是 |- | 使用支付宝小程序云或腾讯云时,表示文件的绝对路径,包含文件名。<br/>使用阿里云时,`cloudPath`为云端文件名,传`cloudPathAsRealPath: true`可以让cloudPath作为文件存储路径|- |
|cloudPath |String |是 |- | 使用支付宝云或腾讯云时,表示文件的绝对路径,包含文件名。<br/>使用阿里云时,`cloudPath`为云端文件名,传`cloudPathAsRealPath: true`可以让cloudPath作为文件存储路径|- |
|cloudPathAsRealPath|Boolean |否 |false | 是否以`cloudPath`作为云端文件绝对路径 |仅阿里云支持 |
|fileType |String |- |- | 文件类型,支付宝小程序、钉钉小程序必填,可选image、video、audio|- |
|onUploadProgress |Function |否 |- | 上传进度回调 |- |
......@@ -85,8 +85,8 @@ uniCloud支付宝小程序云版支持云存储的文件夹权限,可以通过
**注意**
- 使用阿里云时,`cloudPath`为云端文件名,请勿使用非法字符
- 支付宝小程序云与腾讯云`cloudPath` 为文件的绝对路径,包含文件名 foo/bar.jpg、foo/bar/baz.jpg 等,不能包含除[0-9 , a-z , A-Z]、/、!、-、\_、.、、\*和中文以外的字符,使用 / 字符来实现类似传统文件系统的层级结构。
- 支付宝小程序云与腾讯云`cloudPath`为文件标识,相同的`cloudPath`会覆盖,如果没有权限覆盖则会上传失败。阿里云以自动生成的ID为文件标识,不会存在覆盖问题
- 支付宝云与腾讯云`cloudPath` 为文件的绝对路径,包含文件名 foo/bar.jpg、foo/bar/baz.jpg 等,不能包含除[0-9 , a-z , A-Z]、/、!、-、\_、.、、\*和中文以外的字符,使用 / 字符来实现类似传统文件系统的层级结构。
- 支付宝云与腾讯云`cloudPath`为文件标识,相同的`cloudPath`会覆盖,如果没有权限覆盖则会上传失败。阿里云以自动生成的ID为文件标识,不会存在覆盖问题
- 阿里云目前由于安全原因暂时禁止云存储内上传html文件
- 上传文件超时时间可以在项目manifest.json内进行配置
......@@ -168,7 +168,7 @@ uni.chooseImage({
**Tips**
- 阿里云返回的fileID为链接形式可以直接使用,支付宝小程序云与腾讯云返回的为cloud://形式,如需展示需要调用getTempFileURL获取链接
- 阿里云返回的fileID为链接形式可以直接使用,支付宝云与腾讯云返回的为cloud://形式,如需展示需要调用getTempFileURL获取链接
- uniCloud.uploadFile 只有上传,没有文件选择。uni ui的封装了[FilePicker组件](https://ext.dcloud.net.cn/plugin?id=4079),从选择到上传一条龙。
### getTempFileURL(Object object)
......@@ -179,11 +179,11 @@ uni.chooseImage({
**平台兼容性**
|阿里云 |腾讯云 |支付宝小程序云|
|阿里云 |腾讯云 |支付宝云|
|---- |---- |----|
|√ |√ |√|
支付宝小程序云与腾讯云获取文件临时下载链接。
支付宝云与腾讯云获取文件临时下载链接。
自HBuilderX 3.1.0起阿里云也支持此接口,但仅为抹平和腾讯云的接口差异。因为阿里云的云存储不支持权限控制。
......@@ -238,7 +238,7 @@ uniCloud.getTempFileURL({
**平台兼容性**
|阿里云 |腾讯云 |支付宝小程序云|
|阿里云 |腾讯云 |支付宝云|
|---- |---- |----|
|HBuilderX 3.6.10+(Alpha版)、HBuilderX 3.6.5+(正式版) |不支持 |不支持|
......@@ -472,7 +472,7 @@ uniCloud.chooseAndUploadFile({
不建议使用此API。删除云存储文件是一个高危操作,应该由云函数进行权限校验后由云函数来删除云存储的文件。
- 阿里云不支持此API,前端运行此API会报权限错误
- 腾讯云支持此API,如若使用,需搭配腾讯云提供的自定义登录和权限设置使用
- 支付宝小程序云不支持此API
- 支付宝云不支持此API
#### 请求参数
......@@ -549,7 +549,7 @@ const uploadRes = await storageSpace.uploadFile({
**平台兼容性**
| 阿里云 | 腾讯云 | 支付宝小程序云 |
| 阿里云 | 腾讯云 | 支付宝云 |
|-----------|------|---------|
| √ | √ | √ |
......@@ -561,13 +561,13 @@ HBuilderX 3.1.0之前版本如使用阿里云,请在客户端通过`uniCloud.u
| 字段 | 类型 | 必填|默认值 | 说明 |平台差异说明 |
| --- | --- | --- |--- |:----|--- |
| cloudPath | string| 是 |- | 使用腾讯云或支付宝小程序云时,表示文件的绝对路径,包含文件名。<br/>使用阿里云时,`cloudPath`为云端文件名,传`cloudPathAsRealPath: true`可以让cloudPath作为文件存储路径 | |
| cloudPath | string| 是 |- | 使用腾讯云或支付宝云时,表示文件的绝对路径,包含文件名。<br/>使用阿里云时,`cloudPath`为云端文件名,传`cloudPathAsRealPath: true`可以让cloudPath作为文件存储路径 | |
| fileContent | - | 是 |- | 文件内容,请看下方说明 | |
|cloudPathAsRealPath|Boolean|否 |false | 是否以`cloudPath`作为云端文件绝对路径 |仅阿里云支持 |
**说明**
- 支付宝小程序云与腾讯云支持在fileContent内传[可读流](https://nodejs.org/api/stream.html#stream_class_stream_readable) 或buffer
- 支付宝云与腾讯云支持在fileContent内传[可读流](https://nodejs.org/api/stream.html#stream_class_stream_readable) 或buffer
- 阿里云支持在fileContent内传文件绝对路径或buffer
#### 响应参数
......@@ -595,7 +595,7 @@ let result = await uniCloud.uploadFile({
**平台兼容性**
| 阿里云 | 腾讯云 | 支付宝小程序云 |
| 阿里云 | 腾讯云 | 支付宝云 |
|------|------|---------|
| × | √ | √ |
......@@ -685,7 +685,7 @@ let result = await uniCloud.deleteFile({
**平台兼容性**
| 阿里云 | 腾讯云 | 支付宝小程序云 |
| 阿里云 | 腾讯云 | 支付宝云 |
|------|------|---------|
| × | √ | √ |
......@@ -721,7 +721,7 @@ let result = await uniCloud.downloadFile({
**平台兼容性**
|阿里云 |腾讯云 |支付宝小程序云|
|阿里云 |腾讯云 |支付宝云|
|---- |---- |----|
|HBuilderX 3.6.10+(Alpha版)、HBuilderX 3.6.5+(正式版) |不支持 |不支持|
......
......@@ -6,7 +6,7 @@
在uniCloud web控制台点击需要添加触发器的云函数详情,创建云函数触发器,格式如下:
**腾讯云&支付宝小程序云**
**腾讯云&支付宝云**
```js
// 参数是触发器数组,目前仅支持一个触发器,即数组只能填写一个,不可添加多个
......@@ -32,8 +32,8 @@
**在package.json内配置定时触发时统一了云厂商的写法,请参考:[云函数package.json](cf-functions.md#packagejson)**
::: warning 注意
- 阿里云正式版最低触发间隔为1分钟,支付宝小程序云与腾讯云最低触发间隔为1秒
- 支付宝小程序云与阿里云的cron表达式为6位,腾讯云为7位。相比腾讯云,支付宝小程序云与阿里云缺少代表年份的第7位
- 阿里云正式版最低触发间隔为1分钟,支付宝云与腾讯云最低触发间隔为1秒
- 支付宝云与阿里云的cron表达式为6位,腾讯云为7位。相比腾讯云,支付宝云与阿里云缺少代表年份的第7位
- 定时触发使用的是utc+8的时间
- 定时执行的时间选在较为常见集中的时刻有极低概率出现执行失败的情况。建议避免整点(特别是0点),错开定时触发高峰期进行执行
- 目前阿里云定时任务在运行时长超出配置的时间时会重试3次,此行为后续可能会调整。建议开发者将开启定时触发的云函数超时时间配置为600秒
......@@ -55,7 +55,7 @@ Cron 表达式有七个**必需**字段,按空格分隔。其中,每个字
|第四位| 日 | 1 - 31的整数(需要考虑月的天数) | , - * / |
|第五位| 月 | 1 - 12的整数 | , - * / |
|第六位| 星期 | 0 - 6的整数,其中0指星期日,1指星期一,以此类推 | , - * / |
|第七位| 年 | 1970 - 2099的整数(阿里云和支付宝小程序云不支持第七位) | , - * / |
|第七位| 年 | 1970 - 2099的整数(阿里云和支付宝云不支持第七位) | , - * / |
### 通配符@cron-wildcard
......@@ -98,7 +98,7 @@ Cron 表达式有七个**必需**字段,按空格分隔。其中,每个字
使用定时触发器调用云函数时云函数会收到特定的参数。两个平台的参数如下:
**腾讯云、支付宝小程序云**
**腾讯云、支付宝云**
```js
{
......
......@@ -2131,10 +2131,10 @@ https://api.next.bspapp.com;https://api.bspapp.com;https://tcb-api.tencentclouda
**添加完域名后,一定要重启微信开发者工具,然后去手机微信里删除最近使用的小程序(这一步很关键),最后重新扫二维码进入小程序。**
### 支付宝小程序云执行微信v2退款接口失败,报Error: unsupported, POST https://api.mch.weixin.qq.com/secapi/pay/refund -1@question-alipay-weixin-v2-refund
### 支付宝云执行微信v2退款接口失败,报Error: unsupported, POST https://api.mch.weixin.qq.com/secapi/pay/refund -1@question-alipay-weixin-v2-refund
有两个方案可以解决
方案一:使用微信支付v3版本
方案二:将云函数的node版本切换成node16(支付宝小程序云默认是node18,而node18不再支持微信支付v2证书pfx的加密算法导致的)
方案二:将云函数的node版本切换成node16(支付宝云默认是node18,而node18不再支持微信支付v2证书pfx的加密算法导致的)
......@@ -3146,10 +3146,10 @@ https://api.next.bspapp.com;https://api.bspapp.com;https://tcb-api.tencentclouda
**添加完域名后,一定要重启微信开发者工具,然后去手机微信里删除最近使用的小程序(这一步很关键),最后重新扫二维码进入小程序。**
### 支付宝小程序云执行微信v2退款接口失败,报Error: unsupported, POST https://api.mch.weixin.qq.com/secapi/pay/refund -1@question-alipay-weixin-v2-refund
### 支付宝云执行微信v2退款接口失败,报Error: unsupported, POST https://api.mch.weixin.qq.com/secapi/pay/refund -1@question-alipay-weixin-v2-refund
有两个方案可以解决
方案一:使用微信支付v3版本
方案二:将云函数的node版本切换成node16(支付宝小程序云默认是node18,而node18不再支持微信支付v2证书pfx的加密算法导致的)
方案二:将云函数的node版本切换成node16(支付宝云默认是node18,而node18不再支持微信支付v2证书pfx的加密算法导致的)
......@@ -23,10 +23,10 @@ uni-starter是集成商用项目常见功能的、云端一体应用快速开发
* 扫码体验:<img src="https://qiniu-web-assets.dcloud.net.cn/unidoc/zh/download.png" style="width: 120px;">
* 支付宝小程序云版演示项目:[https://uni-starter.dcloud.net.cn/alipay/](https://uni-starter.dcloud.net.cn/alipay/)
* 支付宝云版演示项目:[https://uni-starter.dcloud.net.cn/alipay/](https://uni-starter.dcloud.net.cn/alipay/)
- apk地址
* 支付宝小程序云版地址:[apk下载](https://env-00jx4wokha6m.normal.cloudstatic.cn/__UNI__StarterWithCMS__20231206115357.apk)
* 支付宝云版地址:[apk下载](https://env-00jx4wokha6m.normal.cloudstatic.cn/__UNI__StarterWithCMS__20231206115357.apk)
下载地址:[https://ext.dcloud.net.cn/plugin?id=5057](https://ext.dcloud.net.cn/plugin?id=5057)
......
......@@ -2,7 +2,7 @@
## 概念澄清
uniCloud,可以自选阿里云和腾讯云的serverless。类似于uni-app屏蔽了各家小程序的端侧差异,uniCloud也屏蔽了微信小程序云开发和支付宝小程序云开发的差异。
uniCloud,可以自选阿里云和腾讯云的serverless。类似于uni-app屏蔽了各家小程序的端侧差异,uniCloud也屏蔽了微信小程序云开发和支付宝云开发的差异。
也就是说,uniCloud选择腾讯云时,和微信小程序云开发,连的是一套云服务,都是腾讯云官方提供的。
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册