源码时代H5前端干货|3步教你快速实现微信SDK分享功能-朋友圈分享/微信分享

三步教你快速在VUE中使用微信SDK的分享功能-朋友圈分享/微信分享

前一阵子有很多小伙伴在向我咨询,vue开发微信分享怎么做?,当然我也在网上看了好多别人写的资料,发现好多文档写得那个文字呀!吓一跳。
当然,今天主要是大家分享代码中核心的内容,前面一些常规的步骤就直接跳过了,直接粗暴的讲重点,直接封装一个分享功能出来

1.在vue项目中安装sdk
如图:
源码时代H5前端干货|3步教你快速实现微信SDK分享功能-朋友圈分享/微信分享

export const shareDesc = '测试显示详情的内容';////此处写自己的分享的详情

/*
分享

  • @param _this
  • @param shareTitle 标题
  • @param shareUrl 链接
  • @param shareImg 图片
  • @param shareDesc 描述
    */
    export const commonShare = (_this, shareTitle, shareUrl, shareImg, shareDesc) => {
    let url = window.location.href;
    let data = {
    url: url
    };
    shareSDK(data).then(res => {
    if (res.status == 1) {
    let data = res.data;
    wx.config({
    debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
    appId: data.appId, // 必填,公众号的唯一标识
    timestamp: data.timestamp, // 必填,生成签名的时间戳
    nonceStr: data.nonceStr, // 必填,生成签名的随机串
    signature: data.signature, // 必填,签名,见附录1
    jsApiList: ["onMenuShareTimeline", "onMenuShareAppMessage"] // 必填,需要使用的JS接口列表,所有JS接口列表见附录2
    });
    wx.ready(function () {
    wx.onMenuShareTimeline({
    title: shareTitle, // 分享标题
    link: shareUrl, // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
    imgUrl: shareImg, // 分享图标
    success: function () {
    // 用户确认分享后执行的回调函数
    _this.$vux.toast.text('分享成功!!!');
    },
    cancel: function () {
    // 用户取消分享后执行的回调函数
    _this.$vux.toast.text('取消分享!!!');
    }
    });
    wx.onMenuShareAppMessage({
    title: shareTitle, // 分享标题
    desc: shareDesc, // 分享描述
    link: shareUrl, // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
    imgUrl: shareImg, // 分享图标
    type: "", // 分享类型,music、video或link,不填默认为link
    dataUrl: "", // 如果type是music或video,则要提供数据链接,默认为空
    success: function () {
    // 用户确认分享后执行的回调函数
    _this.$vux.toast.text('分享成功!!!');
    },
    cancel: function () {
    // 用户取消分享后执行的回调函数
    _this.$vux.toast.text('取消分享!!!');
    }
    });
    });
    }
    }).catch(err => {
    console.log(err)
    })
    };

2.在组件成引入分享功能
把上面的分享功能做好了后,只需要在自己需要使用分享的组件中进行引入即可,使用代码如下:
import {commonShare, shareTitle, shareUrl, shareImg, shareDesc} from "./utils/share";

commonShare(this, shareTitle, shareUrl, shareImg, shareDesc);

注意:
微信做分享功能,还需要接口地址(ip地址)加入白名单哦!否则也分享不了哟!如果没有操作过的朋友,请先登录微信公众平台进入“公众号设置”的“功能设置”里填写“JS接口安全域名”。

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

猜你喜欢

转载自blog.51cto.com/14497209/2431642