Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
DCloud
unidocs-zh
提交
e96a9d56
unidocs-zh
项目概览
DCloud
/
unidocs-zh
通知
3172
Star
105
Fork
804
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
93
列表
看板
标记
里程碑
合并请求
67
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
unidocs-zh
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
93
Issue
93
列表
看板
标记
里程碑
合并请求
67
合并请求
67
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
提交
e96a9d56
编写于
8月 07, 2022
作者:
W
wanganxp
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
更新clientDB和云对象的分工说明
上级
a52da89e
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
19 addition
and
12 deletion
+19
-12
docs/uniCloud/cf-functions.md
docs/uniCloud/cf-functions.md
+19
-12
未找到文件。
docs/uniCloud/cf-functions.md
浏览文件 @
e96a9d56
...
...
@@ -82,7 +82,10 @@ uniCloud体系里,客户端和服务端的云函数通信,有4种方式:
-
clientDB不适用的情况:
请求不操作云数据库,比如向外部web系统发请求、操作redis、删除云文件等,或者操作的云数据库请求不希望暴露在前端
1.
请求不操作云数据库,比如向外部web系统发请求、操作redis、删除云文件等;
2.
操作的云数据库请求不希望暴露在前端;
3.
数据库表和字段数量多而接口数量少。给每个数据配置权限的工作量超过了控制少数接口权限的工作量;
4.
权限体系较复杂,除了用户和管理员外还有较多其他权限条件或动态权限。此时在schema和action中编写代码的复杂度超过了写接口。
**直观体验代码示例**
...
...
@@ -98,19 +101,13 @@ db.collection('list').get()
})
```
由于篇幅较长,学习clientDB需另见文档
[
clientDB
](
/uniCloud/clientdb
)
由于篇幅较长,学习clientDB需另见文档
[
clientDB
](
clientdb.md
)
### 云对象方式
-
云对象适用情况:
云对象和clientDB最大的区别,是云对象把数据库操作(以及其他逻辑)封装在云对象的方法里面。
如果客户端使用uni-app开发,且属于上文中不适用clientDB的情况,则需要云函数或云对象。
如果该请求是为了和uni-app客户端通信,则使用云对象。
-
云对象不适用的情况:
不是和uni-app客户端通信,比如需要云函数URL化后与非uni-app客户端通信(其他应用或服务器),比如云端定时运行的云函数。(但云对象未来有计划支持URL化和定时任务)
它无法像clientDB那样无需开发服务器代码,它仍需在客户端和云端分别写代码。但它的应用场景不受限制。上文中不适用clientDB的情况,都可以使用云对象解决。
**直观体验代码示例**
...
...
@@ -141,11 +138,19 @@ async function sum () { //注意方法或生命周期需使用async异步方式
由于篇幅较长,学习云对象需另见文档
[
云对象
](
cloud-obj.md
)
clientDB和云对象可以混合使用:
1.
比如官方提供了
[
uni-id-pages
](
uni-id-pages.md
)
,是基于云对象的登录注册系统,开发者可以导出这个插件处理账户体系,然后剩余的业务如果不算复杂,就可以使用clientDB搞定。
2.
一个业务的用户端和admin端也可以是不同的技术栈。比如业务端有复杂的动态权限,而管理端只有一个admin管理员使用,那么admin端使用
[
schema2code
](
schema2code.md
)
会非常高效,而这些技术都基于clientDB。
### 普通云函数callFunction方式
-
普通云函数适用的情况:
在HBuilderX 3.5.2之前,需要URL化和定时运行时,只能使用普通云函数;在HBuilderX 3.5.2+,云对象也支持了URL化和定时运行,此时推荐使用云对象替代云函数。
在HBuilderX 3.5.2之前,需要URL化和定时运行时,只能使用普通云函数;在HBuilderX 3.5.2+,云对象也支持了URL化和定时运行。
官方不推荐开发者使用云函数,有相关需求推荐使用云对象替代云函数。
目前官方还未提供基于云对象的router模式的框架,有相关需求可以使用三方框架。
**直观体验代码示例**
...
...
@@ -192,7 +197,9 @@ exports.main = async (event, context) => {
-->
### 云函数URL化方式
可以让云函数/云对象生成一个HTTP URL。可以在Web控制台进行URL化配置。它本质上属于云函数的一种调用方式。
可以让云函数/云对象生成一个HTTP URL。这样非uni-app应用,可以通过ajax请求和云函数/云对象通信。
在 uniCloud Web控制台进行URL化配置。
由于篇幅较长,需另见文档
[
云函数URL化
](
http.md
)
。
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录