开发和运行流程
1.开发者在HBuilderX里为项目新建 uniCloud 云环境(可选择阿里云或腾讯云),
在云函数目录下编写js代码,上传部署云函数到阿里云或腾讯云的 serverless 环境中。
2.前端代码通过uniCloud.callFunction()方法调用云函数。
3.云函数中可执行js运算、读写云化数据库(NoSQL)、读写存储和CDN、操作网络,给前端返回数据
//[官网地址](https://uniapp.dcloud.io/uniCloud/quickstart)
创建云函数
//右键新增 会自动出现简单模板
'use strict';
///获取服务空间里的数据库对象
const db = uniCloud.database()
//查询及更新指令用于在 where 中指定字段需满足的条件,指令可通过 db.command 对象取得
const dbCmd = db.command // 取指令
exports.main = async (event, context) => {
//event为客户端上传的参数
console.log('event : ', event)
//context中可获取客户端调用的上下文
let os = context.OS //客户端操作系统,返回值:android、ios 等
let platform = context.PLATFORM //运行平台,返回值为 mp-weixin、app-plus等
let appid = context.APPID // manifest.json中配置的appid
let clientIP = context.CLIENTIP // 客户端ip信息
let clientUA = context.CLIENTUA // 客户端user-agent
//获取某个表的集合对象
const collection = db.collection('user')
//操作某条集合
//add
// 单条插入数据
let res = await collection.add({ name: 'Ben'})
// 批量插入数据
let res = await collection.add([{
name: 'Alex'
},{
name: 'Ben'
},{
name: 'John'
}])
写 add 新增记录(触发请求)
计数 count 获取符合条件的记录条数
读 get 获取集合中的记录,如果有使用 where 语句定义查询条件,则会返回匹配结果集 (触发请求)
引用 doc 获取对该集合中指定 id 的记录的引用
查询条件 where 通过指定条件筛选出匹配的记录,可搭配查询指令(eq, gt, in, ...)使用
//eg:
//db.collection('user').where({
// type: {
// memory: dbCmd.gt(8), // 表示大于 8
// }
//})
比较运算 eq 字段等于 ==
neq 字段不等于 !=
gt 字段大于 >
gte 字段大于等于 >=
lt 字段小于 <
lte 字段小于等于 <=
in 字段值在数组里
nin 字段值不在数组里
逻辑运算 and 表示需同时满足指定的所有条件
or 表示需同时满足指定条件中的至少一个
return res // 返回json给客户端
};
前端调用云函数
uniCloud.callFunction({
name: 'cloundlogin',
data: {
access_token,
openid
}
}).then(({result})=>{
uni.showModal({
title: `登录成功`,
content: JSON.stringify(result)
})
//本机手机号
let phone=result.data.phoneNumber
}).catch(e=>{
uni.showModal({
title: `登录失败`,
content: e.errMsg,
showCancel: false
})
})
本文详细介绍了如何在HBuilderX中使用uniCloud进行云函数开发,包括新建云环境、编写和部署js代码,以及前端如何通过uniCloud.callFunction()调用云函数。云函数可以执行数据库操作、读写存储,并返回数据给前端。示例代码展示了如何新增、查询和操作云数据库中的数据,以及前端如何响应云函数返回的结果。
1万+

被折叠的 条评论
为什么被折叠?



