uniClound

本文详细介绍了如何在HBuilderX中使用uniCloud进行云函数开发,包括新建云环境、编写和部署js代码,以及前端如何通过uniCloud.callFunction()调用云函数。云函数可以执行数据库操作、读写存储,并返回数据给前端。示例代码展示了如何新增、查询和操作云数据库中的数据,以及前端如何响应云函数返回的结果。

开发和运行流程

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
	})	
})
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值