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 相关文章推荐
Jquery作者John Resig自己封装的javascript 常用函数
Nov 09 Javascript
基于jquery的当鼠标滚轮到最底端继续加载新数据思路分享(多用于微博、空间、论坛 )
Oct 10 Javascript
解析Javascript小括号“()”的多义性
Dec 03 Javascript
jquery实现表单输入时提示文字滑动向上效果
Aug 10 Javascript
JS实现自动固定顶部的悬浮菜单栏效果
Sep 16 Javascript
JavaScript实现点击按钮直接打印
Jan 06 Javascript
BootStrap创建响应式导航条实例代码
May 31 Javascript
js实现当鼠标移到表格上时显示这一格全部内容的代码
Jun 12 Javascript
用Vue.extend构建消息提示组件的方法实例
Aug 08 Javascript
JavaScript监听手机物理返回键的两种解决方法
Aug 14 Javascript
vue中element组件样式修改无效的解决方法
Feb 03 Javascript
详解微信小程序实现WebSocket心跳重连
Jul 31 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
PHP4实际应用经验篇(4)
2006/10/09 PHP
php 文章调用类代码
2011/08/11 PHP
浅析php插件 HTMLPurifier HTML解析器
2013/07/01 PHP
PHP json_decode函数详细解析
2014/02/17 PHP
两种php去除二维数组的重复项方法
2015/11/04 PHP
Laravel与CI框架中截取字符串函数
2016/05/08 PHP
浅析PHP中的 inet_pton 网络函数
2019/12/16 PHP
javascript中巧用“闭包”实现程序的暂停执行功能
2007/04/04 Javascript
JavaScript 全面解析各种浏览器网页中的JS 执行顺序
2009/02/17 Javascript
XENON基于JSON变种
2010/07/27 Javascript
js 链式延迟执行DOME
2012/01/04 Javascript
jQuery插件jQuery-JSONP开发ajax调用使用注意事项
2013/11/22 Javascript
Js实现滚动变色的文字效果
2014/06/16 Javascript
Node.js中require的工作原理浅析
2014/06/24 Javascript
node.js集成百度UE编辑器
2015/02/05 Javascript
nodeJS代码实现计算交社保是否合适
2015/03/09 NodeJs
jQuery解决input元素的blur事件和其他非表单元素的click事件冲突问题
2016/08/15 Javascript
实现easyui的datagrid导出为excel的示例代码
2016/11/10 Javascript
基于js的变量提升和函数提升(详解)
2017/09/17 Javascript
vue实现多组关键词对应高亮显示功能
2019/07/25 Javascript
Vue.js watch监视属性知识点总结
2019/11/11 Javascript
编写Python脚本把sqlAlchemy对象转换成dict的教程
2015/05/29 Python
python发送邮件功能实现代码
2016/07/15 Python
分享一个简单的python读写文件脚本
2017/11/25 Python
pandas实现将dataframe满足某一条件的值选出
2019/06/12 Python
Python3内置模块之base64编解码方法详解
2019/07/13 Python
django的聚合函数和aggregate、annotate方法使用详解
2019/07/23 Python
基于Pycharm加载多个项目过程图解
2020/01/19 Python
CSS3 实现童年的纸飞机
2019/05/05 HTML / CSS
美国在线工具商店:Acme Tools
2018/06/26 全球购物
俄罗斯在线水暖商店:Perfecto.ru
2019/10/25 全球购物
教师绩效工资方案
2014/02/01 职场文书
一年级学生期末评语
2014/04/21 职场文书
我爱我校演讲稿
2014/05/21 职场文书
写给媳妇的检讨书
2015/05/06 职场文书
Apache Hudi数据布局黑科技降低一半查询时间
2022/03/31 Servers