以前想调用微信的那些分享给朋友,分享到朋友圈等等功能,可以靠黑接口,现在越来越严格,必须调用微信提供的jdk,而微信的jdk的文档,看起来还是蛮吃力的,整理下使用过程中的点滴。
微信jdk
文档地址:https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421141115
开发者工具:https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1455784140
对于前端,最终使用时,其实就是
1、引入库文件;
2、通过config接口注入权限验证配置:
wx.config({ debug:true, appId:'', timestamp:'', nonceStr:'', signature:'', jsApiList:[] });
3、定义api方法
wx.ready(function(){ wx.onMenuShareTimeline({ title: 'xxx', // 分享标题 link: 'xxxx', // 分享链接 imgUrl: 'xxxx', // 分享图标 success: function () { // 用户确认分享后执行的回调函数 }, cancel: function () { // 用户取消分享后执行的回调函数 } }); })
而使用中,会发现,要么报签名非法,要么就是域名非法,因为需要好几个操作:
1、在公众号后台绑定域名(暂时微信规定每个月只能改三次,而且只能设定三个域名);
2、登记ip白名单(此ip可能是深井ip,我是通过服务端代码记录的错误日志查出来,然后加上去的)
3、服务端存下微信提供的一个访问凭证文件,并保证根目录即可访问(处理需要服务端协助);
4、并且网站必须对外可访问;
5、服务端根据签名算法,获取签名,并缓存提供给前端使用
可以申请一个个人公众号,找对应的开发者设置,不过个人公众号,是没有调用jdk那些权限,但相关配置可以全部看到了,企业级开发照着配置就能走通了。