uniCloud学习简记
基本概念
服务空间
- 右键uniCloud 目录=》创建服务空间
- uniCloud的web控制台.管理服务空间
数据库
- 数据库及数据表
- 一个uniCloud服务空间,有且只有一个数据库;
- 一个数据库可以有多个表;
- 一个表可以有多个记录;
- 一个记录可以有多个字段。
- 数据表创建方式
-
在web控制台创建
-
在HBuilderX中,项目根目录
/uniCloud/database
点右键新建DB schema
,上传时创建 -
在代码中也可以创建表,但不推荐使用,详见uniCloud官方文档
-
操作数据库
- 客户端直接操作数据库(clientDB):,
- 用js API操作云数据库:推荐JQL语法
<unicloud-db>
组件:js API的再封装。unicloud-db组件简介
- 云函数/云对象内使用JQL,链接
- 客户端直接操作数据库(clientDB):,
-
云函数/云对象
- 在
uniCloud/cloudfunctions
目录右键
新建云函数/云对象 - 每个云函数是1个目录,普通云函数的入口文件:index.js,云对象的入口文件是index.obj.js
- 客户端和云函数的通信方式
传统的restful方式 | callfunction方式 | 云对象方式 | clientDB方式 | |
---|---|---|---|---|
简述 | 通过配置云函数URL化 ,把云函数转为传统的http链接 |
云函数默认并不自带http链接 | 把callfunction的函数式调用,升级为模块化的对象调用 | 客户端直接操作云数据库 |
前端调用方式 | 传统ajax | uni-app客户端通过uniCloud.callFunction(functionname) 来调用云函数 |
uni-app客户端通过uniCloud.importObject(objectname) 导入一个云对象,直接使用这个对象的方法 |
uni-app客户端通过<uniCloud-db>组件 或uniCloud.database() API 来访问uniCloud数据库。也支持搭配action云函数追加服务器逻辑 |
适用场景 | http链接需要自己注册域名。如果前端是uni-app,则不推荐使用URL化。如果是非uni-app的系统需要访问云函数,只能使用URL化 | 相比云函数URL,callfunction更加安全、更serverless,不暴露域名和ip,不怕攻击,也无需注册域名 | uni-app 3.4起支持。相比callfunction方式。代码更加精简、逻辑更加清晰、开发更加高效 | 如果uni-app前端发起的服务器请求目的主要是查询或操作数据库,则推荐使用client |