几行代码封装,让小程序云函数变为真正云函数,开发体验直接起飞

一、目标

像调用普通方法那样使用云函数。

二、效果演示(以电影查询小程序为例)

三、小程序使用流程

  1. 核心封装代码:在 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;
        };
      },
    }
  );
};
  1. 导入封装代码:在 app.js 引入 cloudFunction.js
arduino 复制代码
// app.js
import "./utils/cloudFunction.js";
  1. 前端使用:在需要用的地方导入方法
scss 复制代码
// 某个页面.js
const { method1,method2,method3 } = importCloudFunction("函数名");
​
Page({
  data: {},
  onLoad() {
      method1();
  },
});

四、云函数使用流程

  1. 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 };
};
  1. 在同级目录创建handle.js
javascript 复制代码
module.exports = {
    method1(a,b){
        return a;
    },
    method2(a,b){
        return b;
    },
}

五、小程序电影示例逻辑源代码片段

developers.weixin.qq.com/s/Az8Mo3m47...

相关推荐
禁默4 分钟前
HTML全局属性与Meta元信息详解:优化网页的灵魂
前端·html
码递夫4 分钟前
npm运行Vue项目报错 error:0308010c:digital envelope routines::unsupported
前端·javascript·vue.js·npm
前端郭德纲19 分钟前
写一个鼠标拖尾特效
前端·javascript
艾斯特_32 分钟前
前端设计模式介绍及案例(单例模式、代理模式、工厂模式、装饰者模式、观察者模式)
前端·javascript·观察者模式·单例模式·设计模式
通信.萌新1 小时前
【微信小程序】tabBar全局配置
微信小程序·小程序
Zaralike1 小时前
关于浏览器缓存的思考
前端
m0_528723811 小时前
axios如何取消请求、配置
前端
匹马夕阳4 小时前
Vite+vue3项目中unplugin-auto-import的作用和使用方法详解
前端·javascript·vue.js
刺客-Andy4 小时前
React 第二十四节 useDeferredValue Hook 的用途以及注意事项详解
前端·react.js·前端框架
薛定谔的猫-菜鸟程序员5 小时前
Vue 3 + Vite + JS 项目中实现组件全局自动化注册的魔法,极致组件自动化注册方案,开发效率飙升300%。
javascript·vue.js·自动化