微信分享实现只显示分享给朋友或特定按钮
业务场景
new: 微信最新的分享策略会导致通过链接进入网页的只能分享出来链接而不是之前的分享卡片。卡片显示信息还是很重要的所以复制链接这个功能按钮也需要屏蔽掉。
微信内要是分享过多被恶意举报为诱导分享的话公众号或域名被封的概率会很大,解封也很麻烦,所以我们需要及尽量的优化分享减少不必要的跟有风险的分享项,
风险项的例如:分享到QQ,分享到企业微信等可能还会让域名在这二者内被封禁;
非必要项的例如:分享到腾讯微博,分享到朋友圈;腾讯微博早已停运,朋友圈很少人分享;
实现方式
方案一:逐项屏蔽
利用微信提供的hideMenuItems
来进行,把需要屏蔽的都放进数组内即可
缺点是如果微信新增了传播类的按钮就需要再手动添加进配置内了。
wx.hideMenuItems({menuList: ['menuItem:share:weiboApp',] // 要隐藏的菜单项,只能隐藏“传播类”和“保护类”按钮,所有 menu 项见附录3
});
方案二:只显示需要的
微信右上角打开的菜单很多在文档中并没有详细的展示,想要挨个屏蔽不太现实,所以只能反向操作,先借助隐藏所有非基础按钮接口这个功能API来屏蔽所有的功能按钮,再借助wx.showMenuItems
来拉起我们需要展示的功能按钮。
wx.hideAllNonBaseMenuItem();
// “基本类”按钮详见附录3
具体代码如下:在wx.ready之后先屏蔽所有菜单项,再用wx.showmeMenuItems
去拉起业务需要展示的按钮。
wx.ready(function () {wx.hideAllNonBaseMenuItem();wx.showmeMenuItems({menuList: ['menuItem:share:appMessage','menuItem:favorite'] // 要显示的菜单项,所有menu项见附录3})
})