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进行拖拽
Jul 20 Javascript
JavaScript自定义DateDiff函数(兼容所有浏览器)
Mar 01 Javascript
addEventListener()第三个参数useCapture (Boolean)详细解析
Nov 07 Javascript
JavaScript数组去重的五种方法
Nov 05 Javascript
基于Bootstrap的Java开发问题汇总(Spring MVC)
Jan 15 Javascript
vue2实现移动端上传、预览、压缩图片解决拍照旋转问题
Apr 13 Javascript
Javascript中的async awai的用法
May 17 Javascript
JS中Swiper的使用和轮播图效果
Aug 11 Javascript
javascript中神奇的 Date对象小结
Oct 12 Javascript
javascript少儿编程关于返回值的函数内容
May 27 Javascript
从0到1学习JavaScript编写贪吃蛇游戏
Jul 28 Javascript
JavaScript分页组件使用方法详解
Jul 26 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.ini不生效问题解决方法(上传大于8M的文件)
2013/06/14 PHP
解析smarty模板中类似for的功能实现
2013/06/18 PHP
php compact 通过变量创建数组
2016/11/15 PHP
Laravel如何友好的修改.env配置文件详解
2017/06/07 PHP
JavaScript中的new的使用方法与注意事项
2007/05/16 Javascript
Stop SQL Server
2007/06/21 Javascript
利用JS来控制键盘的上下左右键(示例代码)
2013/12/14 Javascript
JQuery弹出炫丽对话框的同时让背景变灰色
2014/05/22 Javascript
JQuery中DOM事件绑定用法详解
2015/06/13 Javascript
基于JavaScript实现轮播图代码
2016/07/14 Javascript
jQuery实现鼠标选中文字后弹出提示窗口效果【附demo源码】
2016/09/05 Javascript
Web开发中客户端的跳转与服务器端的跳转的区别
2017/03/05 Javascript
妙用Angularjs实现表格按指定列排序
2017/06/23 Javascript
关于JavaScript语句后面的分号问题
2017/12/07 Javascript
基于iScroll实现内容滚动效果
2018/03/21 Javascript
详解Vue.js中.native修饰符
2018/04/24 Javascript
vue实现点击关注后及时更新列表功能
2018/06/26 Javascript
js中对象与对象创建方法的各种方法
2019/02/27 Javascript
koa-passport实现本地验证的方法示例
2020/02/20 Javascript
JS中准确判断变量类型的方法
2020/06/01 Javascript
vue开发简单上传图片功能
2020/06/30 Javascript
Vue中watch、computed、updated三者的区别及用法
2020/07/27 Javascript
Python的另外几种语言实现
2015/01/29 Python
在Django的模型中添加自定义方法的示例
2015/07/21 Python
python如何查看微信消息撤回
2018/11/27 Python
Python3并发写文件与Python对比
2019/11/20 Python
浅析python 动态库m.so.1.0错误问题
2020/05/09 Python
浅析Python __name__ 是什么
2020/07/07 Python
CSS3基础(RGBa、text-shadow、box-shadow、border-radius)
2012/11/13 HTML / CSS
美国领先的奢侈美容零售商:Bluemercury
2017/07/26 全球购物
味多美官网:蛋糕订购,100%使用天然奶油
2017/11/10 全球购物
学生会个人自荐书范文
2014/02/12 职场文书
导师工作推荐信范文
2014/05/17 职场文书
2014年度安全生产目标管理责任书
2014/07/25 职场文书
教师节班会主持词
2015/07/06 职场文书
《好妈妈胜过好老师》:每个孩子的优秀都是有源头的
2020/01/03 职场文书