一、目标
像调用普通方法那样使用云函数。
二、效果演示(以电影查询小程序为例)
三、小程序使用流程
- 核心封装代码:在 utils 目录创建 cloudFunction.js 文件
javascript
/**
* 导入云函数
* @param {String} name 云函数名
* @returns {Promise} 返回云函数处理结果
*/
globalThis.importCloudFunction = function (name) {
return new Proxy(
{},
{
get(target, prop) {
return async function (...args) {
let res = await wx.cloud.callFunction({
name,
data: {
method: prop,
params: args,
},
});
return res.result;
};
},
}
);
};
- 导入封装代码:在 app.js 引入 cloudFunction.js
arduino
// app.js
import "./utils/cloudFunction.js";
- 前端使用:在需要用的地方导入方法
scss
// 某个页面.js
const { method1,method2,method3 } = importCloudFunction("函数名");
Page({
data: {},
onLoad() {
method1();
},
});
四、云函数使用流程
- index.js 封装的代码
ini
exports.main = async (event, context) => {
globalThis.originInfo = { event, context };
const { method, params = [] } = event || {};
if (method) {
return require("./handle")[method](...params);
}
return { ...originInfo };
};
- 在同级目录创建handle.js
javascript
module.exports = {
method1(a,b){
return a;
},
method2(a,b){
return b;
},
}