微信小程序云开发之云函数使用

微信小程序云开发之云函数使用

写在前面

最近在做微信小程序的开发工作,遇到了一个需求是由于小程序的每个包有大小限制,在某一些需要使用插件的情况下,使得包的体积超出限制,因此考虑一种将运算逻辑放在云端的方式来优化包体积大小。

云函数使用

准备工作

根据微信开发者工具,新建云开发项目,工具会自动构建一个可以使用云开发的项目。

1、清除附加文件,项目结构如下:
项目结构
2、确认project.config.json文件配置了cloudfunctionRoot字段,该字段指定本地已存在的目录作为云函数的本地根目录。
3、打开工具栏云开发,点击设置,配置云开发环境
工具栏
配置云环境名称
4、云函数根目录指定云环境(右键根目录cloudfunctions),第一个选项配置当前采用的云环境

-----现在可以创建云函数,进行开发了--------

使用方式
1、在云函数目录下新建nodejs云函数,因为云开发主要采用的是Node.js完成的,可以在云函数列表中查看每个函数的运行环境(Nodejs X.X)

在这里插入图片描述

2、在云函数的主入口文件中对传入的参数、调用信息和运行状态进行运算等,并将结果返回出来

在这里插入图片描述

3、一般情况下,大家举的例子都是加法的操作,但是实际情况需要进行的运算逻辑会比较复杂、多样。因此采用了类的形式将方法运算得到的结果通过主函数返回。如图:
// 云函数入口文件
const cloud = require("wx-server-sdk");

cloud.init();

// 云函数入口函数
exports.main = async (event, context) => {
  let num1 = event.num1;
  let num2 = event.num2;
  let calculate = new Calculate();
  return {
    add: calculate.add(num1, num2),
    minus: calculate.minus(num1, num2),
  };
};

class Calculate {
  constructor() {}
  add(num1, num2) {
    return num1 + num2;
  }
  minus(num1, num2) {
    return num1 - num2;
  }
  divide(num1, num2) {
    return num1 / num2;
  }
  multi(num1, num2) {
    return num1 * num2;
  }
}

上述代码将类中的方法作为结果返回。

4、调用云函数
getCloudRes(){
    wx.cloud.init();
		try {
			wx.cloud.callFunction({
				name: 'Calculate',
				data: {
					num1: this.data.num1,
					num2: this.data.num2,
				},
			}).then((res)=>{
				console.log(res)
			});
			
		} catch (e) {
			console.error('result', result);
		}
  }

云函数是异步返回的,因此也可以通过asyncawait调用

async getCloudRes(){
    try {
			let res = await wx.cloud.callFunction({
				name: 'Calculate',
				data: {
					num1: this.data.num1,
					num2: this.data.num2,
				},
			});
			console.log('res',res)
		} catch (e) {
			console.error('result', result);
		}
  }
5、云函数编写和调用部分代码完成后,需要调试云函数是否能运行成功。

方法有两种:一种是将云函数上传到云端,然后调用;另一种是云函数的本地调试(推荐,可以根据本地调试的面板设置断点等,获取每一个的运行情况)

5.1 安装本地调试依赖

1、要进行本地调试需要安装云环境依赖,运行命令npm install,安装后会多出node_modules文件夹,放有依赖文件

5.2 开启云函数本地调试,查看调试结果

在这里插入图片描述
云函数本地调试和一般的本地调试类型,都可以查看source设置断点,当得到调试结果正确后便可上传到云端。

6、将云函数上传到云端

在云函数目录右键创建并部署,需要注意如果在本地修改了云函数,需要重新手动更新,否则无法同步到云端。上传到云端的函数可以在云函数列表中查看,如图:
在这里插入图片描述
后续还会继续说一下云函数调用,云函数之间调用的注意事项。

----TBC----

  • 2
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值