JavaScript

超轻量级php框架startmvc

vue项目中实现的微信分享功能示例

更新时间:2020-08-12 14:54:01 作者:startmvc
本文实例讲述了vue项目中实现的微信分享功能。分享给大家供大家参考,具体如下:/*微信

本文实例讲述了vue项目中实现的微信分享功能。分享给大家供大家参考,具体如下:


/* 微信分享 */
Vue.prototype.wechatShare = (shareData) => {
 let resource = {
 title: '随我心愿!',
 desc: '体验优质服务',
 link: 'https://www.abc.cn/',
 img: 'https://www.abc.cn/images/share_logo.jpg'
 }
 let obj = Object.assign({}, resource, shareData)
 let params = {url: window.location.href}
 $post('/vue/weixinjiekou', params).then(data => {
 // 分享标题等参数
 const shareTitle = obj.title
 const shareDesc = obj.desc
 const shareLink = obj.userShare ? obj.link + data.flag : obj.link
 const shareImgUrl = obj.img
 const config = {
 title: shareTitle, // 分享标题
 desc: shareDesc, // 分享描述
 link: shareLink, // 分享链接
 imgUrl: shareImgUrl, // 分享图标
 type: '', // 分享类型,music、video或link,不填默认为link
 dataUrl: '', // 如果type是music或video,则要提供数据链接,默认为空
 success: function () {},
 cancel: function () {}
 }
 wechat.config({
 debug: false,
 appId: data.appid, // 和获取Ticke的必须一样------必填,公众号的唯一标识
 timestamp: data.timestamp, // 必填,生成签名的时间戳
 nonceStr: data.noncestr, // 必填,生成签名的随机串
 signature: data.signature, // 必填,签名,见附录1
 // 需要分享的列表项:发送给朋友,分享到朋友圈,分享到QQ,分享到QQ空间
 jsApiList: [
 'onMenuShareTimeline', 'onMenuShareAppMessage', 'onMenuShareQQ', 'onMenuShareWeibo',
 'onMenuShareQZone', 'startRecord', 'stopRecord', 'onVoiceRecordEnd', 'playVoice',
 'pauseVoice', 'stopVoice', 'onVoicePlayEnd', 'uploadVoice', 'downloadVoice',
 'chooseImage', 'previewImage', 'uploadImage', 'downloadImage', 'translateVoice',
 'getNetworkType', 'openLocation', 'getLocation', 'hideOptionMenu', 'showOptionMenu',
 'hideMenuItems', 'showMenuItems', 'hideAllNonBaseMenuItem', 'showAllNonBaseMenuItem',
 'closeWindow', 'scanQRCode', 'chooseWXPay', 'openProductSpecificView', 'addCard',
 'chooseCard', 'openCard'
 ]
 })
 // 处理验证失败的信息
 wechat.error(function (res) {
 console.log('验证失败返回的信息:', res)
 })
 // 处理验证成功的信息
 wechat.ready(function () {
 // 分享给朋友
 wechat.onMenuShareAppMessage(config)
 // 分享到朋友圈
 wechat.onMenuShareTimeline(config)
 // 分享到qq
 wechat.onMenuShareQZone(config)
 // 分享到微博
 wechat.onMenuShareWeibo(config)
 // 分享到qq空间
 wechat.onMenuShareQZone(config)
 })
 })
}

微信接口信息


{
 "result": {
 "appid": "appid",
 "noncestr": "随机串",
 "signature": "签名",
 "timestamp": 时间戳,
 "flag": 6
 },
 "status": "y"
}

希望本文所述对大家vue.js程序设计有所帮助。

vue 微信分享