weixin-js-sdk 本地调试方法

1,601 阅读3分钟

可体验功能

image.png

image.png

1. 申请/登录微信测试号

申请入口: 微信公众平台

mp.weixin.qq.com/debug/cgi-b…

首先,你需要登录微信测试号。只需关注测试号即可开始使用。

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

这里的appidsecret是测试号的相应信息。注意,获取到的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 () {
      // 设置成功
    },
  }) 
})

注意事项

  1. JS接口安全域名:在微信公众号后台的“公众号设置”中填写“JS接口安全域名”,这个域名在后续请求和JSSDK签名中都会用到。
  2. 签名中的URL:wx.config中签名用到的URL是前端页面的URL,例如https://www.baidu.com/。如果使用Vue的hash路由,只需在首页配置好wx.config即可。
  3. 内网穿透:如果遇到HTTPS请求问题,可以使用内网穿透工具,如小蝴蝶内网穿透,将请求转发到本地并解决SSL证书问题。

通过以上步骤,你可以在微信开发者工具中使用本地IP地址成功调试JSSDK。