说到serveless,当然是腾讯云和阿里云啦,而我想两种环境切着来玩,那么这个时候我选择了uniCloud,uniCloud其实是对腾讯云和阿里云进行了再次封装。

一、新键项目(老项目右键创建uniCloud云开发环境)
1、勾选启用uniCloud,后面可选阿里云和腾讯云
在这里插入图片描述
2、生成文件夹
在这里插入图片描述
3、右键选择云空间服务(没有创建的云服务空间的选择第二个,或者地址
在这里插入图片描述
4、右键新建云函数
在这里插入图片描述
在这里插入图片描述
新建完成之后,邮件pay-add云函数上传部署(当然你也可以上传并运行(测试之类的))

5、新建云数据库
方式一 :右键cloudfunctions文件夹,选择创建db_init.json
在这里插入图片描述
方式二:通过管理后台–>地址,创建自己的表
这里我已经创建了3张表,并点击新增记录去增加字段
在这里插入图片描述
6、通过客户端操作上传数据到云数据库
这里对pay表新增数据
对步骤4中新建的云函数pay-add编写

'use strict';
const db=uniCloud.database()
exports.main = async (event, context) => {
	// 插入数据
	let res = await db.collection('pay').add(event)
	return res;
};

紧接着右键上传部署,到这里云函数操作数据库的阶段完成,剩下的就是客户端调用云函数。

7、客户端调用云函数
通过uniCloud.callFunction来调用

// promise方式
uniCloud.callFunction({
    name: 'test',
    data: { a: 1 }
  })
  .then(res => {});

// callback方式
uniCloud.callFunction({
    name: 'test',
    data: { a: 1 },
    success(){},
    fail(){},
    complete(){}
});

对这个进行简要的封装一下

Vue.prototype.$cloud = async function(name = "", params = {}) {
			await uniCloud.callFunction({
				name: name,
				data: params
			})
		}

调用保存:

save(){
		  //保存记录
		  this.$cloud('pay-add',this.form)
		},

响应:
在这里插入图片描述
在这里插入图片描述
看这都ok了,再去云数据库中查看一下,可以看到这里新增了一条数据
在这里插入图片描述

千里之行
始于足下

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐