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仿qq界面的折叠菜单实现代码
Dec 12 Javascript
Javascript 正则表达式实现为数字添加千位分隔符
Mar 10 Javascript
js实现人才网站职位选择功能的方法
Aug 14 Javascript
WebSocket+node.js创建即时通信的Web聊天服务器
Aug 08 Javascript
js仿微博动态栏功能
Feb 22 Javascript
详解Node 定时器
Feb 26 Javascript
node.js使用redis储存session的方法
Sep 26 Javascript
Node.js原生api搭建web服务器的方法步骤
Feb 15 Javascript
JavaScript canvas实现雪花随机动态飘落
Feb 08 Javascript
vue实现多个echarts根据屏幕大小变化而变化实例
Jul 19 Javascript
微信小程序绘制半圆(弧形)进度条
Nov 18 Javascript
express异步函数异常捕获示例详解
Nov 30 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
GD输出汉字的函数的分析
2006/10/09 PHP
PHP 服务器配置(使用Apache及IIS两种方法)
2009/06/01 PHP
zen cart新进商品的随机排序修改方法
2010/09/10 PHP
PHP缩略图等比例无损压缩,可填充空白区域补充色
2011/06/10 PHP
用Simple Excel导出xls实现方法
2012/12/06 PHP
php笔记之:php数组相关函数的使用
2013/04/26 PHP
windows7下安装php的php-ssh2扩展教程
2014/07/04 PHP
解读PHP中上传文件的处理问题
2016/05/29 PHP
PHP导出带样式的Excel示例代码
2016/08/28 PHP
php运行报错Call to undefined function curl_init()的最新解决方法
2016/11/20 PHP
PHP观察者模式示例【Laravel框架中有用到】
2018/06/15 PHP
用js解决数字不能换行问题
2010/08/10 Javascript
打开新窗口关闭当前页面不弹出关闭提示js代码
2013/03/18 Javascript
node.js中的console.error方法使用说明
2014/12/10 Javascript
jQuery实现自定义事件的方法
2015/04/17 Javascript
JS+CSS实现下拉列表框美化效果(3款)
2015/08/15 Javascript
JS实现横向拉伸动感伸缩菜单效果代码
2015/09/04 Javascript
js实现的简练高效拖拽功能示例
2016/12/21 Javascript
js字符串与Unicode编码互相转换
2017/05/17 Javascript
AngularJs点击状态值改变背景色的实例
2017/12/18 Javascript
详解VUE2.X过滤器的使用方法
2018/01/11 Javascript
Vue指令指令大全
2019/02/09 Javascript
[52:52]DOTA2上海特级锦标赛C组资格赛#1 OG VS LGD第三局
2016/02/27 DOTA
python多线程http下载实现示例
2013/12/30 Python
简单介绍Ruby中的CGI编程
2015/04/10 Python
python使用pyqt写带界面工具的示例代码
2017/10/23 Python
Python设计模式之命令模式原理与用法实例分析
2019/01/11 Python
Python协程 yield与协程greenlet简单用法示例
2019/11/22 Python
python实现井字棋小游戏
2020/03/04 Python
天美时手表加拿大官网:Timex加拿大
2016/09/01 全球购物
加拿大在线眼镜零售商:SmartBuyGlasses加拿大
2019/05/25 全球购物
Kappa英国官方在线商店:服装和运动器材
2020/11/22 全球购物
2014年五四青年节活动策划书
2014/04/22 职场文书
公司外出活动方案
2014/08/14 职场文书
2014年企业党支部工作总结
2014/12/04 职场文书
2015年元旦主持词结束语
2014/12/14 职场文书