028-86261949

当前位置:首页 > 技术交流 > 快速教你在VUE中使用微信SDK的分享功能-朋友圈分享,微信分享

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

2019/08/15 15:16 分类: 技术交流 浏览:0

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

 

1、在vue项目中安装sdk

如图:

 

2、在项目中创建一个utils/share.js ,share.js为分享功能文件

import wx from 'weixin-js-sdk'//引入微信sdk组件

import {shareSDK} from "../api/common";//分享api

 

export const shareTitle = '这是一个有故事的酒局';//此处写自己的分享的标题

export const shareUrl = 'https://api.xxxx.com/test';//此处写自己的分享的地址

export const shareImg = 'https://api.xxx.com/test/logo.jpg';//此处写自己的分享的图像

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)

})

};

 

 

3、在组件成引入分享功能

把上面的分享功能做好了后,只需要在自己需要使用分享的组件中进行引入即可,使用代码如下:

import {commonShare, shareTitle, shareUrl, shareImg, shareDesc} from "./utils/share";

 

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

 

注意:

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

 

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

 

#标签:VUE,微信SDK,朋友圈分享,微信分享