微信小程序云开发,请求第三方http或https接口。

621 阅读1分钟

1.新建http云函数,选中http云函数,右键,打开终端,安装依赖:

npm install request-promise

2.http.js引入request-promise用于做网络请求

var rp = require('request-promise');

3.云函数入口函数逻辑


  // 云函数入口函数
  exports.main = async (event, context) => {
  console.log(event,context)
  let url = event.url;
  if (event.method == "post" || event.method == "POST" || event.method == "Post") {
    //发送post请求
  } else {
    //发送get请求
  }
 }

4.http.js中get请求

var options = {
      uri: url,
      method:"GET",
      qs: event.datas,
      headers: {
          'User-Agent': 'Request-Promise'
      },
      json: true 
  };
  rp(options)
      .then(function (res) {
        return res
      })
      .catch(function (err) {
       return '失败'
      });

5.http.js中post请求

   var options = {
      method: 'POST',
      uri: url,
      body: {
          some: 'payload'
      },
      form: event.datas,
      json: true 
  };
  rp(options)
      .then(function (res) {
        return res
      })
      .catch(function (err) {
        return '失败'
      });

6.选中http云函数,右键,上传并部署:云端安装依赖 7.云端测试 8.调用:

  wx.cloud.callFunction({
  // 要调用的云函数名称
  name: 'http',
  // 传递给云函数的event参数
  data: {
    url:"http://api.xxx.com/api/xxx",
    method:"get",
    datas:{
      msg:"xxx"
    }
  }
}).then(res => {
  console.log(res)
}).catch(err => {
  console.log(err)
})