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中的有名函数和无名函数
Oct 17 Javascript
JavaScript arguments 多参传值函数
Oct 24 Javascript
JS特权方法定义作用以及与公有方法的区别
Mar 18 Javascript
javascript嵌套函数和在函数内调用外部函数的区别分析
Jan 31 Javascript
javascript获取wx.config内部字段解决微信分享
Mar 09 Javascript
JavaScript对象数组排序实例方法浅析
Jun 15 Javascript
JavaScipt选取文档元素的方法(推荐)
Aug 05 Javascript
详解能在多种前端框架下使用的表格控件
Jan 11 Javascript
原生js实现电商侧边导航效果
Jan 19 Javascript
从setTimeout看js函数执行过程
Dec 19 Javascript
微信小程序scroll-view组件实现滚动动画
Jan 31 Javascript
vue本地打开build后生成的dist文件夹index.html问题
Sep 04 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扩展图文教程
2008/12/12 PHP
php获取指定范围内最接近数的方法
2015/06/02 PHP
PHP 二维array转换json的实例讲解
2018/08/21 PHP
laravel Model 执行事务的实现
2019/10/10 PHP
php反序列化长度变化尾部字符串逃逸(0CTF-2016-piapiapia)
2020/02/15 PHP
javascript实现的鼠标链接提示效果生成器代码
2007/06/28 Javascript
javascript document.images实例
2008/05/27 Javascript
Ext.FormPanel 提交和 Ext.Ajax.request 异步提交函数的区别
2009/11/12 Javascript
Aptana调试javascript图解教程
2009/11/30 Javascript
myEvent.js javascript跨浏览器事件框架
2011/10/24 Javascript
javascript教程之不完整的继承(js原型链)
2014/01/13 Javascript
JavaScript获取XML数据附示例截图
2014/03/05 Javascript
jquery实现textarea 高度自适应
2015/03/11 Javascript
深入学习JavaScript中的Rest参数和参数默认值
2015/07/28 Javascript
js+canvas绘制矩形的方法
2016/01/28 Javascript
jQuery Easyui datagrid行内实现【添加】、【编辑】、【上移】、【下移】
2016/12/19 Javascript
Bootstrap源码解读标签、徽章、缩略图和警示框(8)
2016/12/26 Javascript
JS实现在文本指定位置插入内容的简单示例
2017/12/22 Javascript
关于echarts在节点显示动态数据及添加提示文本所遇到的问题
2018/04/20 Javascript
Angularjs之如何在跨域请求中传输Cookie的方法
2018/06/01 Javascript
vue2.0 自定义组件的方法(vue组件的封装)
2018/06/05 Javascript
详解Vue组件之间通信的七种方式
2019/04/14 Javascript
微信小程序导航栏跟随滑动效果的实现代码
2019/05/14 Javascript
python实现从一组颜色中找出与给定颜色最接近颜色的方法
2015/03/19 Python
在Python的web框架中配置app的教程
2015/04/30 Python
Python中functools模块的常用函数解析
2016/06/30 Python
python系统指定文件的查找只输出目录下所有文件及文件夹
2020/01/19 Python
Python字典实现伪切片功能
2020/10/28 Python
python获得命令行输入的参数的两种方式
2020/11/02 Python
CSS3实现3D翻书效果
2016/06/20 HTML / CSS
HTML5中5个简单实用的API(第二篇,含全屏、可见性、拍照、预加载、电池状态)
2014/05/07 HTML / CSS
国际书籍零售商:Wordery
2017/11/01 全球购物
《火烧云》教学反思
2014/04/12 职场文书
关于成立领导小组的通知
2015/04/23 职场文书
业务员年终工作总结2015
2015/05/28 职场文书
小学英语课教学反思
2016/02/15 职场文书