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 AJAX提交中文乱码的解决方案
Jul 02 Javascript
使用jQuery实现dropdownlist的联动效果(sharepoint 2007)
Mar 30 Javascript
js delete 用法(删除对象属性及变量)
Aug 24 Javascript
MVC Ajax Helper或Jquery异步加载部分视图
Nov 29 Javascript
noty ? jQuery通知插件全面解析
May 18 Javascript
json的使用小结
Jun 08 Javascript
jQuery ztree实现动态树形多选菜单
Aug 12 Javascript
JavaScript中清空数组的方法总结
Dec 02 Javascript
vue watch监听对象及对应值的变化详解
Feb 24 Javascript
Vue CLI3搭建的项目中路径相关问题的解决
Sep 17 Javascript
Vue Prop属性功能与用法实例详解
Feb 23 Javascript
JavaScript解析JSON数据示例
Jul 16 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
用函数读出数据表内容放入二维数组
2006/10/09 PHP
PHP实现MVC开发得最简单的方法――模型
2007/04/10 PHP
解析php中const与define的应用区别
2013/06/18 PHP
PHP对文件进行加锁、解锁实例
2015/01/23 PHP
Laravel5.7框架安装与使用学习笔记图文详解
2019/04/02 PHP
PHP程序员必须知道的两种日志实例分析
2020/05/14 PHP
javascript js cookie的存储,获取和删除
2007/12/29 Javascript
JavaScript 联动的无限级封装类,数据采用非Ajax方式,随意添加联动
2010/06/29 Javascript
Asp.net下利用Jquery Ajax实现用户注册检测(验证用户名是否存)
2010/09/12 Javascript
推荐40个简单的 jQuery 导航插件和教程(下篇)
2012/09/14 Javascript
分享一道笔试题[有n个直线最多可以把一个平面分成多少个部分]
2012/10/12 Javascript
Javascript中产生固定结果的函数优化技巧
2013/01/16 Javascript
深入理解Angular2 模板语法
2016/08/07 Javascript
详解微信小程序——自定义圆形进度条
2016/12/29 Javascript
nodejs的压缩文件模块archiver用法示例
2017/01/18 NodeJs
在使用JSON格式处理数据时应该注意的问题小结
2017/05/20 Javascript
Angular 表单控件示例代码
2017/06/26 Javascript
Angular Excel 导入与导出的实现代码
2019/04/17 Javascript
Javascript读取上传文件内容/类型/字节数
2019/04/30 Javascript
vue中获取滚动table的可视页面宽度调整表头与列对齐(每列宽度不都相同)
2019/08/17 Javascript
node实现简单的增删改查接口实例代码
2019/08/22 Javascript
Mac中Python 3环境下安装scrapy的方法教程
2017/10/26 Python
python实现人脸识别代码
2017/11/08 Python
使用python实现链表操作
2018/01/26 Python
python实时监控cpu小工具
2018/06/21 Python
Python在for循环中更改list值的方法【推荐】
2018/08/17 Python
Python异常处理操作实例详解
2018/08/28 Python
Python符号计算之实现函数极限的方法
2019/07/15 Python
python判断两个序列的成员是否一样的实例代码
2020/03/01 Python
植村秀美国官网:Shu Uemura美国
2019/03/19 全球购物
花卉与景观设计系大学生求职信
2013/10/01 职场文书
工业设计专业自荐书
2014/06/05 职场文书
2015年医院护理部工作总结
2015/04/23 职场文书
给朋友的道歉短信
2015/05/12 职场文书
Win11怎样将锁屏账户头像图片改成动画视频
2021/11/21 数码科技
动漫APP软件排行榜前十名,半次元上榜,第一款由腾讯公司推出
2022/03/18 杂记