300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > 微信公众号分享配置无效。。分享出来的只是纯链接了 如何自定义微信公众号的分享

微信公众号分享配置无效。。分享出来的只是纯链接了 如何自定义微信公众号的分享

时间:2021-11-15 01:10:42

相关推荐

微信公众号分享配置无效。。分享出来的只是纯链接了 如何自定义微信公众号的分享

微信公众号分享配置无效。。分享出来的只是纯链接了

挺久没接微信公众号的项目开发了,最近突然接了一个,结果微信自定义分享给我整懵了。原本配置的好好的,屡试不爽的代码,居然死活不生效,开启debug,开发者工具调试都显示没问题,结果在微信上分享出来就是没有配置生效,而且连以往的默认样式都没有,就是一个页面链接给分享出来了。最后还是兄弟公司的测试提了一嘴,说,现在微信的分享,必须要放到公众号里才生效,他们遇到过。。。纳尼?沃特发。。。于是迫不及待赶紧把公众号的菜单配置上去,从公众号自定义菜单进去,尝试分享,结果真的是,很顺利就分享成功了。。。哎,我一直以为是微信开放文档有啥更新,对着文档研究了半天也没发现个所以然,很委屈呀,你说你微信规则有变动,为啥也不提醒提醒,文档都翻烂了,也没发现在哪里有相关说明。特此一记吧,也给大伙提个醒。

上方是直接通过链接点击进入分享出来的结果

这里是通过公众号的自定义菜单入口进入的分享,可以成功自定义分享

讲到这里了,顺便说一下如何自定义微信分享吧。直接上代码:

// 微信分享Vue.prototype.wxShare = function (myurl, shareSuccess, desc, title, imgUrl) {let vm = this;let urlname = window.location.href.split('#')[0];/*** 获取微信token信息* @return {[type]} [description]*/function getToken(callback) {axios.post('xxxxx获取签名算法啥的接口', {'url': urlname}).then(json => {if (json.data.code == 1) {Wx.config({debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。appId: json.data.token.appId, // 必填,公众号的唯一标识timestamp: json.data.token.timestamp, // 必填,生成签名的时间戳nonceStr: json.data.token.nonceStr, // 必填,生成签名的随机串signature: json.data.token.signature,// 必填,签名,见附录1jsApiList: ['onMenuShareTimeline', 'onMenuShareAppMessage', 'onMenuShareQQ', 'onMenuShareWeibo', 'onMenuShareQZone', 'hideMenuItems'] // 必填,需要使用的JS接口列表,所有JS接口列表见附录2});callback();} else {// alert('分享功能暂不能使用')// MessageBox('提示', json.data.msg + '分享功能暂不能使用');}}, () => {// alert('网络异常,获取微信参数失败')// MessageBox('提示', '网络异常,获取微信参数失败');});}// 分享内容、标题、链接等配置let shareConfig = {title: title||'默认名字',desc: desc||'默认描述',link: myurl||'默认链接',imgUrl: imgUrl||'默认图片地址',success: function () {if (shareSuccess) {shareSuccess();}},cancel: function () {alert('分享已取消');}};// 初始化分享函数调用function initShare() {Wx.ready(function () {// 分享到朋友圈Wx.onMenuShareTimeline(shareConfig);// 分享给朋友Wx.onMenuShareAppMessage(shareConfig);// 分享到QQWx.onMenuShareQQ(shareConfig);// 分享到腾讯微博Wx.onMenuShareWeibo(shareConfig);// 分享到QQ空间Wx.onMenuShareQZone(shareConfig);});}getToken(initShare);};

使用的时候只需在页面调用,然后传入对应的参数即可

var myurl = '你要分享出去的页面地址,可以携带一些特定业务参数';var desc = "分享的一些描述"var shareSuccess = truevar title = "分享的标题"var imgUrl = "图片地址,如果是商品详情很有可能是商品的主图之类的"this.wxShare(myurl,shareSuccess,desc,title,imgUrl);

值得一提的是,微信开放文档的说明

按说明1.4.0之后的分享要用最新的,但是实际上操作下来的话,它确实只是说即将废弃,但是如果你只写最新的接口,还是可能无法正常分享的,所以,如果你是1.4.0之后的版本,那就把老的和新的都写上。如果是1.4.0之前的,就只写老的接口就好了。

版本的话就在package.json里看。方法不是一成不变,时刻关注官方文档,以官方文档为主。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。