可体验功能
1. 申请/登录微信测试号
申请入口: 微信公众平台
首先,你需要登录微信测试号。只需关注测试号即可开始使用。
2. 添加JS接口安全域名和扫码关注公众号
登录后,进入微信公众号后台,添加JS接口安全域名,并扫码关注公众号。
不用填写 http或https
3. 获取access_token
根据微信文档-概述 | 微信开放文档附录1-jssdk权限签名算法和参考微信开放文档,在浏览器调用接口:
https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=你的appid&secret=你的appsecret
这里的appid和secret是测试号的相应信息。注意,获取到的access_token可以缓存起来,避免频繁获取导致不成功。
4. 获取jsapi_ticket
使用上一步获取的access_token,通过浏览器访问以下接口获取jsapi_ticket:
https://api.weixin.qq.com/cgi-bin/ticket/getticket?access_token=你在上一步获取的access_token&type=jsapi
5. 生成签名
使用获取到的jsapi_ticket,访问微信JS接口签名校验工具:
访问微信JS接口签名校验工具 mp.weixin.qq.com/debug/cgi-b…
微信 JS 接口签名校验工具: mp.weixin.qq.com/debug/cgi-b…
填入jsapi_ticket、noncestr(随机字符串,可写死)、timestamp(当前时间戳,单位秒)和url(本地项目服务的IP地址,访问地址#号之前的内容),点击生成签名。
6. 配置wx.config
将生成的签名放入wx.config配置对象中,完成配置。
import wx from "weixin-js-sdk"; // 引入jssdk npm包
wx.config({
debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印
appId: res.wxAppId, // 必填,公众号的唯一标识
timestamp: res.timestamp, // 必填,生成签名的时间戳
nonceStr: res.noncestr, // 必填,生成签名的随机串
signature: res.signature, // 必填,签名
jsApiList: ['updateAppMessageShareData', 'updateTimelineShareData'],
// openTagList: ['wx-open-launch-app'], // 可选,需要使用的开放标签列表,例如['wx-open-launch-app']
})
// 成功回调
wx.ready(() => {
resolve(true)
this.isReady = true
console.log('wx ready')
// jsWx.showMenuItems({
// menuList: ['menuItem:share:appMessage', 'menuItem:share:timeline'], // 要显示的菜单项,所有 menu 项见附录3
// })
wx.updateAppMessageShareData({
title: params.title, // 分享标题
desc: params.desc, // 分享描述
link: params.link, // 分享链接,该链接域名或路径必须与当前页面对应的公众号 JS 安全域名一致
imgUrl: params.imgUrl, // 分享图标
success: function () {
},
})
wx.updateTimelineShareData({
title: params.title, // 分享标题
link: params.link, // 分享链接,该链接域名或路径必须与当前页面对应的公众号 JS 安全域名一致
imgUrl: params.imgUrl, // 分享图标
success: function () {
// 设置成功
},
})
})
注意事项
- JS接口安全域名:在微信公众号后台的“公众号设置”中填写“JS接口安全域名”,这个域名在后续请求和JSSDK签名中都会用到。
- 签名中的URL:wx.config中签名用到的URL是前端页面的URL,例如
https://www.baidu.com/。如果使用Vue的hash路由,只需在首页配置好wx.config即可。 - 内网穿透:如果遇到HTTPS请求问题,可以使用内网穿透工具,如小蝴蝶内网穿透,将请求转发到本地并解决SSL证书问题。
通过以上步骤,你可以在微信开发者工具中使用本地IP地址成功调试JSSDK。