nodejs 获取微信小程序二维码

 getQRCode(accessToken) {
    const { ctx } = this;
    let parameters;
    let url = `https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token=${accessToken}`;
    await axios({
      method: "post",
      url: url,
      responseEncoding: "base64", //重点
      data: {
        page: "pages/index/startPage/startPage",
        scene: "codeType=CREATED",
      },
    }).then((res) => {
      if (res.data.length>100) {
        parameters = "data:image/png;base64," + res.data;
      } else {
        ctx.throw(500,'获取二维码失败')
      }
    }).catch(err=>{
        ctx.throw(500,'获取二维码失败')
    })

    return parameters;
  }

作者:用户899272282202
链接:https://juejin.cn/post/7246255609254346811
来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

在使用nodejs获取微信小程序二维码的时候 总是无法转换为base64格式 原来是因为 node服务端 responseEncoding 有默认的格式 需要指定才行 搞了半天 哎 

chatgpt对话小程序 扫码体验 ai对话 ai画图 

### 微信小程序 Node.js 真机调试教程 #### 背景介绍 微信小程序开发中,通常会使用 Node.js 和 Express 来构建后端接口。然而,在真机调试阶段可能会遇到一些常见的问题,比如图片无法加载、接口调用失败等。这些问题可能源于本地服务器配置不当或者 IP 地址不匹配等原因。 --- #### 配置本地服务环境 为了使微信小程序能够成功连接到本地运行的 Node.js 后端服务,需完成以下几项操作: 1. **启动本地 Node.js 服务** 使用 `express` 创建一个简单的 HTTP 服务作为后端接口。以下是基础代码示例: ```javascript const express = require('express'); const app = express(); app.get('/api/test', (req, res) => { res.json({ message: 'Hello from Node.js backend!' }); }); const PORT = 3000; app.listen(PORT, () => console.log(`Server running on port ${PORT}`)); ``` 2. **获取本机局域网 IP 地址** 打开命令行工具并执行以下命令以查找当前设备的局域网 IP 地址: - Windows 用户可以运行 `ipconfig` 并找到 IPv4 地址。 - macOS 或 Linux 用户可以运行 `ifconfig | grep inet` 查看对应的 IP 地址[^1]。 --- #### 修改微信开发者工具设置 为了让微信小程序能够在真机上访问本地服务,需要调整微信开发者工具的相关配置: 1. **启用调试模式** 在微信开发者工具中打开项目的 “详情” 页面,勾选 “不校验合法域名、web-view(业务域名)、TLS 版本以及 HTTPS 证书”。这一步是为了绕过安全限制以便于测试[^2]。 2. **设置请求地址** 将原本指向 localhost 的 API 请求 URL 替换为实际的局域网 IP 地址加上端口号。例如,如果本地服务监听的是 `http://localhost:3000/api/test`,则应改为形如 `http://192.168.x.x:3000/api/test` 的形式[^3]。 --- #### 解决常见错误 即使完成了上述步骤,仍可能出现某些特定情况下的异常行为。下面列举了一些典型场景及其解决方案: 1. **TypeError: H.createEvent is not a function** 此类错误通常是由于前后端通信时未正确处理跨域或路径映射引起的。解决办法包括但不限于: - 确认微信开发者工具中的项目已按照前述说明启用了必要的选项; - 如果涉及多台设备间的交互,则考虑引入内网穿透技术(如 ngrok),从而让外部网络也能访问您的本地服务[^4]。 2. **图片资源不可见** 当在界面上展示来自本地存储路径的多媒体素材时,务必将其转换成可被公网识别的形式——即由相对路径更改为绝对URL链接。 --- #### 测试与验证流程 最后一步就是利用真实手机扫描二维码进入应用,并观察功能表现是否符合预期。期间注意监控日志输出,及时排查潜在隐患直至完全稳定为止。 ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值