小程序web-view嵌入h5扫码 jssdk方式

扫码方式:使用jssdk方式

1.需要使用微信公众号,在微信开发者平台配置 API IP白名单以及js接口安全域名
2.需要给后端提供 AppId、AppSecret生成jssdk的config参数(appId、timestamp、nonceStr、signature)
3.引入jssdk
js 复制代码
	<script src="http://res.wx.qq.com/open/js/jweixin-1.6.0.js"/>  
        <script>  
            window.jWeixin=window.wx;  
            delete window.wx;  
        </script> 
4.请求后端获取配置接口(参数需要传递当前页面url,不包括hash值)

encodeURIComponent(location.href.split("#")[0])

5.点击按钮扫码
js 复制代码
 wxScan() { 
      jWeixin.config({
        debug: false, // 调试模式:true会弹出调试信息,上线改为false
        appId: this.wxConfig.appId, // 公众号appId
        timestamp: this.wxConfig.timestamp, // 时间戳
        nonceStr: this.wxConfig.nonceStr, // 随机字符串
        signature: this.wxConfig.signature, // 签名
        jsApiList: ["scanQRCode"], // 需使用的API列表(扫码)
      });

      // 配置 ready 回调,确保配置成功后再调用
      jWeixin.ready(() => {
        jWeixin.scanQRCode({
          needResult: 1, // 1=直接返回结果
          scanType: ["qrCode", "barCode"],
          success: (res) => {
            const scanResult = res.resultStr; // 扫码结果
          },
          fail: (err) => {
          },
        });
      });
      // 处理配置失败情况
      jWeixin.error((res) => {
        console.error("JS-SDK 配置失败", res);
        uni.showToast({
          title: "扫码功能初始化失败",
          icon: "none",
        });
      });
    },
相关推荐
ZC跨境爬虫3 分钟前
Playwright进阶操作:鼠标拖拽与各类点击实战(含自定义拖拽实例)
前端·爬虫·python·ui
小江的记录本6 分钟前
【RabbitMQ】RabbitMQ核心知识体系全解(5大核心模块:Exchange类型、消息确认机制、死信队列、延迟队列、镜像队列)
java·前端·分布式·后端·spring·rabbitmq·mvc
心静财富之门7 分钟前
《前端零基础入门:HTML + CSS + JavaScript 全套速查表(详细版 + 实例)》
前端·javascript·python
星空9 分钟前
前端--A_4--HTML表单
前端
We་ct20 分钟前
JS手撕:DOM操作 & 浏览器API高频场景详解
开发语言·前端·javascript·面试·状态模式·操作·考点
小江的记录本26 分钟前
【RocketMQ】RocketMQ核心知识体系全解(5大核心模块:架构模型、事务消息两阶段提交、回查机制、延迟消息、顺序消息)
linux·运维·服务器·前端·后端·架构·rocketmq
三万棵雪松29 分钟前
【Linux 物联网网关主控系统-Web部分(二)】
linux·前端·物联网
We་ct38 分钟前
LeetCode 137. 只出现一次的数字 II:从基础到最优的两种解法详解
前端·数据结构·算法·leetcode·typescript·位运算
星空40 分钟前
前端--A_3--HTML区块_块元素与行内元素
前端·html
如意猴42 分钟前
【前端】001 前端初识——数字世界的门面
前端