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 相关文章推荐
extJs 常用到的增,删,改,查操作代码
Dec 28 Javascript
分享20款好玩的jQuery游戏
Apr 17 Javascript
javascript ajax的5种状态介绍
Aug 18 Javascript
提交按钮的name='submit'引起的js失效问题及原因
Feb 25 Javascript
JS实现获取键盘按下的按键并显示在页面上的方法
Nov 04 Javascript
JQuery EasyUI Layout 在from布局自适应窗口大小的实现方法
May 28 Javascript
Jquery获取当前城市的天气信息
Aug 05 Javascript
Vue Element使用icon图标教程详解(第三方)
Feb 07 Javascript
Vue页面刷新记住页面状态的实现
Dec 27 Javascript
JS箭头函数和常规函数之间的区别实例分析【 5 个区别】
May 27 Javascript
详解JavaScript 作用域
Jul 14 Javascript
为什么推荐使用JSX开发Vue3
Dec 28 Vue.js
在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使用websocket示例详解
2014/03/12 PHP
PHP实现显示照片exif信息的方法
2014/07/11 PHP
完美解决在ThinkPHP控制器中命名空间的问题
2017/05/05 PHP
jQuery 使用手册(四)
2009/09/23 Javascript
IE JS无提示关闭窗口不提示的方法
2010/04/29 Javascript
JavaScript代码复用模式实例分析
2012/12/02 Javascript
js 跳出页面的frameset框架示例介绍
2013/12/23 Javascript
jquery实现的动态回到顶部特效代码
2015/10/28 Javascript
表单元素值获取方式js及java方式的简单实例
2016/10/15 Javascript
JS 在数组指定位置插入/删除数据的方法
2017/01/12 Javascript
详解react如何在组件中获取路由参数
2017/06/15 Javascript
详解webpack分离css单独打包
2017/06/21 Javascript
jQuery实现所有验证通过方可提交的表单验证
2017/11/21 jQuery
vue配置多页面的实现方法
2018/05/22 Javascript
详解如何在vue项目中使用layui框架及采坑
2019/05/05 Javascript
vue实现评价星星功能
2020/06/30 Javascript
[01:43]倾听DOTA2英雄之声 魅惑魔女国服配音鉴赏
2013/06/06 DOTA
使用python BeautifulSoup库抓取58手机维修信息
2013/11/21 Python
Python fileinput模块使用介绍
2014/11/30 Python
python实现井字棋游戏
2020/03/30 Python
总结Python编程中函数的使用要点
2016/03/20 Python
Python入门之三角函数全解【收藏】
2017/11/08 Python
python爬取m3u8连接的视频
2018/02/28 Python
Django rest framework工具包简单用法示例
2018/07/20 Python
python使用__slots__让你的代码更加节省内存
2018/09/05 Python
Python IDLE或shell中切换路径的操作
2020/03/09 Python
在django中form的label和verbose name的区别说明
2020/05/20 Python
python 求两个向量的顺时针夹角操作
2021/03/04 Python
CSS3 Media Queries(响应式布局可以让你定制不同的分辨率和设备)
2013/06/06 HTML / CSS
英语专业推荐信
2013/11/16 职场文书
社会实践感言
2014/01/25 职场文书
幼儿园中秋节活动方案2013
2014/01/29 职场文书
接待员岗位责任制
2014/02/10 职场文书
工厂门卫岗位职责范本
2014/04/04 职场文书
《普罗米修斯》教学反思
2016/02/22 职场文书
导游词之张家界
2019/10/31 职场文书