导航菜单
首页 >  微信小程序云开发使用云函数nodejs实现多张图片转  > 微信小程序中使用云函数进行开发

微信小程序中使用云函数进行开发

微信小程序的云函数是一段运行在云端(服务器端)的代码,无需管理服务器,在开发工具内编写、一键上传部署即可运行后端代码。在物理设计上,一个云函数可由多个文件组成,占用一定量的 CPU 内存等计算资源,各云函数完全独立;可分别部署在不同的地区。

小程序内提供了专门用于云函数调用的 API。开发者可以在云函数内使用 wx-server-sdk 提供的 getWXContext 方法获取到每次调用的上下文(appid、openid 等),无需维护复杂的鉴权机制,即可获取天然可信任的用户登录态(openid)。只需编写函数代码并部署到云端即可在小程序端调用,同时云函数之间也可互相调用。

一个云函数的写法与一个在本地定义的 JavaScript 方法无异,代码运行在云端 Node.js 中。当云函数被小程序端调用时,定义的代码会被放在 Node.js 运行环境中执行。

1、第一步

在项目根目录找到 project.config.json 文件,新增 cloudfunctionRoot 字段,指定本地已存在的目录作为云函数的本地根目录。

代码语言:javascript复制 "cloudfunctionTemplateRoot": "cloudfunctionTemplate", "cloudfunctionRoot": "./functions/",

设置完成之后,查看资源管理器,指定的目录已经变成云函数的目录。yydc是我项目云函数环境的名字。

2、选中云函数目录,右键菜单点击“新建Node.js云函数”,输入想创建的云函数的名字,自动创建云函数目录。系统会同时创建config.json,index.js,package.json这三个文件。

其中index.js是云函数实体文件。

我在测试过程中发现,有 wx-server-sdk 创建失败的情况,修改package.json 中依赖设置为:latest即可解决。

"dependencies": {

"wx-server-sdk": "latest"

}

3、编辑云函数文件,写个简单HelloWorld

代码语言:javascript复制// 云函数入口文件const cloud = require('wx-server-sdk')cloud.init()// 云函数入口函数exports.main = async (event, context) => { const wxContext = cloud.getWXContext() return {say: "hello world!" } /* return {event,openid: wxContext.OPENID,appid: wxContext.APPID,unionid: wxContext.UNIONID, } */}

4、上传云函数

选中我们写好的云函数目录,右键点击菜单“上传并部署:云端安装依赖(不上传node_modules)”,上传我们写好的云函数到云端。

注意:刚开始我忘了上传,导致云函数访问不正常,一直执行默认生成的代码。

5、测试云函数

打开云开发控制台,选中左上方“云函数”按钮,可以查看我们定义的所有云函数。

点击右侧“云端测试”

相关推荐: