背景需求

在本人的项目中,需要调用一个http的接口,而微信小程序所有的网络请求都得使用https,因而需要一个中转站,使得在正式发布的时候可以使用http接口。(在调试环境下,只要在本地设置里勾选“不校验合法域名”即可使用http接口)
在这里插入图片描述

微信小程序云函数使用教程

1. 项目里添加字段
(1)在根目录下“project.config.json”文件,添加字段

"cloudfunctionRoot": "cloudfunctions/",

在这里插入图片描述
(2)在根目录下“app.json”文件,添加字段"cloud":true
在这里插入图片描述

2. 新建存储云函数的文件夹
在根目录自己下创建文件夹"cloudfunctions",由于刚才的配置,该文件夹下会有个云的图标。
在这里插入图片描述

3. 新建云函数
右击刚才新建的文件夹"cloudfunctions",会有“新建Node.js云函数”选项,填写函数名称后,会自动生成一个文件目录,里面有三个文件夹。比如我这里创建的函数名称叫"csdn"
在这里插入图片描述
点击该目录下的"index.js"文件夹,即可编写我们的云函数。
想要发送http请求,需要先安装个“request-promise”包,安装方法:

npm install request-promise

该index.js文件的具体内容:

// 云函数入口文件
const cloud = require('wx-server-sdk')
var rp = require('request-promise');

cloud.init()

// 云函数入口函数
//event 指的是触发云函数的事件,当小程序端调用云函数时,event 就是小程序端调用云函数时传入的参数
exports.main = async (event, context) => {
  let url = event.url;
  return await rp(url)
    .then(function (res) {
      return res
    })
    .catch(function (err) {
      return '请求失败!'
    });
}

4. 部署云函数
在每次编辑完云函数后,都要先部署一下,才能生效。具体部署方法:
右键该云函数名称,选择“上传并部署”
在这里插入图片描述
记得每次修改完都要重新部署!

5. 调用云函数
在页面的js文件里调用该云函数:

wx.cloud.callFunction({
  // 自己定义的云函数名称
  name: 'csdn',
  // 传给云函数的参数
  data: {
   	url:"http://xxx.xxx.xxx"
  },
  success: function(res) {
  //这里的res就是云函数的返回值
    console.log(res) 
  },
  fail: console.error
})
Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐