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扩展插件Validate—4设置错误提示的样式
Sep 05 Javascript
js对table的td进行相同内容合并示例详解
Dec 27 Javascript
JavaScript数据结构和算法之图和图算法
Feb 11 Javascript
JavaScript简介
Feb 15 Javascript
原生js和jQuery实现淡入淡出轮播效果
Dec 25 Javascript
用JavaScript获取页面文档内容的实现代码
Jun 10 Javascript
使用vue编写一个点击数字计时小游戏
Aug 31 Javascript
bootstrap导航栏、下拉菜单、表单的简单应用实例解析
Jan 06 Javascript
jQuery实现动态加载(按需加载)javascript文件的方法分析
May 31 jQuery
如何使用JS console.log()技巧提高工作效率
Oct 14 Javascript
通过实例解析javascript Date对象属性及方法
Nov 04 Javascript
基于javascript实现移动端轮播图效果
Dec 21 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获取搜索引擎关键字来源的函数(支持百度和谷歌等搜索引擎)
2012/10/03 PHP
php 中文字符串首字母的获取函数分享
2013/11/04 PHP
PHP利用func_get_args和func_num_args函数实现函数重载实例
2014/11/12 PHP
php自定义中文字符串截取函数substr_for_gb2312及substr_for_utf8示例
2016/05/28 PHP
php基于openssl的rsa加密解密示例
2016/07/11 PHP
php array_walk 对数组中的每个元素应用用户自定义函数详解
2016/11/18 PHP
学习ExtJS TextField常用方法
2009/10/07 Javascript
高性能JavaScript 重排与重绘(2)
2015/08/11 Javascript
javascript中Array()数组函数详解
2015/08/23 Javascript
解决JavaScript数字精度丢失问题的方法
2015/12/03 Javascript
Javascript数组Array方法解读
2016/03/13 Javascript
动态加载js、css的实例代码
2016/05/26 Javascript
jQuery实现指定区域外单击关闭指定层的方法【经典】
2016/06/22 Javascript
AngularJS ng-change 指令的详解及简单实例
2016/07/30 Javascript
详细解读Jquery各Ajax函数($.get(),$.post(),$.ajax(),$.getJSON())
2016/08/15 Javascript
JS命令模式例子之菜单程序
2016/10/10 Javascript
Bootstrap 过渡效果Transition 模态框(Modal)
2017/03/17 Javascript
layui实现下拉框三级联动
2019/07/26 Javascript
开源一个微信小程序仪表盘组件过程解析
2019/07/30 Javascript
python中__call__方法示例分析
2014/10/11 Python
python去除文件中空格、Tab及回车的方法
2016/04/12 Python
多版本Python共存的配置方法
2017/05/22 Python
python Flask实现restful api service
2017/12/04 Python
Python编程实现线性回归和批量梯度下降法代码实例
2018/01/04 Python
PyQt5每天必学之切换按钮
2020/08/20 Python
pytorch 利用lstm做mnist手写数字识别分类的实例
2020/01/10 Python
Python内置方法和属性应用:反射和单例(推荐)
2020/06/19 Python
Java语言程序设计测试题判断题部分
2013/01/06 面试题
农业大学毕业生的个人自我评价
2013/10/11 职场文书
给护士表扬信
2014/01/19 职场文书
作息时间调整通知
2015/04/22 职场文书
2015年国庆节标语大全
2015/07/30 职场文书
2016年小学生寒假家长评语
2015/10/10 职场文书
2019求职信:应届生求职信范文
2019/04/24 职场文书
2021年国产动漫公司排行前十名,玄机科技上榜,第二推出过铠甲勇士
2022/03/18 杂记
解决flex布局中子项目尺寸不受flex-shrink限制
2022/05/11 HTML / CSS