项目需求: 对每个单页面进行微信分享的标题 描述 缩略图和链接设置
1:引入微信sdk文件 安装依赖
npm install weixin-js-sdk --save2:在assets下新建一个js文件 wx_share.js
import axioss from 'axios' import wx from 'weixin-js-sdk' //微信sdk依赖 const jsApiList = ['onMenuShareAppMessage', 'onMenuShareTimeline', 'onMenuShareQQ','onMenuShareWeibo'] //要用到微信AP // export function getJSSDK(dataForWeixin) { let gourl = window.location.href.split("#")[0]; let reqData = {}; reqData.gourl = gourl; axioss.get('http://weixin.yizijob.com/activity/gotoPage.do' , { params:reqData }).then(res => { console.log(res) wx.config({ debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。 //下面这里不用管 让后台看一下 让他返给你 appId: 'wxc6f2e83fc1f53576', // 必填,公众号的唯一标识 timestamp: res.data.content.timestamp, // 必填,生成签名的时间戳 nonceStr: res.data.content.nonceStr, // 必填,生成签名的随机串 signature: res.data.content.signature, // 必填,签名 jsApiList: [ 'onMenuShareAppMessage', 'onMenuShareQQ' ] // 必填,需要使用的JS接口列表 }) console.log(res) //打印测试 wx.ready(function () { wx.onMenuShareAppMessage({ title: dataForWeixin.title, desc: dataForWeixin.desc, link: dataForWeixin.linkurl, imgUrl: dataForWeixin.img, trigger: function trigger(res) { }, success: function success(res) { console.log('已分享'); }, cancel: function cancel(res) { console.log('已取消'); }, fail: function fail(res) { //alert(JSON.stringify(res)); } }); // 2.2 监听“分享到朋友圈”按钮点击、自定义分享内容及分享结果接口 wx.onMenuShareTimeline({ title: dataForWeixin.title, link: dataForWeixin.linkurl, imgUrl: dataForWeixin.img, trigger: function trigger(res) { // alert('用户点击分享到朋友圈'); }, success: function success(res) { //alert('已分享'); }, cancel: function cancel(res) { //alert('已取消'); }, fail: function fail(res) { //alert(JSON.stringify(res)); } }); // 2.3 监听“分享到QQ”按钮点击、自定义分享内容及分享结果接口 wx.onMenuShareQQ({ title: dataForWeixin.title, desc: dataForWeixin.desc, link: dataForWeixin.linkurl, imgUrl: dataForWeixin.img, trigger: function trigger(res) { //alert('用户点击分享到QQ'); }, complete: function complete(res) { //alert(JSON.stringify(res)); }, success: function success(res) { //alert('已分享'); }, cancel: function cancel(res) { //alert('已取消'); }, fail: function fail(res) { //alert(JSON.stringify(res)); } }); // 2.4 监听“分享到微博”按钮点击、自定义分享内容及分享结果接口 wx.onMenuShareWeibo({ title: dataForWeixin.title, desc: dataForWeixin.desc, link: dataForWeixin.linkurl, imgUrl: dataForWeixin.img, trigger: function trigger(res) { //alert('用户点击分享到微博'); }, complete: function complete(res) { //alert(JSON.stringify(res)); }, success: function success(res) { //alert('已分享'); }, cancel: function cancel(res) { //alert('已取消'); }, fail: function fail(res) { //alert(JSON.stringify(res)); } }); }) wx.error(function (res) { //alert("微信验证失败"); }); }) }3:在需要进行微信分享的vue页面进行引入方法
import { getJSSDK } from "@/assets/js/wx_share.js"; // 微信分享 mounted(){ let obj = { title: "my title", //分享标题 desc: 'my desc', //分享内容 linkurl: '##', //分享链接 img: "xxx.png", //分享内容显示的图片 } getJSSDK(obj) }