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


Posted in Javascript onJanuary 21, 2019

本文实例讲述了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程序设计有所帮助。

Javascript 相关文章推荐
javascript parseInt 函数分析(转)
Mar 21 Javascript
你可能不知道的JavaScript的new Function()方法
Apr 17 Javascript
Bootstrap每天必学之标签页(Tab)插件
Aug 09 Javascript
用JS写的一个Ajax库(实例代码)
Aug 06 Javascript
js 转json格式的字符串为对象或数组(前后台)的方法
Nov 02 Javascript
简单学习vue指令directive
Nov 03 Javascript
AngularJS压缩JS技巧分析
Nov 08 Javascript
使用JS获取SessionStorage的值
Jan 12 Javascript
jquery点击回车键实现登录效果并默认焦点的方法
Mar 09 jQuery
基于vue-cli3和element实现登陆页面
Nov 13 Javascript
Js参数RSA加密传输之jsencrypt.js的使用
Feb 07 Javascript
vue瀑布流组件实现上拉加载更多
Mar 10 Javascript
在vue项目中引入highcharts图表的方法
Jan 21 #Javascript
js的对象与函数详解
Jan 21 #Javascript
JS实现求5的阶乘示例
Jan 21 #Javascript
JS实现数组去重,显示重复元素及个数的方法示例
Jan 21 #Javascript
js中innerText/textContent和innerHTML与target和currentTarget的区别
Jan 21 #Javascript
Vue 表情包输入组件的实现代码
Jan 21 #Javascript
JS实现将对象转化为数组的方法分析
Jan 21 #Javascript
You might like
php 深入理解strtotime函数的使用详解
2013/05/23 PHP
PHP中的socket_read和socket_recv区别详解
2015/02/09 PHP
PHP计算指定日期所在周的开始和结束日期的方法
2015/03/24 PHP
php+ajax实现无刷新分页
2015/11/18 PHP
Yii中CGridView禁止列排序的设置方法
2016/07/12 PHP
JS setCapture 区域外事件捕捉
2010/03/18 Javascript
javascript innerHTML使用分析
2010/12/03 Javascript
jquery事件重复绑定的快速解决方法
2014/01/03 Javascript
防止jQuery ajax Load使用缓存的方法小结
2014/02/22 Javascript
使用jquery中height()方法获取各种高度大全
2014/04/02 Javascript
Vue.JS入门教程之自定义指令
2016/12/08 Javascript
Spring Boot+AngularJS+BootStrap实现进度条示例代码
2017/03/02 Javascript
基于Vue2.0的分页组件
2017/03/16 Javascript
详解使用React全家桶搭建一个后台管理系统
2017/11/04 Javascript
jQuery实现所有验证通过方可提交的表单验证
2017/11/21 jQuery
手写简单的jQuery雪花飘落效果实例
2018/04/22 jQuery
Angular6 Filter实现页面搜索的示例代码
2018/12/02 Javascript
如何实现小程序tab栏下划线动画效果
2019/05/18 Javascript
layer.open 获取不到表单信息的解决方法
2019/09/26 Javascript
对python中的乘法dot和对应分量相乘multiply详解
2018/11/14 Python
Centos部署django服务nginx+uwsgi的方法
2019/01/02 Python
使用pyecharts生成Echarts网页的实例
2019/08/12 Python
django 链接多个数据库 并使用原生sql实现
2020/03/28 Python
Pytorch损失函数nn.NLLLoss2d()用法说明
2020/07/07 Python
Python接收手机短信的代码整理
2020/08/02 Python
Python爬虫scrapy框架Cookie池(微博Cookie池)的使用
2021/01/13 Python
浅谈cookie和localStorage那些事
2019/08/27 HTML / CSS
Myprotein葡萄牙官方网站:英国优质运动营养品牌
2016/09/12 全球购物
Rockport乐步美国官网:风靡美国的白宫鞋
2016/11/24 全球购物
单位成立周年感言
2014/01/26 职场文书
小学社会实践活动总结
2014/07/03 职场文书
债务纠纷委托书范本
2014/10/14 职场文书
优秀团队申报材料
2014/12/26 职场文书
2015年电气技术员工作总结
2015/07/24 职场文书
2015年秋季运动会广播稿
2015/08/19 职场文书
mysql的Buffer Pool存储及原理
2022/04/02 MySQL