• 微信小程序云开发-云函数发起https请求简易封装函数


    一、前言

    在日常的开发中,经常会遇到需要请求第三方API的情况,例如请求实名认证接口、IP转换地址接口等等。这些请求放在小程序前端的话,就需要把密钥放在客户端,在安全性上没这么高。

    因此,一般是放在云函数端去访问,小程序端传输对应的参数数值到云函数,然后云函数再去请求API接口。

    本文简单封装了一下发起https请求函数,方便复用。

    二、实现代码

    const request = require("request");
    /**
     * 发起网络请求
     * @param {object} paramObj 请求的参数对象
     */
    const requestFun = (url, method, paramObj) => {
        // 请求数据
        const options = {
            timeout : 5000,  // 设置超时
            method : method, //请求方式
            url : url,
            headers : {
                "Content-Type" : "application/json",
            },
            body : paramObj,
            json : true,
        };
        // 发起请求
        return new Promise((resolve, reject) => {
            request(options, function(error, response) {
                if (error)
                    resolve(error);
                resolve(response.body);
            });
        });
    };
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27

    调用示例

    // get请求
    const res = await requestFun(url,GET, {name: 小明,age:23})
    
    // post请求
    const res = await requestFun(url,POST, {name: 小明,age:23})
    
    • 1
    • 2
    • 3
    • 4
    • 5

    三、结语

    最后来一下常规结语:
    实际开发中的其他逻辑就不写了。需要同学们自己去考虑异常情况处理等问题啦。

    有任何疑问可以在评论区留下。我每天都会进行回复,私聊不回。(为了刷积分)

    以上均是本人开发过程中的一些经验总结与领悟,如果有什么不正确的地方,希望大佬们评论区斧正。

    💥最后!!!不管这篇文章对你有没有用,既然都看到最后了。
    👍赞一个!!!
    🤩当然,顺带收藏就最好了。
    😎欢迎转载,原创不易,转载请注明出处✍️。

    😊如果你对小程序开发有兴趣或者正在学习小程序开发,可以关注我。每一篇都是原创,每一篇都是干货噢~。

  • 相关阅读:
    手机app开发可选技术——React Native
    全国2021年夜间灯光数据,有图有数据
    sprigboot+在线预定车位管理 毕业设计-附源码221738
    MySQL5.7版本在CentOS系统安装
    MySQL1——喵喵期末不挂科
    【Apache Spark 】第 8 章结构化流
    WorkPlus Meet:高效私有音视频会议,助力多场景协作
    写页面要注意的事
    如何学习VBA:3.2.7 工作簿的操作引申
    javascript中的继承
  • 原文地址:https://blog.csdn.net/weixin_44702572/article/details/132621650