微信小程序云函数绕过https和备案

微信小程序云函数

demo地址

在微信小程序中,只要牵扯到请求Api的问题,微信必要这些域名备案,https等等。

但是有的国外的Api你又不能去备案,那么如何操作呢?

使用云开发中转

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Of0MmaJS-1592922565323)(http://myblogoss.aimezhao.online/20200519203207.png)]

实现步骤

  1. 创建用于中转的云函数
  2. 编写请求代码
  3. 上传并部署云函数
  4. 小程序端请求云函数

具体过程

1:创建云开发小程序

如果微信小程序要使用云开发,那么必须要有AppId,后端服务选择小程序·云开发

2:云开发小程序的结构
  • cloudfunctions:云开发的后台
  • miniprogram:小程序端

先把新创建项目的cloudfunctions文件夹的所有文件删除

3:创建云函数并安装依赖
  • 我们新建一个云函数,将其命名为top

  • 安装依赖,在云函数内,我们通过got来请求未备案的Api。选中top云函数,在终端打开,执行npm install got --save

  • 进入top云函数,在index.js中引入got

    const got = require('got')
    
  • 在云函数入口处的 await got(url)中的url换成你需要请求的未备案的Api

    这里使用的wallhaven.cc的请求Api

4:上传云函数

尽量选择云端安装依赖

5:小程序端选择默认环境

打开miniprogram小程序的app.js文件,将env设置为你的云环境

env的环境在这里查看

6:小程序端请求云函数
  1. 新建一个Page:top,写一个按钮,添加点击事件

  2. top.js中回调云函数

    wx.cloud.callFunction({
        name: 'top'  //这里是云函数的名称
    }).then(res => {
        console.log(res); //看是否能打印
    })
    

常见报错

在报错之前,一定要确认云函数上传成功

  1. 缺失模块问题:no module等等。解决办法:在终端打开,下载缺失的模块

  2. 反人类错误:errCode: -404011 cloud function execution error | errMsg: cloud.callFunction:fail requestID 39fd6cb8-99d1-11ea-9174-525400f89277。解决办法:重新上传云函数(多上传几遍

    这里很邪门,再确认云函数环境指定正确的情况下(app.js里面env指定正确)。

    就是多上传几遍或者重新创建一个项目迁移过去

  3. 总之,云函数需要注重的地方:

    1. 模块安装成功
    2. 确保云函数上传成功
    3. 云环境指定正确
    4. 确保返回数据的格式正确
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值