小程序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",
        });
      });
    },
相关推荐
lichenyang4531 小时前
Docker 学习笔记(一):为什么需要镜像、容器和仓库?
前端
kyriewen2 小时前
别再对着 TypeScript 报错发呆了:我把 10 个最常见的红色波浪线翻译成了人话
前端·javascript·typescript
IT_陈寒2 小时前
SpringBoot自动配置的坑,我的API突然就404了
前端·人工智能·后端
奇奇怪怪的3 小时前
Embedding 模型 10+ 横向评测
前端
陈广亮3 小时前
Monorepo 从 0 到 1 实操指南 2026 版:pnpm catalogs + Turborepo 2.x + changesets 全链路
前端
子兮曰3 小时前
OpenMontage 深度解剖:你的 AI 编程助手,其实是个视频工作室
前端·后端·ai编程
敲代码的鱼3 小时前
PDF 预览与签名批注写回 支持安卓 iOS 鸿蒙 UTS插件
android·前端·ios
子兮曰3 小时前
前端工具链的「Rust 化」:一场没有赢家的军备竞赛?
前端·后端·rust
Hyyy4 小时前
Function Calling / Tool Use的原理和实现模式
前端·llm·ai编程
爱勇宝4 小时前
从 Ctrl+CV 到 Enter:程序员正在失去什么
前端·后端·程序员