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 相关文章推荐
IE6/7/8中Option元素未设value时Select将获取空字符串
Apr 07 Javascript
Javascript的常规数组和关联数组对比小结
May 24 Javascript
使用JavaScript获取电池状态的方法
May 03 Javascript
javascript异步处理工作机制详解
Apr 13 Javascript
浅谈Javascript数组(推荐)
May 17 Javascript
原生js实现查询天气小应用
Dec 09 Javascript
JavaScript实现图片瀑布流和底部刷新
Jan 02 Javascript
运用jQuery写的验证表单(实例讲解)
Jul 06 jQuery
原生JavaScript实现Ajax异步请求
Nov 19 Javascript
angularJS的radio实现单项二选一的使用方法
Feb 28 Javascript
vue实现验证码按钮倒计时功能
Apr 10 Javascript
原生JavaScript实现幻灯片效果
Feb 19 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
MOTOROLA 摩托罗拉 MODEL 66-XI五灯中波收音机
2021/03/02 无线电
实例讲解php数据访问
2016/05/09 PHP
Yii中srbac权限扩展模块工作原理与用法分析
2016/07/14 PHP
PHP后端银联支付及退款实例代码
2017/06/23 PHP
Google Map Api和GOOGLE Search Api整合实现代码
2009/07/18 Javascript
jQuery基础框架浅入剖析
2012/12/27 Javascript
jquery struts 验证唯一标识(公用方法)
2013/03/27 Javascript
一个封装js代码-----展开收起效果示例
2013/07/03 Javascript
JavaScript定时器详解及实例
2013/08/01 Javascript
js类式继承的具体实现方法
2013/12/31 Javascript
JavaScript新窗口与子窗口传值详解
2014/02/11 Javascript
JavaScript中的Truthy和Falsy介绍
2015/01/01 Javascript
Javascript vue.js表格分页,ajax异步加载数据
2016/10/24 Javascript
jQuery弹出层插件popShow(改进版)用法示例
2017/01/23 Javascript
canvas实现图像布局填充功能
2017/02/06 Javascript
Angular移动端页面input无法输入的解决方法
2017/11/14 Javascript
iview form清除校验状态的实现
2019/09/19 Javascript
uni-app微信小程序登录并使用vuex存储登录状态的思路详解
2019/11/04 Javascript
原生js+canvas实现贪吃蛇效果
2020/08/02 Javascript
python实现的简单RPG游戏流程实例
2015/06/28 Python
详谈Python高阶函数与函数装饰器(推荐)
2017/09/30 Python
机器学习之KNN算法原理及Python实现方法详解
2018/07/09 Python
Python使用gRPC传输协议教程
2018/10/16 Python
python3 实现对图片进行局部切割的方法
2018/12/05 Python
python代码实现逻辑回归logistic原理
2019/08/07 Python
tensorflow实现二维平面模拟三维数据教程
2020/02/11 Python
Python matplotlib修改默认字体的操作
2020/03/05 Python
CSS3媒体查询(Media Queries)介绍
2013/09/12 HTML / CSS
bonprix荷兰网上商店:便宜的服装、鞋子和家居用品
2020/07/04 全球购物
自我评价的正确写法
2013/09/19 职场文书
中文系师范生自荐信
2013/10/01 职场文书
机电一体化求职信
2014/03/10 职场文书
践行三严三实心得体会
2014/10/13 职场文书
2015年环卫工作总结
2015/04/28 职场文书
基于Redis的List实现特价商品列表功能
2021/08/30 Redis
django中websocket的具体使用
2022/01/22 Python