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 相关文章推荐
常用Extjs工具:Extjs.util.Format使用方法
Mar 22 Javascript
Javascript模块化编程(三)require.js的用法及功能介绍
Jan 17 Javascript
JavaScript设计模式之抽象工厂模式介绍
Dec 28 Javascript
jQuery寻找n以内完全数的方法
Jun 24 Javascript
JS实现选择TextArea内文本的方法
Aug 03 Javascript
js实现3D图片逐张轮播幻灯片特效代码分享
Sep 09 Javascript
基于Vuejs实现购物车功能
Aug 02 Javascript
JavaScript设计模式之策略模式详解
Jun 09 Javascript
修改node.js默认的npm安装目录实例
May 15 Javascript
使用微信小程序开发弹出框应用实例详解
Oct 18 Javascript
vue实现跳转接口push 转场动画示例
Nov 01 Javascript
Node在Controller层进行数据校验的过程详解
Aug 28 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
destoon实现调用热门关键字的方法
2014/07/15 PHP
Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 2611816 bytes)
2014/11/08 PHP
PHP实现长文章分页实例代码(附源码)
2016/02/03 PHP
php字符串比较函数用法小结(strcmp,strcasecmp,strnatcmp及strnatcasecmp)
2016/07/18 PHP
php中foreach结合curl实现多线程的方法分析
2016/09/22 PHP
对laravel的csrf 防御机制详解,及form中csrf_token()的存在介绍
2019/10/24 PHP
jquery 表单取值常用代码
2009/12/22 Javascript
jQuery 常见开发使用技巧总结
2009/12/26 Javascript
基于jquery的可多选的下拉列表框
2012/07/20 Javascript
javascript自然分类法算法实现代码
2013/10/11 Javascript
JavaScript闭包函数访问外部变量的方法
2014/08/27 Javascript
Jquery实现textarea根据文本内容自适应高度
2015/04/03 Javascript
js漂浮广告实现代码
2015/08/15 Javascript
JavaScript的Backbone.js框架环境搭建及Hellow world示例
2016/05/07 Javascript
JS实现中文汉字按拼音排序的方法
2017/10/09 Javascript
Vue实现导出excel表格功能
2018/03/30 Javascript
深入浅析js原型链和vue构造函数
2018/10/25 Javascript
Vue项目报错:Uncaught SyntaxError: Unexpected token
2018/11/10 Javascript
JS实现排行榜文字向上滚动轮播效果
2019/11/26 Javascript
js实现查询商品案例
2020/07/22 Javascript
jQuery实现简单全选框
2020/09/13 jQuery
JavaScript中常用的3种弹出提示框(alert、confirm、prompt)
2020/11/10 Javascript
详解Python的Django框架中的模版相关知识
2015/07/15 Python
python安装cx_Oracle模块常见问题与解决方法
2017/02/21 Python
详解关于Django中ORM数据库迁移的配置
2018/10/08 Python
Python 实现两个列表里元素对应相乘的方法
2018/11/14 Python
Django关于admin的使用技巧和知识点
2020/02/10 Python
Python爬虫防封ip的一些技巧
2020/08/06 Python
selenium学习教程之定位以及切换frame(iframe)
2021/01/04 Python
python使用matplotlib的savefig保存时图片保存不完整的问题
2021/01/08 Python
简单总结CSS3中视窗单位Viewport的常见用法
2016/02/04 HTML / CSS
纽约手袋品牌:KARA
2018/03/18 全球购物
微软瑞士官方网站:Microsoft瑞士
2018/04/20 全球购物
美国在线宠物商店:Chewy
2019/01/12 全球购物
耐克亚太地区:Nike APAC
2019/12/07 全球购物
债务纠纷委托书范本
2014/10/14 职场文书