vue微信分享 vue实现当前页面分享其他页面
本文实例为大家分享了vue微信分享展示的具体代码,供大家参考,具体内容如下 首先以分享给朋友为例 1、先看官方文档 title: '',// 分享标题
desc: '',// 分享描述 link: '',// 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致 imgUrl: '',// 分享图标 type: '',// 分享类型,music、video或link,不填默认为link dataUrl: '',// 如果type是music或video,则要提供数据链接,默认为空 success: function () {
},cancel: function () {
} }); 2、vue分享踩的坑 * 1、微信分享中获取动态的url * 2、 微信二次分享自动添加的参数 form=singlemessage * 3、vue中各个页面都可以调用分享 3、直接代码分析 为了保证每个页面都可以调起微信分享,需要在vue根组件中,添加 watch监听 代码 4、shareOut()函数 {
//拼接sha1加密字符串
signStr = 'jsapi_ticket=' + response.data.data + '&noncestr=' + nonceStr + '×tamp=' + timestamp + '&url=' + window.location.href;
var signature = SHA1(signStr);
wx.config({
debug: false,appId: "wx6957b3a945a05e90",//appId
timestamp: timestamp,//时间戳
nonceStr: nonceStr,//加密需要字符串(自己定义的)
signature: signature,//sha1加密后字符串
jsApiList: [ 'onMenuShareTimeline','onMenuShareAppMessage']
});
wx.ready(function () {
//分享到朋友圈"
wx.onMenuShareTimeline({
title: obj.title,link: obj.link,// 分享链接
imgUrl: obj.imgUrl,// 分享图标
success: function () {
// console.log('分享到朋友圈成功')
},cancel: function () {
// console.log('分享到朋友圈失败')
}
});
//分享给朋友
wx.onMenuShareAppMessage({
title: obj.title,// 分享标题
desc: obj.desc,// 分享描述
link: obj.link,// 分享图标
success: function () {
// console.log('分享到朋友成功')
},cancel: function () {
// console.log('分享到朋友失败')
}
});
})
},isLayer: false
})
5、需要注意的事 *1、url是直接通过 window.location.href 获取的,不是使用 window.location.href.split(“#”)[0]来获取,因为我的vue项目是通过hash模式来进行路由跳转的,直接使用 window.location.href.split(“#”)[0]会导致签名失败 *2、而且我们要在当前页面分享出去之后,其他用户打开之后 不是当前分享出去的页面,这就需要 调整 shareOut()函数中 obj对象中的 link参数为其他页面链接 6、link参数 上述 5 问题中的加密字符串汇总的 url 和 分享对象中 link中的页面链接可以不用保持一样,因为本来就是要在当前页面分享出去其他页面的链接。网上我看到有人说这两个必须要保持一样,其实没有必要,除非你只是简单的在vue项目中的其中一个页面做分享,然后只分享当前页面才需要让二者保持一致性。 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程之家。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- ruby-on-rails – rails,action mailer不发送
- <?xml version="1.0" encoding="
- Objective-C中的’isa’变量等于Java中的“instanceof”
- oracle时间函数总结
- MVC 控制器向View传值的三种方法(转) C#
- ruby-on-rails – Delayed_job与Appoxy SimpleWorker
- Ruby on Rails或PHP …不知何故不确定
- Ajax Upload多文件上传插件翻译及中文演示
- Swift基础语法: 29 - Swift的附属脚本语法, 附属脚本用法,
- core-data – NSFileProtectionComplete不加密核心数据文件