当前位置:   article > 正文

微信分享 h5 实现_h5微信分享

h5微信分享

业务场景:

实现h5页面分享,并将分享的链接携带参数,在微信中使用

问题:

最初开发的时候分享功能已经实现了,可以分享qq,qq空间,但是微信朋友,微信朋友圈分享的效果无法以分享卡片的形式体现

解决:

只有将访问h5的链接挂在公众号的自定义菜单下才可以实现微信中分享朋友圈及朋友以卡片形式展现

代码搞一波:

  1. //utils.js
  2. import wx from 'weixin-js-sdk' //用uniapp在项目根目录下npm i weixin-js-sdk
  3. //微信分享
  4. function wechatShare(shareData, url) {
  5. //这是后端写的接口,需要用后端返回内容配置微信分享的参数
  6. findWxShareConfigInfo().then((res)=>{
  7. let {appId,nonceStr,signature,timestamp}=res;
  8. const jsApiList=[
  9. 'checkJsApi', //检测接口权限
  10. 'updateTimelineShareData',
  11. 'updateAppMessageShareData',
  12. 'onMenuShareAppMessage', //老版本分享接口(注意这两个旧版本的必须要放的不然会有问题)
  13. 'onMenuShareTimeline' //老版本分享接口。
  14. ];
  15. wx.config({
  16. debug:false,
  17. appId:res.appId,
  18. timestamp:res.timestamp,
  19. nonceStr:res.nonceStr,
  20. signature:res.signature,
  21. jsApiList
  22. });
  23. wx.ready(() => {
  24. share(shareData);
  25. // 自定义“分享给朋友”及“分享到QQ”按钮的分享内容(1.4.0)
  26. });
  27. wx.error(function(res){
  28. console.log(res.errMsg);
  29. })
  30. // 判断客户端是否支持指定js的接口
  31. wx.checkJsApi({
  32. jsApiList,
  33. success: function (res) {
  34. // return res
  35. console.log('判断客户端支持js接口', res)
  36. },
  37. })
  38. })
  39. };
  40. function share(param) {
  41. var title = param.title
  42. var imgUrl = param.image
  43. var description = param.desc
  44. var url = param.url
  45. var tempParam = {
  46. title: title,
  47. desc: description,
  48. link: url,
  49. imgUrl: imgUrl,
  50. success: (res) => {
  51. console.log(res)
  52. },
  53. cancel: function (res) {
  54. console.log('分享失败', res)
  55. },
  56. }
  57. // //分享给朋友
  58. wx.onMenuShareAppMessage(tempParam)
  59. // //分享给朋友圈
  60. wx.onMenuShareTimeline(tempParam)
  61. // // 分享给朋友
  62. wx.updateAppMessageShareData(tempParam)
  63. wx.updateTimelineShareData(tempParam)
  64. }
  65. module.exports={
  66. wechatShare
  67. }

 vue中使用

  1. <script>
  2. import{wechatShare} from '@/utils/index.js';//引用文件中方法
  3. export default{
  4. data(){
  5. return{
  6. }
  7. },
  8. onLoad(){
  9. this.shareCard(val);
  10. },
  11. methods:{
  12. shareCard(val){
  13. wechatShare({
  14. title:val.title,
  15. desc:val.content,
  16. url:val.url,
  17. image:val.iconImg
  18. },val.url);
  19. },
  20. }
  21. }
  22. </script>

注意:

这个分享只是将分享的卡片自定义了,并不能点击页面任意按钮实现分享,需要点击右上角三个点拉起工具栏,分享

至于怎么自定义通过网页按钮拉起微信工具栏还需要在按钮中写:

  1. function onBridgeReady() {
  2.     WeixinJSBridge.call('hideToolbar');//隐藏工具条
  3.  
  4.     //WeixinJSBridge.call('showToolbar');//显示工具条
  5. }
  6.  
  7. if (typeof WeixinJSBridge == "undefined") {
  8.     if (document.addEventListener) {
  9.         document.addEventListener('WeixinJSBridgeReady', onBridgeReady, false);
  10.     } else if (document.attachEvent) {
  11.         document.attachEvent('WeixinJSBridgeReady', onBridgeReady);
  12.         document.attachEvent('onWeixinJSBridgeReady', onBridgeReady);
  13.     }
  14. } else {
  15.     onBridgeReady();
  16. }

收获:

今天微信开发的分享就到这里了,希望我填的坑对你有所帮助 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/花生_TL007/article/detail/268041
推荐阅读
相关标签
  

闽ICP备14008679号