Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
DCloud
unidocs-zh
提交
b2b99909
unidocs-zh
项目概览
DCloud
/
unidocs-zh
通知
3227
Star
106
Fork
819
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
95
列表
看板
标记
里程碑
合并请求
72
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
unidocs-zh
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
95
Issue
95
列表
看板
标记
里程碑
合并请求
72
合并请求
72
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
未验证
提交
b2b99909
编写于
5月 02, 2022
作者:
DCloud_Heavensoft
提交者:
Gitee
5月 02, 2022
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
update docs/uniCloud/cloud-obj.md.
上级
d88e6b4c
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
51 addition
and
46 deletion
+51
-46
docs/uniCloud/cloud-obj.md
docs/uniCloud/cloud-obj.md
+51
-46
未找到文件。
docs/uniCloud/cloud-obj.md
浏览文件 @
b2b99909
...
@@ -139,7 +139,7 @@ async function addToDo () {
...
@@ -139,7 +139,7 @@ async function addToDo () {
以上传统开发需要68行代码,对比云对象的33行代码,不但工作量大,而且逻辑也不如云对象清晰。
以上传统开发需要68行代码,对比云对象的33行代码,不但工作量大,而且逻辑也不如云对象清晰。
_注:以上例子仅用于方便初学者理解。实
质上对于简单的数据库操作,使用clientDB在前端直接操作数据库是更简单、代码更少的方案,[另见](/uniCloud/clientdb)_
_注:以上例子仅用于方便初学者理解。实
际开发中对于简单的数据库操作,使用
[
clientDB
](
/uniCloud/clientdb
)
在前端直接操作数据库是更简单、代码更少的方案,都不需要写云端代码。
总结下云对象带来的好处:
总结下云对象带来的好处:
1.
更清晰的逻辑
1.
更清晰的逻辑
...
@@ -205,45 +205,6 @@ const res = await todo.add('title demo', 'content demo')
...
@@ -205,45 +205,6 @@ const res = await todo.add('title demo', 'content demo')
const
todo
=
uniCloud
.
importObject
(
'
todo
'
)
const
todo
=
uniCloud
.
importObject
(
'
todo
'
)
```
```
### 自动显示交互界面@auto-ui
> 新增于 HBuilderX 3.4.6,本次调整属于非兼容更新。
HBuilderX 3.4.6及更高版本,调用云对象的方法时,默认会自动显示交互/提示界面。
1.
在请求开始时显示loading,
2.
结束后隐藏loading
3.
如果请求报错,显示弹窗(可配置为显示Toast)
如需关闭此行为,请传入
`customUI: true`
例:
```
js
uniCloud
.
importObject
(
'
todo
'
,
{
customUI
:
true
// 取消自动展示的交互提示界面
})
```
关于交互/提示界面的完整配置如下:
**注意**
-
配置仅对当前
`importObject`
返回的云对象实例生效
```
js
uniCloud
.
importObject
(
'
todo
'
,
{
customUI
:
false
,
// 是否取消自动展示的交互界面。默认为false,配置为true时取消自动展示的交互提示界面,以下配置均不再生效
loadingOptions
:
{
// loading相关配置
text
:
'
加载中...
'
,
// 显示的loading内的提示文字。默认值为:加载中...
mask
:
true
// 是否使用透明遮罩,配置为true时不可点击页面其他内容。默认值为:true
},
errorOptions
:
{
// 错误界面相关配置
type
:
'
modal
'
,
// 错误信息展示方式,可取值:modal(弹框,默认)、toast(toast消息框)。默认值为:modal
retry
:
false
// 是否展示重试按钮,仅在type为modal时生效。用户点击重试按钮时将重新请求调用的方法,默认为false
}
})
```
## 云对象的API@api
## 云对象的API@api
...
@@ -527,18 +488,56 @@ const todo = mycloud.importObject('todo')
...
@@ -527,18 +488,56 @@ const todo = mycloud.importObject('todo')
const
res
=
await
todo
.
add
(
'
title demo
'
,
'
content demo
'
)
const
res
=
await
todo
.
add
(
'
title demo
'
,
'
content demo
'
)
```
```
## 自动显示交互界面@auto-ui
## 注意事项
> 新增于 HBuilderX 3.4.6,本次调整属于非兼容更新。
每次写客户端联网的代码时,开发者都免不了重复写一堆代码:先调用loading等待框,联网结束后再关闭loading,如果服务器异常则弹出提示。
从HBuilderX 3.4.6起,调用云对象的方法时,默认会自动显示交互/提示界面。
1.
在请求联网开始时显示loading等待框,
2.
结束后隐藏loading
3.
如果请求报错,显示弹窗(也可配置为显示Toast)
如果默认显示的UI不符合你的需求,你可以通过配置自定义一些交互内容,也可以直接关闭自动显示的交互界面。
-
如需关闭自动显示的UI,请在客户端导入云对象时传入参数
`customUI: true`
例:
```
js
uniCloud
.
importObject
(
'
todo
'
,
{
customUI
:
true
// 取消自动展示的交互提示界面
})
```
-
如需自定义默认显示的UI,配置如下:
```
js
uniCloud
.
importObject
(
'
todo
'
,
{
customUI
:
false
,
// 是否取消自动展示的交互界面。默认为false,配置为true时取消自动展示的交互提示界面,以下配置均不再生效
loadingOptions
:
{
// loading相关配置
text
:
'
加载中...
'
,
// 显示的loading内的提示文字。默认值为:加载中...
mask
:
true
// 是否使用透明遮罩,配置为true时不可点击页面其他内容。默认值为:true
},
errorOptions
:
{
// 错误界面相关配置
type
:
'
modal
'
,
// 错误信息展示方式,可取值:modal(弹框,默认)、toast(toast消息框)。默认值为:modal
retry
:
false
// 是否展示重试按钮,仅在type为modal时生效。用户点击重试按钮时将重新请求调用的方法,默认为false
}
})
```
注意:配置仅对当前
`importObject`
返回的云对象实例生效
-
云对象和云函数都在cloudfunctions目录下,但是不同于云函数,云对象的入口为
`index.obj.js`
,而云函数则是
`index.js`
。
**为正确区分两者uniCloud做出了限制,云函数内不可存在index.obj.js,云对象内也不可存在index.js。**
-
所有
`_`
开头的方法都是私有方法,客户端不可访问
-
云对象也可以引用公共模块或者npm上的包,引用方式和云函数完全一致。
## 本地运行@run-local
## 本地运行@run-local
`HBuilderX 3.4.8`
之前,云对象目前无法直接本地运行,可以通过其他云函数调用本地云对象(在调用云对象的云函数右键本地运行),或者客户端调用本地云对象的方式来实现云对象的本地运行。
`HBuilderX 3.4.8`
之前,云对象无法直接本地运行。可以通过其他云函数调用本地云对象(在调用云对象的云函数右键本地运行),或者客户端调用本地云对象的方式来实现云对象的本地运行。
`HBuilderX 3.4.8`
起,云对象可以本地运行。打开云对象下的js文件,按Ctrl+r或点击运行菜单运行云对象。
`HBuilderX 3.4.8`
及之后版本,云对象可以直接运行。打开云对象下的js文件,按ctrl+r或点击运行菜单运行云对象。
运行云对象之前需要先选择执行云对象的哪个方法,以及传递什么参数。
运行云对象之前需要先选择执行云对象的哪个方法,以及传递什么参数。
以下述云对象为例:
以下述云对象为例:
...
@@ -558,6 +557,12 @@ module.exports = {
...
@@ -558,6 +557,12 @@ module.exports = {
![](
https://vkceyugu.cdn.bspapp.com/VKCEYUGU-f184e7c3-1912-41b2-b81f-435d1b37c7b4/db974aec-7975-45b7-bb64-24afd8a59213.jpg
)
![](
https://vkceyugu.cdn.bspapp.com/VKCEYUGU-f184e7c3-1912-41b2-b81f-435d1b37c7b4/db974aec-7975-45b7-bb64-24afd8a59213.jpg
)
## 注意事项
-
云对象和云函数都在cloudfunctions目录下,但是不同于云函数,云对象的入口为
`index.obj.js`
,而云函数则是
`index.js`
。
**为正确区分两者uniCloud做出了限制,云函数内不可存在index.obj.js,云对象内也不可存在index.js。**
-
所有
`_`
开头的方法都是私有方法,客户端不可访问
-
云对象也可以引用公共模块或者npm上的包,引用方式和云函数完全一致。
## 推荐最佳实践
## 推荐最佳实践
uniCloud的服务器和客户端交互,有云函数、云对象、clientDB三种方式。
uniCloud的服务器和客户端交互,有云函数、云对象、clientDB三种方式。
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录