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 相关文章推荐
javascript使用中为什么10..toString()正常而10.toString()出错呢
Jan 11 Javascript
javascript控制Div层透明属性由浅变深由深变浅逐渐显示
Nov 12 Javascript
js this函数调用无需再次抓获id,name或标签名
Mar 03 Javascript
js键盘事件的keyCode
Jul 29 Javascript
非常实用的12个jquery代码片段
Nov 02 Javascript
jquery datatable服务端分页
Aug 31 Javascript
javascript实现动态显示颜色块的报表效果
Apr 10 Javascript
微信小程序 图片宽高自适应详解
May 11 Javascript
JavaScript实现的贝塞尔曲线算法简单示例
Jan 30 Javascript
解决vuejs项目里css引用背景图片不能显示的问题
Sep 13 Javascript
JavaScript函数的特性与应用实践深入详解
Dec 30 Javascript
vue实现信息管理系统
May 30 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 正则表达式常用函数
2014/08/17 PHP
PHP高级编程实例:编写守护进程
2014/09/02 PHP
CodeIgniter框架URL路由总结
2014/09/03 PHP
php插件Xajax使用方法详解
2017/08/31 PHP
js 动态选中下拉框
2009/11/26 Javascript
js 设置选中行的样式的实现代码
2010/05/24 Javascript
js中匿名函数的N种写法
2010/09/08 Javascript
ajax更新数据后,jquery、jq失效问题
2011/03/16 Javascript
使用基于jquery的gamequery插件做JS乒乓球游戏
2011/07/31 Javascript
javascript中对Attr(dom中属性)的操作示例讲解
2013/12/02 Javascript
微信小程序 UI布局常用技巧整理总结
2016/12/05 Javascript
AngularJs中Bootstrap3 datetimepicker使用实例
2016/12/13 Javascript
小程序实现列表多个批量倒计时
2021/01/29 Javascript
详解小程序云开发攻略(解决最棘手的问题)
2019/09/30 Javascript
Vue自定义指令结合阿里云OSS优化图片的实现方法
2019/11/12 Javascript
Angular进行简单单元测试的实现方法实例
2020/08/16 Javascript
在Vue中使用Viser说明(基于AntV-G2可视化引擎)
2020/10/28 Javascript
[02:47]DOTA2亚洲邀请赛 HR战队出场宣传片
2015/02/07 DOTA
在Python中利用Into包整洁地进行数据迁移的教程
2015/03/30 Python
Python之py2exe打包工具详解
2017/06/14 Python
Sanic框架Cookies操作示例
2018/07/17 Python
pygame游戏之旅 添加游戏界面按键图形
2018/11/20 Python
Python实现随机创建电话号码的方法示例
2018/12/07 Python
Python GUI编程 文本弹窗的实例
2019/06/11 Python
对python中的装包与解包实例详解
2019/08/24 Python
Python matplotlib生成图片背景透明的示例代码
2019/08/30 Python
在vscode中配置python环境过程解析
2019/09/28 Python
python飞机大战pygame碰撞检测实现方法分析
2019/12/17 Python
tensorflow 限制显存大小的实现
2020/02/03 Python
selenium+python自动化78-autoit参数化与批量上传功能的实现
2021/03/04 Python
利用纯CSS3实现动态的自行车特效源码
2017/01/20 HTML / CSS
美国最好的钓鱼、狩猎和划船装备商店:Bass Pro Shops
2018/12/02 全球购物
在阿尔卑斯山或希腊度过快乐假期:Alpine Elements
2019/12/28 全球购物
教师求职推荐信范文
2013/11/20 职场文书
勇敢的心观后感
2015/06/09 职场文书
go原生库的中bytes.Buffer用法
2021/04/25 Golang