微信jssdk升级公告微信JS-SDK是微信公众平台 面向网页开发者提供的基于微信内的网页开发工具包。通过使用微信JS-SDK,网页开发者可借助微信高效地使用拍照、选图、语音、位置等手机系统的能力,同时可以直接使用微信分享、扫一扫、卡券、支付等微信特有的能力,为微信用户提供更优质的网页体验。
此文档面向网页开发者介绍微信JS-SDK如何使用及相关注意事项。
步骤一:绑定域名
先登录微信公众平台进入“公众号设置”的“功能设置”里填写“JS接口安全域名”。
备注:登录后可在“开发者中心”查看对应的接口权限。
步骤二:引入JS文件
在需要调用JS接口的页面引入如下JS文件,(支持https):http://res.wx.qq.com/open/js/jweixin-1.4.0.js
如需进一步提升服务稳定性,当上述资源不可访问时,可改访问:http://res2.wx.qq.com/open/js/jweixin-1.4.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接口列表
- });
复制代码 步骤四:通过ready接口处理成功验证
- wx.ready(function(){
- // config信息验证后会执行ready方法,所有接口调用都必须在config接口获得结果之后,config是一个客户端的异步操作,所以如果需要在页面加载时就调用相关接口,则须把相关接口放在ready函数中调用来确保正确执行。对于用户触发时才调用的接口,则可以直接调用,不需要放在ready函数中。
- });
复制代码 步骤五:通过error接口处理失败验证
- wx.error(function(res){
- // config信息验证失败会执行error函数,如签名过期导致验证失败,具体错误信息可以打开config的debug模式查看,也可以在返回的res参数中查看,对于SPA可以在这里更新签名。
- });
复制代码 接口调用说明
所有接口通过wx对象(也可使用jWeixin对象)来调用,参数是一个对象,除了每个接口本身需要传的参数之外,还有以下通用参数:
success:接口调用成功时执行的回调函数。
fail:接口调用失败时执行的回调函数。
complete:接口调用完成时执行的回调函数,无论成功或失败都会执行。
cancel:用户点击取消时的回调函数,仅部分有用户取消操作的api才会用到。
trigger: 监听Menu中的按钮点击时触发的方法,该方法仅支持Menu中的相关接口。
备注:不要尝试在trigger中使用ajax异步请求修改本次分享的内容,因为客户端分享操作是一个同步操作,这时候使用ajax的回包会还没有返回。
以上几个函数都带有一个参数,类型为对象,其中除了每个接口本身返回的数据之外,还有一个通用属性errMsg,其值格式如下:
调用成功时:"xxxk" ,其中xxx为调用的接口名
用户取消时:"xxx:cancel",其中xxx为调用的接口名
调用失败时:其值为具体错误信息
基础接口
判断当前客户端版本是否支持指定JS接口
- wx.checkJsApi({
- jsApiList: ['chooseImage'], // 需要检测的JS接口列表,所有JS接口列表见附录2,
- success: function(res) {
- // 以键值对的形式返回,可用的api值true,不可用为false
- // 如:{"checkResult":{"chooseImage":true},"errMsg":"checkJsApi:ok"}
- }
- });
复制代码 备注:checkJsApi接口是客户端6.0.2新引入的一个预留接口,第一期开放的接口均可不使用checkJsApi来检测。
分享接口
请注意,不要有诱导分享等违规行为,对于诱导分享行为将永久回收公众号接口权限,详细规则请查看:朋友圈管理常见问题
请注意,原有的 wx.onMenuShareTimeline、wx.onMenuShareAppMessage、wx.onMenuShareQQ、wx.onMenuShareQZone 接口,即将废弃。请尽快迁移使用客户端6.7.2及JSSDK 1.4.0以上版本支持的 wx.updateAppMessageShareData、wx.updateTimelineShareData接口。
自定义“分享给朋友”及“分享到QQ”按钮的分享内容(1.4.0)
- wx.ready(function () { //需在用户可能点击分享按钮前就先调用
- wx.updateAppMessageShareData({
- title: '', // 分享标题
- desc: '', // 分享描述
- link: '', // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
- imgUrl: '', // 分享图标
- success: function () {
- // 设置成功
- }
- })
- });
复制代码 自定义“分享到朋友圈”及“分享到QQ空间”按钮的分享内容(1.4.0)
- <div>wx.ready(function () { //需在用户可能点击分享按钮前就先调用</div><div> wx.updateTimelineShareData({ </div><div> title: '', // 分享标题</div><div> link: '', // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致</div><div> imgUrl: '', // 分享图标</div><div> success: function () {</div><div> // 设置成功</div><div> }</div><div> })</div><div>}); </div>
复制代码 获取“分享到朋友圈”按钮点击状态及自定义分享内容接口(即将废弃)
- wx.onMenuShareTimeline({
- title: '', // 分享标题
- link: '', // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
- imgUrl: '', // 分享图标
- success: function () {
- // 用户点击了分享后执行的回调函数
- }
- };
复制代码 获取“分享给朋友”按钮点击状态及自定义分享内容接口(即将废弃)
- wx.onMenuShareAppMessage({
- title: '', // 分享标题
- desc: '', // 分享描述
- link: '', // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
- imgUrl: '', // 分享图标
- type: '', // 分享类型,music、video或link,不填默认为link
- dataUrl: '', // 如果type是music或video,则要提供数据链接,默认为空
- success: function () {
- // 用户点击了分享后执行的回调函数
- }
- });
复制代码 获取“分享到QQ”按钮点击状态及自定义分享内容接口(即将废弃)
- wx.onMenuShareQQ({
- title: '', // 分享标题
- desc: '', // 分享描述
- link: '', // 分享链接
- imgUrl: '', // 分享图标
- success: function () {
- // 用户确认分享后执行的回调函数
- },
- cancel: function () {
- // 用户取消分享后执行的回调函数
- }
- });
复制代码 获取“分享到QQ空间”按钮点击状态及自定义分享内容接口(即将废弃)
- wx.onMenuShareQZone({
- title: '', // 分享标题
- desc: '', // 分享描述
- link: '', // 分享链接
- imgUrl: '', // 分享图标
- success: function () {
- // 用户确认分享后执行的回调函数
- },
- cancel: function () {
- // 用户取消分享后执行的回调函数
- }
- });
复制代码 界面操作
关闭当前网页窗口接口
批量隐藏功能按钮接口
- <div>wx.hideMenuItems({</div><div> menuList: [] // 要隐藏的菜单项,只能隐藏“传播类”和“保护类”按钮,所有menu项见附录3</div><div>});</div>
复制代码
批量显示功能按钮接口
- <div>wx.showMenuItems({</div><div> menuList: [] // 要显示的菜单项,所有menu项见附录3</div><div>});</div>
复制代码
隐藏所有非基础按钮接口
- <div>wx.hideAllNonBaseMenuItem();</div><div>// “基本类”按钮详见附录3</div>
复制代码
显示所有功能按钮接口
- wx.showAllNonBaseMenuItem();
复制代码
|
|
|
|
|
共 0 个关于本帖的回复 最后回复于 2019-12-21 11:11