天天看点

公众号分享link 不能配置其他域名_微信分享功能

步骤一:绑定域名 

先登录微信公众平台进入“公众号设置”的“功能设置”里填写“JS接口安全域名”。 

备注:登录后可在“开发者中心”查看对应的接口权限。

请注意:你配置的域名是在哪里服务器上部署这,就需要将下载的文件,放在那台服务器上

公众号分享link 不能配置其他域名_微信分享功能

案例:https://supernote.com.cn/#/service

安全域名则为:supernote.com.cn

步骤二:引入JS文件 

在需要调用JS接口的页面引入如下JS文件,(支持https):http://res.wx.qq.com/open/js/jweixin-1.2.0.js

首先查看下官方文档,通过查看微信公众平台文档,找到需要的说明文档,明确开发步骤,说明文档截图如下 

在微信JS-SDK说明文档中找到 分享接口

地址:https://developers.weixin.qq.com/doc/offiaccount/OA_Web_Apps/JS-SDK.html

获得Access Token 和 jsapi_ticket这些需要后台去做

1、获得Access Token 

首先,登录公众号平台→基本配置:

配置白名单,从那台服务器请求access_token,就将那台服务器的ip配置进ip白名单内

公众号分享link 不能配置其他域名_微信分享功能
公众号分享link 不能配置其他域名_微信分享功能

2、获取access_tonken:

请求方式:GET所需参数:1、APPID 2、SECRET请求案例:https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=SECRET返回值:{"access_token":"ACCESS_TOKEN","expires_in":7200}
           

3、获取jsapi_ticket :

请求方式:GET所需参数:1、ACCESS_TOKEN(第一步返回access_token)请求案例:https://api.weixin.qq.com/cgi-bin/ticket/getticket?access_token=ACCESS_TOKEN&type=jsapi 返回值:{"errcode":0, "errmsg":"ok", "ticket":"bxLdikRXVbTP5u5sUoXNKd8-41ZO3MhKoyN5OfkWITA", "expires_in":7200}
           

4、获取签名signature:

所需参数:1、jsapi_ticket(第二步返回的ticket) 2、noncestr(随机数,需要记住后面还需要用) 3、timestamp(当前时间的时间戳,需要记住,后面还需要用)4、url(当前分享网页的URL,不包含#及其后面部分)计算方式:按先后顺序将上面的参数拼接成字符串,然后进行sha-1方式加密
           
案例:jsapi_ticket=HoagFKDcsGMVCIY2vOjf9tlkCzZ-PLZea0YV2NWWTCRLDW13OSkF-TfaDRDAmXl99mZ6jrQIR4usPcYOmP6oTgnoncestr=123456timestamp=1578725107url=https://supernote.com.cn拼接后的字符串 = jsapi_ticket=HoagFKDcsGMVCIY2vOjf9tlkCzZ-PLZea0YV2NWWTCRLDW13OSkF-TfaDRDAmXl99mZ6jrQIR4usPcYOmP6oTg&noncestr=123456&timestamp=1578725107&url=https://supernote.com.cn进行sha1加密后 = 1eaf14cf8d3949480af5a89e799b9190803f3366signature = 1eaf14cf8d3949480af5a89e799b9190803f3366
           

5、js

引入:// 微信分享默认调用接口var $appid,$timestamp,$noncestr,$signature,$description,$title1;//获取当前页面的urlvar linkUrl = window.location.href;//encodeURIComponent(),请求后台接口需要用encodeURIComponent()var encodeUrl = encodeURIComponent(linkUrl); $.ajax({type : "GET",url : "这里写你调用的后台接口"+"?url=" + encodeUrl,cache : false,async : false,success : function(msg) {var data = JSON.parse(msg);console.log(data);if(data.code == 200){$appid = data.data.appid; // appid$timestamp = data.data.timestamp; // timestamp$noncestr = data.data.noncestr; // noncestr$signature = data.data.signature; // signaturevar description = $("meta[name='description']").attr("content");if ($.trim(description) != "") {$description = $.trim(description); // share_desc}var title1 = document.title;if ($.trim(title1) != "") {$title1 = title1;// share_title}//**配置微信信息**wx.config ({debug : false,appId : $appid,timestamp : $timestamp,nonceStr : $noncestr,signature : $signature,jsApiList : [// 所有要调用的 API 都要加到这个列表中'onMenuShareTimeline','onMenuShareAppMessage','onMenuShareQQ','onMenuShareWeibo','onMenuShareQZone']});wx.ready (function () {// 微信分享的数据var shareData = {"imgUrl" : "","link" : linkUrl,"desc" : $description,"title" : $title1,success : function () {// 分享成功可以做相应的数据处理}};//分享微信朋友圈wx.onMenuShareTimeline (shareData);//分享给朋友wx.onMenuShareAppMessage({title: $title1, // 分享标题desc: $description, // 分享描述link: linkUrl, // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致imgUrl: "", // 分享图标type: '', // 分享类型,music、video或link,不填默认为linkdataUrl: '', // 如果type是music或video,则要提供数据链接,默认为空success: function () {// 用户点击了分享后执行的回调函数}});//分享到qqwx.onMenuShareQQ (shareData);//分享到微博wx.onMenuShareWeibo (shareData);//分享到qq空间wx.onMenuShareQZone(shareData);});}},error : function(msg){}});
           

以上便是分享到微信的所有步骤,开发过程中我们可以使用微信的测试账号

公众号分享link 不能配置其他域名_微信分享功能
公众号分享link 不能配置其他域名_微信分享功能
公众号分享link 不能配置其他域名_微信分享功能

测试期间需要扫码关注测试公众账号,才能正确的测试代码

结束