1.公众号配置
-
微信公众平台 mp.weixin.qq.com/
-
微信开发者工具下载: developers.weixin.qq.com/miniprogram…
-
登录微信公众号平台后,在【设置与开发】-【 开发者工具】-【web开发者工具】处绑定开发者微信账号
-
在【设置与开发】-【 接口权限】-【网页授权获取用户基本信息】处配置域名信息。(正式公众号只有开通微信认证号后才能配置,且配置地址只支持域名。测试号支持局域网IP或域名,踩坑点:配置时不用前面的http,只要IP+端口,例:xx.xx.xx.xx:8080 )
-
测试号页面:【设置与开发】-【 开发者工具】-【公众平台测试账号】,或者直接打开链接:mp.weixin.qq.com/debug/cgi-b… 测试号可以在未申请到公众号前进行调试,可以使用微信公众平台所有高级接口。
-
打开微信开发者工具,选择公众号网页开发,在地址栏输入授权地址: open.weixin.qq.com/connect/oau…
注1:redirect_uri使用encodeURIComponent(url)进行转码 注2: scope有两种模式snsapi_base/snsapi_userinfo, snsapi_base:用户无感,直接跳转到指定的redirect_uri, snsapi_userinfo弹窗让用户确认授权,进而获取用户的基本信息,头像、姓名等。 注3:跳转后的地址会携带授权码code,如:xx.xx.xx.xx:8080/?code=0313l… code可以用来获取网页授权access_token、openId(openId是微信用户唯一凭证),code只能使用一次.
2.JS-SDK使用
-
域名绑定:在【设置与开发】-【 公众号设置】-【功能设置】里设置JS接口安全域名,否则无法使用JSSDK的接口
-
引入JS文件:
- cdn地址: res2.wx.qq.com/open/js/jwe… (支持https)
- npm安装:npm install weixin-js-sdk,
- 引用:import wx from 'weixin-jsapi’
- 通过config接口注入权限验证配置
wx.config({
debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
appId: '', // 必填,公众号的唯一标识
timestamp: , // 必填,生成签名的时间戳
nonceStr: ‘’, // 必填,生成签名的随机串 ‘
signature: '',// 必填,签名
jsApiList: [] // 必填,需要使用的JS接口列表,比如调用扫一扫:’ scanQRCode’
});
踩坑点:
- 1、官方文档说验证成功后会执行wx.ready(function(){})回调,失败执行wx.error(function{}),实际是失败也会执行ready回调,所以需要在error时打失败标识, ready的时候判断标识是否成功
- 2、生成签名时需要当前URL做参数,vue项目使用history模式,在iOS真机上使用location.href做参数时会失败要使用进入项目的页面URL做参数
- 案例: 调用微信扫一扫
wx.scanQRCode({
needResult: 0, // 默认为0,扫描结果由微信处理,1则直接返回扫描结果,
scanType: ["qrCode","barCode"], // 可以指定扫二维码还是一维码,默认二者都有
success: function (res) {
var result = res.resultStr; // 当needResult 为 1 时,扫码返回的结果
}
});