Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
DCloud
uni-app
提交
53ee0d0b
U
uni-app
项目概览
DCloud
/
uni-app
大约 1 个月 前同步成功
通知
702
Star
38705
Fork
3642
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
7
列表
看板
标记
里程碑
合并请求
1
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
U
uni-app
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
7
Issue
7
列表
看板
标记
里程碑
合并请求
1
合并请求
1
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
53ee0d0b
编写于
10月 28, 2020
作者:
hbcui1984
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'master' of
https://github.com/dcloudio/uni-app
上级
8bde882c
dda9d2d4
变更
8
隐藏空白更改
内联
并排
Showing
8 changed file
with
164 addition
and
162 deletion
+164
-162
docs/api/request/websocket.md
docs/api/request/websocket.md
+3
-3
docs/case.md
docs/case.md
+19
-10
docs/uniCloud/_sidebar.md
docs/uniCloud/_sidebar.md
+1
-1
docs/uniCloud/database.md
docs/uniCloud/database.md
+11
-11
docs/uniCloud/faq.md
docs/uniCloud/faq.md
+26
-63
docs/uniCloud/price.md
docs/uniCloud/price.md
+100
-70
docs/uniCloud/schema.md
docs/uniCloud/schema.md
+2
-2
docs/uniCloud/uni-clientDB.md
docs/uniCloud/uni-clientDB.md
+2
-2
未找到文件。
docs/api/request/websocket.md
浏览文件 @
53ee0d0b
...
...
@@ -8,9 +8,9 @@
|参数名|类型|必填|说明|平台差异说明|
|:-|:-|:-|:-|:-|
|url|String|是|服务器接口地址|小程序中必须是
`wss://`
协议|
|header|Object|否|HTTP Header , header 中不能设置 Referer|
小程序
|
|method|String|否|默认是GET,有效值:OPTIONS, GET, HEAD, POST, PUT, DELETE, TRACE, CONNECT|
微信小程序
|
|protocols|Array
<
String
>
|否|子协议数组|H5、微信小程序、百度小程序、字节跳动小程序|
|header|Object|否|HTTP Header , header 中不能设置 Referer|
仅小程序支持
|
|method|String|否|默认是GET,有效值:OPTIONS, GET, HEAD, POST, PUT, DELETE, TRACE, CONNECT|
仅微信小程序支持
|
|protocols|Array
<
String
>
|否|子协议数组|
App、
H5、微信小程序、百度小程序、字节跳动小程序|
|success|Function|否|接口调用成功的回调函数||
|fail|Function|否|接口调用失败的回调函数||
|complete|Function|否|接口调用结束的回调函数(调用成功、失败都会执行)|
|
...
...
docs/case.md
浏览文件 @
53ee0d0b
...
...
@@ -41,7 +41,7 @@ uni-app助力数百家单位快速上线**抗疫系统**,开源众多项目,
### 第三方开发者案例
####
推荐
案例
####
典型
案例
<a
href=
"https://m.qinxuan.honor.cn/"
target=
"_blank"
class=
"clear-style"
><b>
华为荣耀亲选商城:
</b></a>
华为公司旗下荣耀品牌精品电商平台。
<div
style=
"display:flex;justify-content: space-around;"
>
...
...
@@ -74,7 +74,7 @@ uni-app助力数百家单位快速上线**抗疫系统**,开源众多项目,
<b>
星巴克:
</b>
全球最大的咖啡连锁店,世界领先的特种咖啡零售商
<div
style=
"display:flex;justify-content: space-around;"
>
<a
href=
"javascript:;"
target=
"_
blank
"
class=
"clear-style barcode-view"
>
<a
href=
"javascript:;"
target=
"_
self
"
class=
"clear-style barcode-view"
>
<img
src=
"https://vkceyugu.cdn.bspapp.com/VKCEYUGU-dc-site/734f5c50-d3df-11ea-81ea-f115fe74321c.jpg"
width=
"200"
/>
<span
style=
"margin-top:15px;"
>
微信小程序
</span>
</a>
...
...
@@ -92,14 +92,21 @@ uni-app助力数百家单位快速上线**抗疫系统**,开源众多项目,
</a>
</div>
<b>
中国教育发布:
</b>
中国人民共和国教育部官方App。
使用uniCloud云开发
。
[
详见报道
](
http://www.moe.gov.cn/jyb_xwfb/gzdt_gzdt/s5987/202009/t20200904_485105.html
)
<b>
中国教育发布:
</b>
中国人民共和国教育部官方App。
<a
href=
"https://uniapp.dcloud.io/uniCloud/README"
>
uniCloud云开发
</a>
案例
。
[
详见报道
](
http://www.moe.gov.cn/jyb_xwfb/gzdt_gzdt/s5987/202009/t20200904_485105.html
)
<div
style=
"display:flex;justify-content: space-around;"
>
<a
href=
"
javascript:;
"
target=
"_blank"
class=
"clear-style barcode-view"
>
<img
src=
"http
://www.moe.gov.cn/jyb_xwfb/gzdt_gzdt/s5987/202009/W020200904300248750807
.jpg"
width=
"200"
/>
<a
href=
"
http://www.moe.gov.cn/jyb_xwfb/gzdt_gzdt/s5987/202009/t20200904_485105.html
"
target=
"_blank"
class=
"clear-style barcode-view"
>
<img
src=
"http
s://static-eefb4127-9f58-4963-a29b-42856d4205ee.bspapp.com/jiaoyubuapp
.jpg"
width=
"200"
/>
<span
style=
"margin-top:15px;"
>
iOS、Android通用扫码地址
</span>
</a>
</div>
<b>
CSDN:
</b>
Appstore新闻类榜单前十。
<a
href=
"https://nativesupport.dcloud.net.cn/"
>
uni小程序SDK
</a>
案例。App内部众多栏目做成小程序形式。
<div
style=
"display:flex;justify-content: space-around;"
>
<a
href=
"https://www.csdn.net/apps/download"
target=
"_blank"
class=
"clear-style barcode-view"
>
<img
src=
"https://static-eefb4127-9f58-4963-a29b-42856d4205ee.bspapp.com/csdnappdown.jpg"
width=
"200"
/>
<span
style=
"margin-top:15px;"
>
App码
</span>
</a>
</div>
<!--
<a
href=
"https://www.csdn.net/"
target=
"_blank"
class=
"clear-style"
><b>
CSDN:
</b></a>
专业 IT 技术社区,致力于为中国软件开发者提供知识传播、在线学习、职业发展等全生命周期服务。
...
...
@@ -109,7 +116,6 @@ uni-app助力数百家单位快速上线**抗疫系统**,开源众多项目,
<span
style=
"margin-top:15px;"
>
微信小程序码
</span>
</a>
</div>
-->
<a
href=
"https://www.oschina.net/"
target=
"_blank"
class=
"clear-style"
><b>
开源中国:
</b></a>
中文开源技术交流社区,提供最新的开源软件资讯。
<div
style=
"display:flex;justify-content: space-around;"
>
...
...
@@ -122,14 +128,15 @@ uni-app助力数百家单位快速上线**抗疫系统**,开源众多项目,
<span
style=
"margin-top:15px;"
>
百度小程序码
</span>
</a>
</div>
-->
<b>
vivo官方商城:
</b>
vivo公司旗下的官方自营商城。
<div
style=
"display:flex;justify-content: space-around;"
>
<a
href=
"
javascript:;
"
target=
"_blank"
class=
"clear-style barcode-view"
>
<a
href=
"
//m3w.cn/uniapp
"
target=
"_blank"
class=
"clear-style barcode-view"
>
<img
src=
"https://img.cdn.aliyun.dcloud.net.cn/guide/uniapp/vivo-weixin.jpg"
width=
"200"
/>
<span
style=
"margin-top:15px;"
>
微信小程序码
</span>
</a>
<a
href=
"
javascript:;
"
target=
"_blank"
class=
"clear-style barcode-view"
>
<a
href=
"
//m3w.cn/uniapp
"
target=
"_blank"
class=
"clear-style barcode-view"
>
<img
src=
"https://img.cdn.aliyun.dcloud.net.cn/uni-app/case/vivo-mall.png"
width=
"200"
/>
<span
style=
"margin-top:15px;"
>
支付宝小程序码
</span>
</a>
...
...
@@ -141,7 +148,7 @@ uni-app助力数百家单位快速上线**抗疫系统**,开源众多项目,
<img
src=
"https://vkceyugu.cdn.bspapp.com/VKCEYUGU-alicdn/bda036a0-c55f-11ea-b997-9918a5dda011.png"
width=
"200"
/>
<span
style=
"margin-top:15px;"
>
Web及H5码
</span>
</a>
<a
href=
"javascript:;"
target=
"_
blank
"
class=
"clear-style barcode-view"
>
<a
href=
"javascript:;"
target=
"_
self
"
class=
"clear-style barcode-view"
>
<img
src=
"https://duolingo.91ddedu.com/static/miniapp.4a4ddf6b.jpg"
width=
"200"
/>
<span
style=
"margin-top:15px;"
>
微信小程序码
</span>
</a>
...
...
@@ -217,13 +224,15 @@ uni-app助力数百家单位快速上线**抗疫系统**,开源众多项目,
**华为:**
微信小程序搜索“荣耀亲选商城”、
[
H5
](
https://m.qinxuan.honor.cn/
)
、
[
App部分栏目使用DCloud SDK
](
https://appgallery1.huawei.com/#/app/C100382765
)
**华为:**
[
华为大学H5版
](
https://developer.huaweiuniversity.com/m/
)
**字节跳动:**
抖音小游戏中心。
**美团:**
微信小程序搜索“美团充电宝”、App内充电宝栏目
**快手:**
App中搜索“快手每日一答”
**腾讯:**
微信小程序搜索“腾讯全民模拟炒股大赛”、
[
H5(需使用微信打开)
](
https://zqact.tenpay.com/chaogu/
)
**腾讯:**
微信小程序搜索“腾讯全民模拟炒股大赛”、
[
H5(需使用微信
浏览器
打开)
](
https://zqact.tenpay.com/chaogu/
)
**京东:**
京东开发的新冠抗疫服务平台:
[
H5
](
http://yingji-h5.chanye.jdcloud.com/
)
、京东金融羊羊大作战:
[
H5
](
https://u.jr.jd.com/uc-fe-wxgrowing/sheep-fight/
)
...
...
docs/uniCloud/_sidebar.md
浏览文件 @
53ee0d0b
*
[
什么是uniCloud
](
uniCloud/README.md
)
*
[
快速上手
](
uniCloud/quickstart.md
)
*
[
购买指南
](
uniCloud/price.md
)
*
[
免费版和商用版
](
uniCloud/price.md
)
*
基本概念
*
[
服务空间
](
uniCloud/concepts/space.md
)
*
[
数据库
](
uniCloud/concepts/database.md
)
...
...
docs/uniCloud/database.md
浏览文件 @
53ee0d0b
...
...
@@ -108,7 +108,7 @@ let res = await db.collection('table').where({
}).
get
()
```
###
jql
查询语法@jsquery
###
JQL
查询语法@jsquery
`jql`
,全称javascript query language,是一种js方式操作数据库的语法规范。
...
...
@@ -291,34 +291,34 @@ book表内有以下数据,title为书名、author为作者:
}
```
order表内有以下数据,book字段为book表的书籍_id,quantity为该订单销售了多少本书:
order表内有以下数据,book
_id
字段为book表的书籍_id,quantity为该订单销售了多少本书:
```
js
{
"
book
"
:
"
1
"
,
"
book
_id
"
:
"
1
"
,
"
quantity
"
:
111
}
{
"
book
"
:
"
2
"
,
"
book
_id
"
:
"
2
"
,
"
quantity
"
:
222
}
{
"
book
"
:
"
3
"
,
"
book
_id
"
:
"
3
"
,
"
quantity
"
:
333
}
{
"
book
"
:
"
4
"
,
"
book
_id
"
:
"
4
"
,
"
quantity
"
:
444
}
{
"
book
"
:
"
3
"
,
"
book
_id
"
:
"
3
"
,
"
quantity
"
:
555
}
```
如果我们要对这2个表联表查询,在订单记录中同时显示书籍名称和作者,那么首先要建立两个表中关联字段
`book`
的映射关系。
即,在order表的db schema中,配置字段 book 的
`foreignKey`
,指向 book 表的 _id 字段,如下
即,在order表的db schema中,配置字段 book
_id
的
`foreignKey`
,指向 book 表的 _id 字段,如下
```
json
//
order表schema
...
...
@@ -329,7 +329,7 @@ order表内有以下数据,book字段为book表的书籍_id,quantity为该
".read"
:
true
},
"properties"
:
{
"book"
:
{
"book
_id
"
:
{
"bsonType"
:
"string"
,
"foreignKey"
:
"book._id"
//
使用foreignKey表示,此字段关联book表的_id。
},
...
...
@@ -366,8 +366,8 @@ schema保存至云端后,即可在前端直接查询。查询表设为order和
// 客户端联表查询
const
db
=
uniCloud
.
database
()
db
.
collection
(
'
order,book
'
)
// 注意collection方法内需要传入所有用到的表名,用逗号分隔,主表需要放在第一位
.
where
(
'
book.title == "三国演义"
'
)
// 查询order表内书名为“三国演义”的订单
.
field
(
'
book{title,author},quantity
'
)
// 这里联表查询book表返回book表内的title、book表内的author、order表内的quantity
.
where
(
'
book
_id
.title == "三国演义"
'
)
// 查询order表内书名为“三国演义”的订单
.
field
(
'
book
_id
{title,author},quantity
'
)
// 这里联表查询book表返回book表内的title、book表内的author、order表内的quantity
.
get
()
.
then
(
res
=>
{
console
.
log
(
res
);
...
...
docs/uniCloud/faq.md
浏览文件 @
53ee0d0b
...
...
@@ -4,7 +4,14 @@
`uniCloud`
和微信小程序云开发、支付宝小程序云开发使用相同的基础建设平台,微信小程序云开发背后是腾讯云的TCB团队,支付宝小程序云开发背后是阿里小程序云团队。
`uniCloud`
是DCloud和阿里小程序云团队、腾讯云的TCB团队直接展开深层次合作,在他们底层资源的基础上进行二次封装,提供的跨端云开发方案。
简单来说,uniCloud和微信小程序云开发、支付宝小程序云开发一样稳定健壮,但可以跨更多平台。不管你在uniCloud里选择了阿里还是腾讯的serverless,均可以跨端使用。
简单来说,uniCloud和微信小程序云开发、支付宝小程序云开发一样稳定健壮,但有更多优势:
-
跨平台。不管你在uniCloud里选择了阿里还是腾讯的serverless,均可以跨uni-app的全端使用。从pc到h5,从Android到iOS,以及各家小程序快应用,十几个平台全端支持
-
uniCloud提供了
`clientDB`
神器,减少90%的服务器开发工作量,且保障数据安全。
[
详见
](
https://uniapp.dcloud.io/uniCloud/database
)
-
uniCloud提供了
[
uni-id
](
https://uniapp.dcloud.io/uniCloud/uni-id
)
、
[
uniPay
](
https://uniapp.dcloud.io/uniCloud/unipay
)
等重要框架,大幅减少开发者的相应功能开发量。
-
uniCloud提供了
[
uniCloud admin
](
https://uniapp.dcloud.io/uniCloud/admin
)
,管理端开发工作量大幅减少。
-
更易学。uniCloud提供了
`JQL`
查询语言,比SQL和MongoDB的查询语法更简单易掌握,尤其是联表查询非常简单。
[
详见
](
https://uniapp.dcloud.io/uniCloud/database?id=jsquery
)
-
更完善的工具链。前端uni-app、云端uniCloud、还有ide端的HBuilderX,互相紧密搭配,打造闭环的优秀开发体验
-
更丰富的生态。插件市场有大量现成的轮子和资源
[
详见
](
https://ext.dcloud.net.cn/?cat1=7&orderBy=TotalDownload
)
### uniCloud稳定吗?DCloud服务器异常会影响我的线上业务吗?
...
...
@@ -12,6 +19,8 @@
用户终端上的应用在运行时,直连云服务商serverless平台,不会经过DCloud服务器,开发者无需担心因DCloud服务器负载而影响自己业务的问题。
尤其是腾讯云付费版,享受腾讯云的SLA。如果真出问题,腾讯云会负责赔偿(实际上不太会出现故障)
### 云函数 和 传统 Node.js 开发有何区别?
云函数相当于 Node.js + Serverless + DCloud改进。
...
...
@@ -24,24 +33,15 @@
另外,在 Node.js 代码实现上,云函数每次执行的宿主环境(可简单理解为虚拟机或服务器硬件)可能相同,也可能不同,因此传统
`Node.js`
开发中将部分信息存储本地硬盘或内存的方案就不再适合,建议通过云数据库或云存储的方案替代。
### uniCloud只支持uni-app,怎么开发web界面?
当然还有最重要的一点,在uniCloud中,推荐大量业务使用clientDB,一个应用中写不了太多云函数。
uni-app本来也可以开发web界面,只是内置组件对宽屏没有自动适配而已。你可以:
1.
新建uni-app项目,但不使用内置组件,而是直接用三方ui库,比如elementUI。这些基于vue的、适合宽屏使用的ui库可以直接用。至于js api,仍然使用uni的,比如uni.setStorage等。
2.
继续使用内置组件,自己处理pc适配:
-
如果要多端适配界面,使用css的媒体查询处理适配。
-
2.6.3起,uni内置组件支持了pc鼠标的滚动和drag。老版可以使用三方库替换touch的拖动为pc上的drag,比如touch-emulator.js。
-
uni-app的内置组件和api仅适配了webkit内核浏览器,ie和firefox可能有兼容问题。如有问题需自己写额外css或js适配。
### uniCloud只支持uni-app,怎么开发web界面?
后续DCloud会进一步强化内置组件和uni-ui对PC浏览器的适配。
uni-app本来可以开发web界面,详见:
[
uni-app宽屏适配指南
](
https://uniapp.dcloud.io/adapt
)
如果是需要pc版admin的话,已经有很多现成插件了:
-
[
baseCloud
](
https://ext.dcloud.net.cn/plugin?id=2481
)
-
[
coolAdmin
](
https://ext.dcloud.net.cn/plugin?id=2444
)
-
[
GraceAdmin
](
https://ext.dcloud.net.cn/plugin?id=1347
)
-
[
基于elementUI的uniCloud示例
](
https://ext.dcloud.net.cn/plugin?id=1585
)
,均是基于uniCloud的pc端管理后台框架。
如果是需要pc版admin的话,uniCloud提供了
[
uniCloud admin
](
https://uniapp.dcloud.io/uniCloud/admin
)
更
多uniCloud Admin系统可搜索:
[
https://ext.dcloud.net.cn/search?q=admin&cat1=7&orderBy=UpdatedDate
](
https://ext.dcloud.net.cn/search?q=admin&cat1=7&orderBy=UpdatedDate
)
插件市场有很
多uniCloud Admin系统可搜索:
[
https://ext.dcloud.net.cn/search?q=admin&cat1=7&orderBy=UpdatedDate
](
https://ext.dcloud.net.cn/search?q=admin&cat1=7&orderBy=UpdatedDate
)
### 可否通过http url方式访问云函数或云数据库?
...
...
@@ -51,7 +51,7 @@ uni-app本来也可以开发web界面,只是内置组件对宽屏没有自动
uniCloud提供了
`云函数URL化`
,来满足上述需求。
[
详见
](
https://uniapp.dcloud.io/uniCloud/http
)
### 微信云开发支持客户端直接操作数据库,uniCloud不支持?
uniCloud提供了比微信云开发更优秀的前端操作数据库方案,见:
[
https://uniapp.dcloud.io/uniCloud/uni-clientDB
](
https://uniapp.dcloud.io/uniCloud/uni-clientDB
)
uniCloud提供了比微信云开发更优秀的前端操作数据库方案,见:
[
clientDB
](
https://uniapp.dcloud.net.cn/uniCloud/database
)
### 云开发是nodejs+MongoDB组合,对比php+mysql的传统组合怎么样?
nodejs的性能高于php,MongoDB的性能也优于mysql。
...
...
@@ -61,7 +61,7 @@ nodejs的性能高于php,MongoDB的性能也优于mysql。
对于喜欢传统数据库的开发者而言,仍然可以按传统方式设计数据库表结构。对于希望增加数据冗余以提高性能的开发者而言,nosql数据库则是利器。
php+mysql的优势在于生态,有很多现成的开源项目,可以大幅提高开发效率。而uniCloud将通过插件市场等一系列手段强化生态,给开发者提供更高效率的各种轮子。
uniCloud提供了
`JQL`
,它更符合js开发者的习惯,并且极大的降低了联表查询的复杂度,其他方案相比
`JQL`
都复杂很多。
[
详见
](
https://uniapp.dcloud.net.cn/uniCloud/database?id=jsquery
)
### 支持websocket吗?
websocket的实时特性导致serverless化比较复杂,目前曲线方案有:
...
...
@@ -87,9 +87,10 @@ websocket的实时特性导致serverless化比较复杂,目前曲线方案有
资源回收策略方面,阿里云是15分钟内没有第二次访问的云函数,就会被回收。腾讯云是半小时。
两家云厂商仍然在优化这个问题。目前如果开发者在意这个问题,给开发者的建议是:
1.
非高频访问的云函数,合并到高频云函数中。有的开发者使用纯单页方式编写云函数,即在一个云函数中通过路由处理实现了整个应用的所有后台逻辑。参考
[
插件
](
https://ext.dcloud.net.cn/search?q=%E8%B7%AF%E7%94%B1&cat1=7&orderBy=UpdatedDate
)
2.
非高频访问的云函数,可以通过定时任务持续运行它(注意阿里云的定时任务最短周期大于资源回收周期)
3.
向service@dcloud.io发邮件,申请预留资源不销毁
1.
使用clientDB可以减少遇到问题的概率
2.
非高频访问的云函数,合并到高频云函数中。有的开发者使用纯单页方式编写云函数,即在一个云函数中通过路由处理实现了整个应用的所有后台逻辑。参考
[
插件
](
https://ext.dcloud.net.cn/search?q=%E8%B7%AF%E7%94%B1&cat1=7&orderBy=UpdatedDate
)
3.
非高频访问的云函数,可以通过定时任务持续运行它(注意腾讯云可以使用这个方式完全避开冷启动,而阿里云的定时任务最短周期大于资源回收周期)
4.
向service@dcloud.io发邮件,申请预留资源不销毁
### 发布H5时还得自己找个服务器部署前端网页,可以不用自己再找服务器吗?
...
...
@@ -132,56 +133,18 @@ uniCloud.httpclient.request('https://example.com',{
-
微信小程序云开发,已经有50万开发者,包括腾讯自有的很多大日活应用都构建在腾讯云serverless上,如微信生活缴费、乘车码、微信读书、腾讯新闻、腾讯相册等。
-
2019年双11,阿里部分业务已经迁移在serverless上。支付宝小程序也提供了云开发功能。
### uniCloud费用贵不贵?
uniCloud的阿里云目前是完全免费的。
uniCloud的腾讯云免费提供一个服务空间,更多服务空间或更多资源消耗需要付费。付费价格同微信云开发定价。整体成本远低于传统服务器租用成本。详见:
[
https://uniapp.dcloud.io/uniCloud/price
](
https://uniapp.dcloud.io/uniCloud/price
)
uniCloud的免费服务空间,为避免资源滥用,有使用限制,见下。
**阿里云免费版限制如下**
|资源类目 |限制 |说明 |
|:-: |:-: |:-: |
|云函数并发限制 |1000个/服务空间|- |
|每个服务空间的云函数数量 |49个 |如何合并云函数见下一节 |
**腾讯云免费版限制如下**
|资源类别 |子类目 |限制 |说明 |
|:-: |:-: |:-: |:-: |
|云函数 |硬件资源用量 |4万GBs/月 |腾讯云最小计费粒度为256MB
*
100ms,即使用内存固定为256MB,运行时间以100ms为阶梯计算 |
| |外网出流量 |1GB/月 |- |
| |云函数并发限制 |1000个/云函数 |超出此连接数的请求会直接失败。如有需求突破此限制,请发邮件到service@dcloud.io申请 |
| |云函数数目 |50个 |如何合并云函数见下一节 |
|云存储 |容量 |3GB |- |
| |下载操作次数 |150万/月 |- |
| |上传操作次数 |60万/月 |- |
| |CDN回源流量 |5GB/月 |- |
|CDN |CDN流量 |4GB/月 |- |
|云数据库 |容量 |2GB |- |
| |读操作数 |5万次/天 |- |
| |写操作数 |3万次/天 |- |
**关于数据库读写次数:**
修改或读取条数为0时也计算一次读写,即只要调用接口就计算一次。
阿里云如有需求突破资源限制,请发邮件到service@dcloud.io请求协助。如果属于标杆案例,可以特批扩大免费资源。
### 如何控制云函数数量?云函数是否可以按多级目录整理@merge-functions
每个云函数是一个独立进程,不存在云函数级别的多级目录概念
。
其实不需要控制数量,实际开发中不会突破限制
。
每个云函数下可以有子目录,但它们都属于这个云函数的一部分,而不是另一个云函数
。
因为大多数项目,会使用clientDB和单路由云函数框架
。
hx内置了资源管理器,可以在右边看云函数列表,界面更宽大
。
uniCloud的每个云函数是一个独立进程,不存在云函数级别的多级目录概念
。
并且uniCloud有云函数总量限制,多级目录没有意义
。
每个云函数下可以有子目录,但它们都属于这个云函数的一部分,而不是另一个云函数
。
实际开发中可以合并很多云函数,
-
比如数据库操作用一个云函数:
[
https://ext.dcloud.net.cn/plugin?id=2314
](
https://ext.dcloud.net.cn/plugin?id=2314
)
-
比如用户相关的逻辑,应该使用uni-id插件,只占用一个云函数:
[
https://ext.dcloud.net.cn/plugin?id=2116
](
https://ext.dcloud.net.cn/plugin?id=2116
)
-
比如用单页路由方式的云函数:
[
https://ext.dcloud.net.cn/plugin?id=2204
](
https://ext.dcloud.net.cn/plugin?id=2204
)
当然也可以在一个云函数下实现单路由云函数开发框架,插件市场有很多类似框架:
[
详见
](
https://ext.dcloud.net.cn/search?q=%E8%B7%AF%E7%94%B1&cat1=7&orderBy=TotalDownload
)
### 海外用户访问比较慢怎么办
...
...
docs/uniCloud/price.md
浏览文件 @
53ee0d0b
...
...
@@ -2,34 +2,51 @@
选择阿里云作为服务商时,服务空间资源完全免费,每个账号最多允许创建50个服务空间。
选择腾讯云作为服务商时,可以创建一个免费的服务空间,资源详情参考
[
腾讯云免费额度
](
uniCloud/price?id=price-free
)
;如想提升免费空间资源配额,或创建更多服务空间,则需付费购买
(目前个人认证用户仅支持包年包月的预付费模式,不支持按量计费)
。
选择腾讯云作为服务商时,可以创建一个免费的服务空间,资源详情参考
[
腾讯云免费额度
](
uniCloud/price?id=price-free
)
;如想提升免费空间资源配额,或创建更多服务空间,则需付费购买。
付费用户享受腾讯云提供的SLA,
[
详见
](
https://uniapp.dcloud.net.cn/uniCloud/agreement
)
uniCloud提供包
年包
月、按量计费两种计费方式(仅腾讯云),具体说明如下:
uniCloud提供包月、按量计费两种计费方式(仅腾讯云),具体说明如下:
|计费方式 |付费方式 |计费单位 |
|:-: |:-: |:-: |
|包
年包
月 |预付费 |参考
[
腾讯云包月套餐
](
uniCloud/price?id=price-month
)
|
|包月 |预付费 |参考
[
腾讯云包月套餐
](
uniCloud/price?id=price-month
)
|
|按量计费 |结算时冻结费用,每日结算 |参考
[
腾讯云按量计费
](
uniCloud/price?id=price-info
)
|
##
腾讯云免费额度@price-free
##
阿里云
|资源类别 |子类目 |免费额度 |
|:-: |:-: |:-: |
|云函数 |硬件资源用量 |4万GBs/月 |
| |外网出流量 |1GB/月 |
| |云函数并发限制 |1000个/云函数|
| |云函数数目 |50个 |
|云存储 |容量 |3GB |
| |下载操作次数 |150万/月 |
| |上传操作次数 |60万/月 |
| |CDN回源流量 |5GB/月 |
|CDN |CDN流量 |4GB/月 |
|云数据库 |容量 |2GB |
| |读操作数 |5万次/天 |
| |写操作数 |3万次/天 |
阿里云的服务空间是纯免费的。但为避免资源滥用,有一些限制,见下。
|资源类目 |限制 |说明 |
|:-: |:-: |:-: |
|云函数并发限制 |1000个/服务空间 |实际普通项目很难达到这个并发数 |
|每个服务空间的云函数数量 |48个 |实际项目中由于clientDB和单路由云函数,只会用到几个云函数,达不到限制数字 |
尤其注意阿里云的cdn确实是全免费的。
如有超大型应用突破阿里云资源限制,请发邮件到service@dcloud.io请求协助,可以特批扩大资源。
## 腾讯云
### 腾讯云免费空间的额度@price-free
|资源类别 |子类目 |限制 |说明 |
|:-: |:-: |:-: |:-: |
|云函数 |硬件资源用量 |4万GBs/月 |腾讯云最小计费粒度为256MB
*
100ms,即使用内存固定为256MB,运行时间以100ms为阶梯计算 |
| |外网出流量 |1GB/月 |- |
| |云函数并发限制 |1000个/云函数 |超出此连接数的请求会直接失败。如有需求突破此限制,请发邮件到service@dcloud.io申请 |
| |云函数数目 |49个 |实际项目中由于clientDB和单路由云函数,只会用到几个云函数,达不到限制数字 |
|云存储 |容量 |3GB |- |
| |下载操作次数 |150万/月 |- |
| |上传操作次数 |60万/月 |- |
| |CDN回源流量 |5GB/月 |- |
|CDN |CDN流量 |4GB/月 |- |
|云数据库 |容量 |2GB |- |
| |读操作数 |5万次/天 |- |
| |写操作数 |3万次/天 |- |
**关于数据库读写次数:**
修改或读取条数为0时也计算一次读写,即只要调用接口就计算一次。
关于免费额度,有如下注意事项:
...
...
@@ -37,58 +54,71 @@ uniCloud提供包年包月、按量计费两种计费方式(仅腾讯云),
-
如果已创建了预付费的免费版服务空间,则其他预付费空间及按量计费空间,均无法再享受免费额度。
-
免费版服务空间付费升级为更高档的包月套餐时,系统会将该空间设置为到期自动降配免费空间,故此时免费额度依然被占用中,其他预付费空间及按量计费空间,亦无法再享受免费额度
-
按量计费服务空间在开通时可以选择指定是否占用免费额度(如果当前账号还有免费额度的话),如果选择占用免费额度,则不可再创建预付费的免费服务空间。
-
免费版最多允许50个云函数,可通过一些方案将相同模块云函数合并,详情参考
[
控制云函数数量
](
uniCloud/faq?id=merge-functions
)
关于计费颗粒度,注意:
-
腾讯云的云函数最小计费粒度为
`256MB*100ms`
,即使用内存固定为
`256MB`
,运行时间以
`100ms`
为阶梯计算
-
云函数的并发限制为1000,并发超出1000的请求会直接失败,如因业务需要突破此限制,请发邮件到
`service@dcloud.io`
申请人工调配
## 腾讯云包月套餐@price-month
|资源分类 |资源细项 |免费版(基础版1)|基础版2 |专业版1 |专业版2 |旗舰版1 |
|:-: |:-: |:-: |:-: |:-: |:-: |:-: |
|云存储 |容量 |5GB |10GB |50GB |100GB |500GB |
| |下载操作次数 |150万/月 |200万/月 |750万/月 |1500万/月|3750万/月|
| |上传操作次数 |60万/月 |100万/月 |300万/月 |600万/月 |1500万/月|
| |CDN 回源流量 |5GB/月 |10GB/月 |50GB/月 |150GB/月 |500GB/月 |
|CDN |CDN 流量 |5GB/月 |25GB/月 |50GB/月 |150GB/月 |500GB/月 |
|云函数 |资源使用量 GBs |4万/月 |20万/月 |40万/月 |150万/月 |400万/月 |
| |外网出流量 |1GB/月 |3GB/月 |5GB/月 |10GB/月 |25GB/月 |
| |函数数量限制 |50个 |80个 |100个 |100个 |150个 |
| |固定外网 IP |× |√ |√ |√ |√ |
|数据库 |容量 |2GB |3GB |5GB |10GB |10GB |
| |同时连接数 |20个 |50个 |100 |200个 |400个 |
| |读操作数 |5万/天 |25万/天 |50万/天 |150万/天 |500万/天 |
| |写操作数 |3万/天 |15万/天 |30万/天 |100万/天 |300万/天 |
| |集合限制 |100个 |150个 |200个 |300个 |400个 |
| |备份保留天数 |7天 |14天 |14天 |14天 |14天 |
| |指定回档时间 |× |√ |√ |√ |√ |
|售价(元/月)|- |免费 |30 |104 |390 |860 |
## 腾讯云按量计费@price-info
目前仅支持腾讯云按量计费服务空间(暂定为仅企业认证用户可以开通)。腾讯云按量计费服务空间定价如下:
|资源分类 |资源细项 |售价(元) |
|:-: |:-: |:-: |
|云存储 |容量(GB/天) |0.0043 |
| |下载操作次数(万次) |0.01 |
| |上传操作次数(万次) |0.01 |
| |CDN 回源流量(GB) |0.15 |
|CDN |CDN 流量(GB) |0.18 |
|云函数 |资源使用量(GBs) |0.00011108 |
| |外网出流量(GB) |0.8 |
| |函数数量限制150个 | |
| |支持固定外网 IP | |
|数据库 |容量(GB/天) |0.07 |
| |读操作数(万次) |0.015 |
| |写操作数(万次) |0.05 |
| |同时连接数1000个 | |
| |集合限制800个 | |
| |备份保留天数14天 | |
| |支持指定回档时间 | |
|前端网站托管 |容量(GB/天) |0.0043 |
| |流量(GB) |0.21 |
### 腾讯云付费版包月套餐@price-month
包月套餐是指每个月的支付固定价格,购买一定量的服务器资源。
如果资源超限,则相应资源不可使用。需立即升配套餐。
包月套餐支持升配、降配。以满足资源用量上升或下降的价格调整需求。具体操作见
[
web控制台
](
https://unicloud.dcloud.net.cn
)
的购买套餐界面。
|资源分类 |资源细项 |免费版(基础版1) |基础版2 |专业版1 |专业版2 |旗舰版1 |
|:-: |:-: |:-: |:-: |:-: |:-: |:-: |
|云存储 |容量 |5GB |10GB |50GB |100GB |500GB |
| |下载操作次数 |150万/月 |200万/月 |750万/月 |1500万/月 |3750万/月 |
| |上传操作次数 |60万/月 |100万/月 |300万/月 |600万/月 |1500万/月 |
| |CDN 回源流量 |5GB/月 |10GB/月 |50GB/月 |150GB/月 |500GB/月 |
|CDN |CDN 流量 |5GB/月 |25GB/月 |50GB/月 |150GB/月 |500GB/月 |
|云函数 |资源使用量 GBs |4万/月 |20万/月 |40万/月 |150万/月 |400万/月 |
| |外网出流量 |1GB/月 |3GB/月 |5GB/月 |10GB/月 |25GB/月 |
| |函数数量限制 |49个 |79个 |99个 |99个 |149个 |
| |固定外网 IP |× |√ |√ |√ |√ |
|数据库 |容量 |2GB |3GB |5GB |10GB |10GB |
| |同时连接数 |20个 |50个 |100 |200个 |400个 |
| |读操作数 |5万/天 |25万/天 |50万/天 |150万/天 |500万/天 |
| |写操作数 |3万/天 |15万/天 |30万/天 |100万/天 |300万/天 |
| |集合限制 |100个 |150个 |200个 |300个 |400个 |
| |备份保留天数 |7天 |14天 |14天 |14天 |14天 |
| |指定回档时间 |× |√ |√ |√ |√ |
|售价(元/月) |- |免费 |30 |104 |390 |860 |
除了资源配量不同外,注意只有付费版才有 固定外网IP。如需在微信网页里调用js sdk,需要配置固定外网ip。
### 腾讯云付费版按量计费@price-info
按量计费,意味着不是每个月支付固定套餐,而是根据使用量付费。
按量付费需要预存一定金额,每日根据前一日资源消耗生成账单,从预存金额中扣除。
如果预存金额不足,则服务空间将不可用,需要立即充值。
按量付费目前仅企业认证用户可以开通,个人用户无法购买。
腾讯云按量计费服务空间定价如下:
|资源分类 |资源细项 |售价(元) |
|:-: |:-: |:-: |
|云存储 |容量(GB/天) |0.0043 |
| |下载操作次数(万次) |0.01 |
| |上传操作次数(万次) |0.01 |
| |CDN 回源流量(GB) |0.15 |
|CDN |CDN 流量(GB) |0.18 |
|云函数 |资源使用量(GBs) |0.00011108 |
| |外网出流量(GB) |0.8 |
| |函数数量限制150个 | |
| |支持固定外网 IP | |
|数据库 |容量(GB/天) |0.07 |
| |读操作数(万次) |0.015 |
| |写操作数(万次) |0.05 |
| |同时连接数1000个 | |
| |集合限制800个 | |
| |备份保留天数14天 | |
| |支持指定回档时间 | |
|前端网站托管 |容量(GB/天) |0.0043 |
| |流量(GB) |0.21 |
**注意**
...
...
docs/uniCloud/schema.md
浏览文件 @
53ee0d0b
...
...
@@ -48,8 +48,8 @@
|errorMessage|string
|
Object |当数据写入或更新时,校验数据合法性失败后,返回的错误提示|
|defaultValue|string
|
Object|默认值|
|forceDefaultValue|string
|
Object|强制默认值,不可通过clientDB的代码修改,常用于存放用户id、时间、客户端ip等固定值。具体参考下表的defaultValue|
|foreignKey|String|关联字段。
即该字段指向某个表的某个字段,值的格式为
`表名.字段名`
,比如订单表的uid字段指向uni-id-users表的_id字段。关联字段定义后可用于
[
联表查询
](
https://uniapp.dcloud.net.cn/uniCloud/database?id=lookup
)
|
|permission|Object|数据库权限,控制什么角色可以对什么数据进行读/写,可控制表和字段,可设置where条件|
|foreignKey|String|关联字段。
表示该字段的原始定义指向另一个表的某个字段,值的格式为
`表名.字段名`
,比如订单表的下单用户uid字段指向uni-id-users表的_id字段,那么值为
`uni-id-users._id`
。关联字段定义后可用于
[
联表查询
](
https://uniapp.dcloud.net.cn/uniCloud/database?id=lookup
)
,通过关联字段合成虚拟表,极大的简化了联表查询的复杂度
|
|permission|Object|数据库权限,控制什么角色可以对什么数据进行读/写,可控制表和字段,可设置where条件
。见下文
[
详述
](
?id=permission
)
|
|label|string|字段标题。生成前端表单代码时,渲染表单项前面的label标题|
|group|string|分组id。生成前端表单代码时,多个字段对应的表单项可以合并显示在一个uni-group组件中|
|order|int|表单项排序序号。生成前端表单代码时,默认是以schema中的字段顺序从上到下排布表单项的,但如果指定了order,则按order规定的顺序进行排序。如果表单项被包含在uni-group中,则同组内按order排序|
...
...
docs/uniCloud/uni-clientDB.md
浏览文件 @
53ee0d0b
## 简介
**重要:**
clientDB重大升级,在HBuilderX 2.9.5+中已经内置,不再需要单独下载插件。并且新版增加大量功能。本文已过期,推荐使用clientDB的开发者升级到HBuilderX 2.9.5+,并阅读新文档:
[
https://uniapp.dcloud.net.cn/uniCloud/database
](
https://uniapp.dcloud.net.cn/uniCloud/database
)
## 旧版clientDB简介
uni-clientDB 2.0.0版本不兼容旧版,如果你依然需要使用旧版本请在此链接下载
[
uni-clientDB 1.0.8
](
https://vkceyugu.cdn.bspapp.com/VKCEYUGU-dc-site/839b6a50-fe54-11ea-81ea-f115fe74321c.zip
)
clientDB框架的目标:减少服务端代码开发。
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录