请选择 进入手机版 | 继续访问电脑版
 找回密码
 立即注册

QQ登录

只需一步,快速开始

二麻子 活字格认证

高级会员

11

主题

712

帖子

1493

积分

高级会员

积分
1493

活字格认证活字格高级认证悬赏达人

二麻子 活字格认证
高级会员   /  发表于:2025-3-20 17:39  /   查看:545  /  回复:17
本帖最后由 二麻子 于 2025-3-21 09:26 编辑

  • 微信JS接口扫码集成

    • 1、公众号配置JS安全域名

      • 在公众号后台,进入开发 - 接口权限,配置 JS 接口安全域名。该域名必须为项目的 HTTPS 域名,且需通过备案。
      • 公众号需要关联小程序,确保小程序已与公众号绑定。

    • 2、项目引入微信JS SDK

      • 通过引入微信官方提供的 JS SDK 脚本文件,确保页面能够调用微信的 JS 接口。
        1. https://res.wx.qq.com/open/js/jweixin-1.6.0.js
        复制代码

    • 3、获取票据并缓存到数据库中

      • 插件概述

        • 调用微信公众平台提供的接口,通过 appid 和 appsecret 获取 access_token。
        • 使用 access_token 获取 jsapi_ticket。


      • 实现要点

        • 使用计划任务每隔 1 小时刷新票据,确保在有效期(7200 秒)内更新。
        • 注意每个公众号每天调用 access_token 接口的次数限制(2000 次),使用计划命令定时更新票据并将其缓存到数据库,避免频繁请求。

      • 通过插件获取票据(这里的id 和 秘钥 是指公众号的id和秘钥)

      image-20250320170906092.png329314879.png


    • 4、前端获取签名

      • 前端调用后端接口,传递当前页面的 URL,后端根据 票据、随机字符串、时间戳、URL 生成签名并返回前端。

      //前端使用JS命令获取当前页面的URL,提供给插件生成签名
      1. let currentUrl = window.location.href;
      复制代码

      image-20250320170934295.png239251708.png


    • 5、根据返回的签名进行SDK配置

      • 在前端调用JS方法完成微信 JS SDK 初始化配置(建议将代码封装到模版命令中复用),代码如下:
        1. //wxConfigData 为上一步插件返回的生成签名
        2. function initWeChatSDK(wxConfigData, debug = false) {
        3.   return new Promise((resolve, reject) => {
        4.     // 配置微信 JS-SDK
        5.     wx.config({
        6.       debug: debug, // 调试模式
        7.       appId: wxConfigData.appId,
        8.       timestamp: wxConfigData.timestamp,
        9.       nonceStr: wxConfigData.nonceStr,
        10.       signature: wxConfigData.signature,
        11.       jsApiList: ['scanQRCode'] // 必填,需使用的 JS 接口列表
        12.     });

        13.     // 配置成功回调
        14.     wx.ready(() => {
        15.       console.log('微信 JS-SDK 配置成功');
        16.       resolve(); // 返回成功的 Promise
        17.     });

        18.     // 配置失败回调
        19.     wx.error((err) => {
        20.       console.error('微信 JS-SDK 配置失败', err);
        21.       reject(err); // 返回失败的 Promise
        22.     });
        23.   });
        24. }
        复制代码

    • 6、调用微信JS扫码API
      调用扫码功能,并将扫码结果写入指定单元格,示例如下:
      1. wx.scanQRCode({
      2.     needResult: 1, // 扫码结果直接返回
      3.     scanType: ["qrCode", "barCode"], // 可扫描的类型
      4.     success: function (res) {
      5.         let scanResult = res.resultStr;
      6.         // 将扫码数据写入单元格或存储到数据库
      7.         console.log(scanResult);
      8.     }
      9. });
      复制代码

    • 参考链接:
      1. https://developers.weixin.qq.com/doc/offiaccount/OA_Web_Apps/JS-SDK.html#2
      复制代码
      scan-code-signature-generation-command-1.0.0-jar-with-dependencies.zip (3 MB, 下载次数: 25)

评分

参与人数 3金币 +1000 满意度 +10 收起 理由
sz_xd + 5
amtath + 5
Simon.Sun + 1000 感谢分享!

查看全部评分

17 个回复

倒序浏览
1525755450
中级会员   /  发表于:2025-3-21 08:50:46
沙发
感谢大佬分享
回复 使用道具 举报
137294886
银牌会员   /  发表于:2025-3-21 21:59:40
板凳
感谢大佬分享
回复 使用道具 举报
遇见未知的自己
银牌会员   /  发表于:2025-3-22 08:36:13
地板

回复 使用道具 举报
sz_xd
金牌服务用户   /  发表于:2025-3-31 09:21:30
5#
早上好!感谢大佬分享!请问大佬你分享这微信扫码方法是要使用微信第三方登录才可以吗?还是不用微信第三方登录也可以使用的?烦请有空回复一下,谢谢!

回复 使用道具 举报
二麻子活字格认证
高级会员   /  发表于:2025-3-31 10:24:58
6#
sz_xd 发表于 2025-3-31 09:21
早上好!感谢大佬分享!请问大佬你分享这微信扫码方法是要使用微信第三方登录才可以吗?还是不用微信第三方 ...

没有关系,这两者是独立的功能,不登录也能扫码。
回复 使用道具 举报
sz_xd
金牌服务用户   /  发表于:2025-3-31 11:17:51
7#
本帖最后由 sz_xd 于 2025-3-31 11:32 编辑
二麻子 发表于 2025-3-31 10:24
没有关系,这两者是独立的功能,不登录也能扫码。

感谢大佬回复,发现你这是使用了一个票据插件进行的,请问这插件是你写的?
发现这插件需要活字格10.0.3 才可以使用,是否可以帮忙将这使版本适配至 活字格V9.0以上的版本? 谢谢!


当然,也希望能上传至活字格商城,以便有需要的格友一起分享使用,谢谢!




image.png921508178.png



image.png591558532.png



回复 使用道具 举报
二麻子活字格认证
高级会员   /  发表于:2025-3-31 11:36:20
8#
sz_xd 发表于 2025-3-31 11:17
感谢大佬回复,发现你这是使用了一个票据插件进行的,请问这插件是你写的?是否可以也上传至活字格商城, ...

是我写的。我想看有没有人出现BUG或者能改进下,上传是随时都可以的。
回复 使用道具 举报
二麻子活字格认证
高级会员   /  发表于:2025-3-31 11:40:15
9#
本帖最后由 二麻子 于 2025-3-31 13:29 编辑
sz_xd 发表于 2025-3-31 11:17
感谢大佬回复,发现你这是使用了一个票据插件进行的,请问这插件是你写的?
发现这插件需要活字格10.0.3 ...

改下就能用了,这个功能和活字格版本没有关系,理论上适用能运行Java插件的版本。

image.png628357238.png
回复 使用道具 举报
sz_xd
金牌服务用户   /  发表于:2025-3-31 12:01:05
10#
二麻子 发表于 2025-3-31 11:40
改下就能用了,这个功能和活字格版本没有关系,理论上适用所有版本。

非常感谢大佬支持,谢谢!

   


回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部