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高级程序设计
Dec 29 Javascript
jQuery 遍历json数组的实现代码
Sep 22 Javascript
六款帮助你实现惊艳视差滚动效果的jQuery插件
Sep 14 Javascript
事件冒泡是什么如何用jquery阻止事件冒泡
Mar 20 Javascript
js判断鼠标左、中、右键哪个被点击的方法
Jan 27 Javascript
zepto.js中tap事件阻止冒泡的实现方法
Feb 12 Javascript
jQuery实现简单的DIV拖动效果
Feb 19 Javascript
浅谈js对象的创建和对6种继承模式的理解和遐想
Oct 16 Javascript
js实现九宫格的随机颜色跳转
Feb 19 Javascript
jquery实现左右轮播图效果
Sep 28 jQuery
解决vue2 在mounted函数无法获取prop中的变量问题
Nov 15 Javascript
vue表单验证你真的会了吗?vue表单验证(form)validate
Apr 07 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伪静态页面函数附使用方法
2008/06/20 PHP
php 文件夹删除、php清除缓存程序
2009/08/25 PHP
通过PHP修改Linux或Unix口令的方法分享
2012/01/30 PHP
php简单实现sql防注入的方法
2016/04/22 PHP
php 数组处理函数extract详解及实例代码
2016/11/23 PHP
JavaScript延迟加载
2021/03/09 Javascript
js中判断文本框是否为空的两种方法
2011/07/31 Javascript
7款风格新颖的jQuery/CSS3菜单导航分享
2013/04/23 Javascript
jquery iframe操作详细解析
2013/11/20 Javascript
javascript实现确定和取消提示框效果
2015/07/10 Javascript
JavaScript模板引擎用法实例
2015/07/10 Javascript
jQuery实现可展开合拢的手风琴面板菜单
2015/09/15 Javascript
ionic js 复选框 与普通的 HTML 复选框到底有没区别
2016/06/06 Javascript
分享JavaScript监听全部Ajax请求事件的方法
2016/08/28 Javascript
详解在 Angular 项目中添加 clean-blog 模板
2017/07/04 Javascript
JavaScript+H5实现微信摇一摇功能
2018/05/23 Javascript
jquery ajax加载数据前台渲染方式 不用for遍历的方法
2018/08/09 jQuery
js实现随机8位验证码
2020/07/24 Javascript
Vue router传递参数并解决刷新页面参数丢失问题
2020/12/02 Vue.js
Python中字符串对齐方法介绍
2015/05/21 Python
Python 正则表达式的高级用法
2016/12/04 Python
python通过pip更新所有已安装的包实现方法
2017/05/19 Python
Python 用Redis简单实现分布式爬虫的方法
2017/11/23 Python
Sanic框架安装与简单入门示例
2018/07/16 Python
浅析Python与Mongodb数据库之间的操作方法
2019/07/01 Python
Python模块的制作方法实例分析
2019/12/21 Python
使用pytorch和torchtext进行文本分类的实例
2020/01/08 Python
Python实现子类调用父类的初始化实例
2020/03/12 Python
Python替换NumPy数组中大于某个值的所有元素实例
2020/06/08 Python
django Model层常用验证器及自定义验证器详解
2020/07/15 Python
Exoticca英国:以最优惠的价格提供豪华异国情调旅行
2018/10/18 全球购物
Fossil加拿大官网:化石手表、手袋、首饰及配饰
2019/04/23 全球购物
大型活动策划方案
2014/01/12 职场文书
学校清洁工岗位职责
2015/04/15 职场文书
企业催款函范本
2015/06/24 职场文书
会议营销主持词
2015/07/03 职场文书