有奖捉虫:云通信与企业服务文档专题,速来> HOT

环境准备

在开始部署云函数前,您需要:
2. 下载并安装 微信开发者 IDE
3. 在您的电脑上,安装 Node8.9 或以上运行环境。
4. 在您的电脑上,安装 npm 工具,关于 npm 详细可参考 npm 官网
5. 阅读并了解小程序云开发使用的基础信息,详情可参考 微信官网教程

创建小程序项目并部署云函数

1. 在微信开发者 IDE中,新建一个项目,并填写项目信息。
2. 在 IDE 的工具栏中,单击云开发,申请开通云端环境(即自动生成数据库实例、对象存储桶、云函数运行环境)。
3. 在 IDE 的代码栏中,右键单击 cloud 目录下的 functions,将 “当前环境” 设置为指定本地函数目录的云端环境。如下图所示:


4. 右键单击 functions,选择新建 Nodejs 云函数,新建 Nodejs 云函数。例如,新建一个名称为 test 的 Nodejs 云函数。
5. 在新建的 Nodejs 云函数的 index.js 中,编写主函数。例如,将以下代码作为主函数复制至 index.js 中。
const cloud = require('wx-server-sdk')
cloud.init({
env: 'test-demo-id' //环境初始化
})
// 云函数入口函数
exports.main = async (event, context) => {
console.log("Start to test")
return await cloud.callFunction({
name:'sendmail',
})
}

6. 判断是否需要安装第三方库。
是,使用 npm 工具安装或者在 package.json 中声明。 package.json 声明如下所示:
{
"name": "test",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \\"Error: no test specified\\" && exit 1"
},
"author": "",
"license": "ISC",
"dependencies": {
"wx-server-sdk": "latest"
}
}

否,请执行下一步。
7. 右键单击新建的 Nodejs 云函数(即 test 函数),选择 “上传并部署(云端安装依赖)”,将修改后的代码同步到云端。
8. 重复执行 步骤4,新建一个 Nodejs 云函数,并将该云函数命名为 sendemail。
9. 在 sendemail 云函数的 index.js 中,编写主函数。例如,将以下代码作为主函数复制至 sendemail 云函数的 index.js 中。
// 云函数入口文件
const nodemailer = require("nodemailer");
var transporter = nodemailer.createTransport({
service: 'qq',
port: 465, // SMTP 端口
secure: true, // 使用 SSL
auth: {
user: 'xxxx@qq.com', // 发送邮件的邮箱
pass: '*******' // 邮箱密码
}
});
var mailOptions = {
from: 'xxxxxxx@qq.com', // 发件地址
to: 'xxxxxxxx@qq.com', // 收件列表
subject: '测试云函数', // 标题
text: '测试云函数'
};
// 云函数入口函数
exports.main = async (event, context) => {
console.log("Start to sendemail")
//开始发送邮件
const info = await transporter.sendMail(mailOptions);
console.log('Message sent: ' + info.response);
return info
}

注意
在该段代码中,需要填写您实际的邮箱地址、密码、想要发送的邮箱地址等信息。
10. 使用 npm 工具安装或者在 package.json 中声明第三方 “nodemailer” 库。 package.json 声明如下所示:
{
"name": "sendmail",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \\"Error: no test specified\\" && exit 1"
},
"author": "",
"license": "ISC",
"dependencies": {
"wx-server-sdk": "latest",
"nodemailer":"^4.7.0"
}
}

11. 右键单击 sendemail 函数,选择 “上传并部署(云端安装依赖)”,将修改后的代码同步到云端。
12. 切换至云开发控制台,选择 “云函数”,查看新创建的函数是否显示在列表中。如下图所示,即表示 test 函数和 sendemail 函数已经在云端部署成功。