让每一名学员高薪就业
返回列表 发新帖

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

[复制链接]

135

主题

289

帖子

2658

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
2658

版主

发表于 2019-8-15 17:39:50  | 显示全部楼层 | 阅读模式
前一阵子有很多小伙伴在向我咨询,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接口安全域名”。

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

回复

使用道具 举报

0

主题

2

帖子

9

积分

菜鸟

Rank: 1

积分
9
发表于 2019-8-15 17:40:03  | 显示全部楼层
我是来水贴的。
回复 支持 反对

使用道具 举报

0

主题

6

帖子

7

积分

菜鸟

Rank: 1

积分
7
发表于 2019-8-15 17:46:29  | 显示全部楼层
谢谢您的分享!
回复 支持 反对

使用道具 举报

0

主题

4

帖子

10

积分

菜鸟

Rank: 1

积分
10
发表于 2019-8-15 17:47:23  | 显示全部楼层
好东西一定要看看!
回复 支持 反对

使用道具 举报

1

主题

2

帖子

5

积分

菜鸟

Rank: 1

积分
5
发表于 2019-8-15 17:50:20  | 显示全部楼层
老师,你上课么
回复 支持 反对

使用道具 举报

0

主题

10

帖子

11

积分

菜鸟

Rank: 1

积分
11
发表于 2019-8-15 17:50:40  | 显示全部楼层
我逐字逐句地看完这个帖子
回复 支持 反对

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

最新活动

联系我们

Java培训  |   PHP培训  |   UI培训  |   H5培训  |   Python培训  |   大数据培训  |   如何报名  |   视频下载
快速回复 返回顶部 返回列表