微信公众号开发配置-JSSDK使用

1,207 阅读3分钟

1.公众号配置

  1. 微信公众平台 mp.weixin.qq.com/

  2. 官方文档: developers.weixin.qq.com/doc/offiacc…

  3. 微信开发者工具下载: developers.weixin.qq.com/miniprogram…

  4. 登录微信公众号平台后,在【设置与开发】-【 开发者工具】-【web开发者工具】处绑定开发者微信账号

  5. 在【设置与开发】-【 接口权限】-【网页授权获取用户基本信息】处配置域名信息。(正式公众号只有开通微信认证号后才能配置,且配置地址只支持域名。测试号支持局域网IP或域名,踩坑点:配置时不用前面的http,只要IP+端口,例:xx.xx.xx.xx:8080 )

  6. 测试号页面:【设置与开发】-【 开发者工具】-【公众平台测试账号】,或者直接打开链接:mp.weixin.qq.com/debug/cgi-b… 测试号可以在未申请到公众号前进行调试,可以使用微信公众平台所有高级接口。

  7. 打开微信开发者工具,选择公众号网页开发,在地址栏输入授权地址: 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使用

  1. 域名绑定:在【设置与开发】-【 公众号设置】-【功能设置】里设置JS接口安全域名,否则无法使用JSSDK的接口

  2. 引入JS文件:

  1. 通过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做参数
  1. 案例: 调用微信扫一扫
    wx.scanQRCode({ 
	needResult: 0, // 默认为0,扫描结果由微信处理,1则直接返回扫描结果, 
	scanType: ["qrCode","barCode"], // 可以指定扫二维码还是一维码,默认二者都有 
	success: function (res) { 
		var result = res.resultStr; // 当needResult 为 1 时,扫码返回的结果 
	} 
});