文章目录
- 微信后台配置扫码
- 前端配置
- 扫描二维码
- 分享链接
- 下载二维码
 
- 总结
微信后台配置扫码
参考: 微信二维码内容获取
在开发设置中配置扫码路由以及跳转路径
 
完成该配置后,可以通过扫描对应地址的二维码进入小程序的指定页面
前端配置
扫描二维码
⭐二维码图片推荐使用 QRcode, 用户只需指定路径,该工具可以生成对应的二维码
引入时可以无需npm包,使用qrcode.min.js可以满足一般需求(ps: 地址失效的话,可以从官网下载一份拷贝到本地)
<head>
  <meta charset="utf-8" />
  <meta name="viewport"
    content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=0" />
  <title>qrcode</title>
  <script type="text/javascript" src="https://static.runoob.com/assets/qrcode/qrcode.min.js"></script>
</head>
使用时对指定的dom元素进行设置,即可生成二维码
 const content = <div className='qrcode-con'>
      <div className={styles["qrcode-text"]}>
        二维码生成测试
      </div>
      <div className={styles['poster-wrapper']} id="poster">
        <img alt="" src={QrBg64} />
        <div className={styles['poster-content']}>
          <div className={styles['title_name']}>{`标题`}</div>
          <div className={styles['discribe']}>{`描述`}</div>
          <div id='qrcode' className={styles['qrcode-img']}></div>
          <div className={styles['provide']}>
            <span className={styles['text']}></span>
          </div>
        </div>
      </div>
      <div className={styles["poster-button"]}>
        <Button
          onClick={() => copyLink()}
        >复制分享链接</Button>
        <Button type='primary'
          onClick={() => downloadQR()}
        >下载二维码</Button>
      </div>
    </div>
	······
	new QRCode(document.getElementById("qrcode"), {
        text: `${xxx.com.xxxxx?name=${name}&code=1`, // 地址+参数
      });
微信扫码即可正常跳转
 
分享链接
⭐URL Scheme的获取需要去访问微信后台, 生成对象链接吗,手机点击即可跳转至小程序
参考: 小程序链接码
复制链接推荐 : copy-to-clipboard
npm i --save copy-to-clipboard
 const copyLink = () => {
    getCodeScheme().then(res => {
      copy(
        `欢迎加入小程序:${res}`,
      );
      message.success("复制链接成功");
    }).catch(err => {
      message.error("复制链接失败");
    })
  };
下载二维码
⭐有时需要将对应的二维码下载下来分享到其它地方,其实是 “截图 + 下载文件” 的流程
截取二维码图片工具:html2canvas
 图片文件下载工具:file-saver
npm i --save html2canvas
npm i --save file-saver
  const downloadQR = () => {
    const codeWarp = document.getElementById('poster');
    html2canvas(codeWarp!, {
      allowTaint: true,
      useCORS: true,
      logging: true,
    }).then((canvas) => {
      canvas.toBlob((blob) => {
        // 使用 FileSaver.js 库将 Blob 保存到本地
        saveAs(blob, `欢迎扫码体验`);
      });
    });
  };
总结
微信后台配置扫码
前端配置
- 扫描二维码
- 分享链接
- 下载二维码



















