vue实现微信分享功能


Posted in Javascript onNovember 28, 2018

本文实例为大家分享了vue实现微信分享功能的具体代码,供大家参考,具体内容如下

1.引入微信js

<script type="text/javascript" src="http://res.wx.qq.com/open/js/jweixin-1.2.0.js"></script>

2.从后台获取签名并分享

fenxiangFun(){//详情分享
 var that = this;
 this.$http({
 url:this.changeData() + '/member/weChatShare',
 method: "post",
 params: {
 url : window.location.href.split('#')[0]
 }
 }).then(function(res){
 // console.log(res)
 wx.config({
 //debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
 appId: res.data.appId, // 必填,公众号的唯一标识
 timestamp: res.data.timestamp, // 必填,生成签名的时间戳
 nonceStr: res.data.nonceStr, // 必填,生成签名的随机串
 signature: res.data.signature,// 必填,签名
 jsApiList: ["onMenuShareAppMessage","onMenuShareTimeline"] // 必填,需要使用的JS接口列表
 });
 
 wx.ready(function(){
 // config信息验证后会执行ready方法,所有接口调用都必须在config接口获得结果之后,config是一个客户端的异步操作,所以如果需要在页面加载时就调用相关接口,则须把相关接口放在ready函数中调用来确保正确执行。对于用户触发时才调用的接口,则可以直接调用,不需要放在ready函数中。
 //分享给朋友
 wx.onMenuShareAppMessage({
 title: that.projectDetail.project_name, // 分享标题
 desc: '卖铺宝', // 分享描述
 link: window.location.href.split('#')[0], // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
 imgUrl: that.projectPic[0], // 分享图标
 type: '', // 分享类型,music、video或link,不填默认为link
 dataUrl: '', // 如果type是music或video,则要提供数据链接,默认为空
 success: function () {
  // 用户点击了分享后执行的回调函数
 }
 });
 
 //分享到朋友圈
 wx.onMenuShareTimeline({
 title: that.projectDetail.project_name, // 分享标题
 link: window.location.href.split('#')[0], // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
 imgUrl: that.projectPic[0], // 分享图标
 success: function () {
  // 用户点击了分享后执行的回调函数
 }
 });
 });
 wx.error(function(res){
 // config信息验证失败会执行error函数,如签名过期导致验证失败,具体错误信息可以打开config的debug模式查看,也可以在返回的res参数中查看,对于SPA可以在这里更新签名。
 });
 }.bind(this)).catch(function(err){
 console.log("商店详情页面错误:",err)
 });
},

3.ios兼容性问题

beforeRouteEnter (to, from, next) {
 var u = navigator.userAgent;
 var isiOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/); //ios终端
 // XXX: 修复iOS版微信HTML5 History兼容性问题
 if (isiOS && to.path !== location.pathname) {
 // 此处不可使用location.replace
 location.assign(to.fullPath)
 } else {
 next()
 }
},

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
在JS中最常看到切最容易迷惑的语法(转)
Oct 29 Javascript
基于jQuery的让非HTML5浏览器支持placeholder属性的代码
May 24 Javascript
关于锚点跳转及jQuery下相关操作与插件
Oct 01 Javascript
基于jquery实现全屏滚动效果
Nov 26 Javascript
阻止表单提交按钮多次提交的完美解决方法
May 16 Javascript
jquery获取img的src值的简单实例
May 17 Javascript
jQuery焦点图轮播插件KinSlideshow用法分析
Jun 08 Javascript
纯JS焦点图特效实例(可一个页面多用)
Dec 07 Javascript
jQuery插件HighCharts绘制的2D堆柱状图效果示例【附demo源码下载】
Mar 14 Javascript
Node.js 获取微信JS-SDK CONFIG的方法示例
May 21 Javascript
小程序双头slider选择器的实现示例
Mar 31 Javascript
微信小程序之滑动页面隐藏和显示组件功能的实现代码
Jun 19 Javascript
vue微信分享到朋友圈 vue微信发送给好友
Nov 28 #Javascript
详解小程序rich-text对富文本支持方案
Nov 28 #Javascript
微信小程序实现简单评论功能
Nov 28 #Javascript
微信小程序实现省市区三级地址选择
Jun 21 #Javascript
Vue一次性简洁明了引入所有公共组件的方法
Nov 28 #Javascript
react脚手架如何配置less和ant按需加载的方法步骤
Nov 28 #Javascript
微信小程序仿知乎实现评论留言功能
Nov 28 #Javascript
You might like
探讨php中遍历二维数组的几种方法详解
2013/06/08 PHP
php检测文本的编码
2015/07/26 PHP
CI(CodeIgniter)框架中URL特殊字符处理与SQL注入隐患分析
2019/02/28 PHP
jQuery 行背景颜色的交替显示(隔行变色)实现代码
2009/12/13 Javascript
基于jquery扩展漂亮的下拉框可以二次修改
2013/11/19 Javascript
node.js中的buffer.fill方法使用说明
2014/12/14 Javascript
jQuery里filter()函数与find()函数用法分析
2015/06/24 Javascript
jQuery实现图片左右滚动特效
2020/04/20 Javascript
使用Chart.js图表库制作漂亮的响应式表单
2015/10/28 Javascript
AngularJs动态加载模块和依赖注入详解
2016/01/11 Javascript
详解JavaScript的AngularJS框架中的表达式与指令
2016/03/05 Javascript
基于javascript实现简单的抽奖系统
2020/04/15 Javascript
jQuery针对input的class属性写了多个值情况下的选择方法
2016/06/03 Javascript
浅谈javascript中遇到的字符串对象处理
2016/11/18 Javascript
js弹出窗口简单实现代码
2017/03/22 Javascript
Angular2.js实现表单验证详解
2017/06/23 Javascript
Node.js中,在cmd界面,进入退出Node.js运行环境的方法
2018/05/12 Javascript
vue filters的使用详解
2018/06/11 Javascript
图片文字识别(OCR)插件Ocrad.js教程
2018/11/26 Javascript
Laravel admin实现消息提醒、播放音频功能
2019/07/10 Javascript
微信小程序实现按字母排列选择城市功能
2019/11/25 Javascript
VUE 实现动态给对象增加属性,并触发视图更新操作示例
2019/11/29 Javascript
python 正则式使用心得
2009/05/07 Python
python双向链表实现实例代码
2013/11/21 Python
Python tempfile模块学习笔记(临时文件)
2014/05/25 Python
Python求两个圆的交点坐标或三个圆的交点坐标方法
2018/11/07 Python
Opencv-Python图像透视变换cv2.warpPerspective的示例
2019/04/11 Python
如何使用Python实现斐波那契数列
2019/07/02 Python
PYQT5 vscode联合操作qtdesigner的方法
2020/03/24 Python
Python3开发环境搭建详细教程
2020/06/18 Python
C++面试题目
2013/06/25 面试题
是否可以从一个static方法内部发出对非static方法的调用?
2014/08/18 面试题
英语专业毕业生求职简历的自我评价
2013/10/24 职场文书
医学检验专业个人求职信范文
2013/12/04 职场文书
《匆匆》教学反思
2014/02/22 职场文书
运动会开幕式新闻稿
2015/07/17 职场文书