JSSDK使用步骤
微信网页开发 /JS-SDK说明文档
步骤一、绑定域名.
先登录微信公众平台进入“公众号设置”的“功能设置”里填写“JS接口安全域名”。
备注:登录后可在“开发者中心”查看对应的接口权限。
步骤二:引入 JS 文件
在需要调用JS接口的页面引入如下JS文件,(支持https):http://res.wx.qq.com/open/js/jweixin-1.6.0.js
如需进一步提升服务稳定性,当上述资源不可访问时,可改访问:http://res2.wx.qq.com/open/js/jweixin-1.6.0.js (支持https)。
备注:支持使用 AMD/CMD 标准模块加载方法加载
步骤三:通过config接口注入权限验证配置
所有需要使用JS-SDK的页面必须先注入配置信息,否则将无法调用(同一个url仅需调用一次,对于变化url的SPA的web app可在每次url变化时进行调用,目前Android微信客户端不支持pushState的H5新特性,所以使用pushState来实现web app的页面会导致签名失败,此问题会在Android6.2中修复)。
wx.config({
debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
appId: '', // 必填,公众号的唯一标识
timestamp: , // 必填,生成签名的时间戳
nonceStr: '', // 必填,生成签名的随机串
signature: '',// 必填,签名
jsApiList: [] // 必填,需要使用的JS接口列表
});
重点讲述:
完成以上步骤后,我们需要进行验证
一、验证签名是否有效
- 获取 access_token,填写 appid 和 secret 就能获取到
微信公众平台接口调试工具
-
通过 access_token 获取 jsapi_ticket ,下面的链接放到浏览器,you_access_token 替换成刚刚得到的 access_token 就能得到 jsapi_ticket
https://api.weixin.qq.com/cgi-bin/ticket/getticket?access_token=you_access_token&type=jsapi&utm_source=yourwebset
成功后会返回ticket
-
在微信 JS 接口签名校验工具里面,获取到 signature 。如果这里获取到的 signature 和你得出的 signature 一致,就证明你的 signature 是正确的。然后要排查域名设置的问题,如下:
将获取的ticket、生成签名的时间戳、生成签名的随机串以及签名跳转到一下链接进行验证
微信 JS 接口签名校验工具
https://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=jsapisign
注意:生成签名的时间戳、生成签名的随机串以及签名需要后端接口进行返回 —给你个小板栗(例子) -
从接口返回所需参数 直接封装在mintPrompt.js(根据项目需求来,可以一步到位,不需要和我一样写在下面两个js文件中)
import Share from "@/components/public/share.js";
const soureUrl = window.location.href;
const mintPrompt = {
share(obj) {
if (!obj) {
return;
}
let shareUrl = window.location.href;
const url = soureUrl.split("#")[0];
const data = {
url
};
// 与路由路