vue 微信分享问题(巨坑)

作者: 乱来丶Fack | 来源:发表于2018-12-22 16:47 被阅读4次

vue 在做微信分享的时候总是会签名失败,查了各种资料和原因,原来是传给后端的URL的问题
首先得引入 微信自带的SDK import wx from 'weixin-js-sdk',
没安装的同学记得安装一下。
以下是重点 vue 在获取当前Url的时候,当前url会加上一串微信带过来的参数,咱们只需要改变url的路径,来把正确需要传给后端的url传给后端即可。
以下代码是改变url地址栏的代码
var stateObject = {} 这个空就行可以忽略
var title = '' //标题这个可以忽略
var newUrl = '' //重点是这个,这个参数是存改变过后的url
if (location.href.indexOf('?') == '-1') {
newUrl = window.location.href
} else {
newUrl = encodeURI(location.href.split('?')[0] + '#' + location.href.split('#')[1])
}
history.pushState(stateObject, title, newUrl) //这一句代码是把newUrl重新赋予给url地址栏
然后下面就是传给后端参数
axios.post(‘接口地址’, {
loanKey: this.$route.params.loanKey,
url: location.href.split('#')[0] //vue获取到地址栏之后 要截取掉#号
}).then(function (data) {
//成功之后,配置微信项
wx.config({
debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
appId: data.data.data.appId, // 必填,公众号的唯一标识
timestamp: data.data.data.timestamp, // 必填,生成签名的时间戳
nonceStr: data.data.data.nonceStr, // 必填,生成签名的随机串
signature: data.data.data.signature, // 必填,签名
jsApiList: ['onMenuShareAppMessage', 'onMenuShareTimeline', 'onMenuShareQQ', 'onMenuShareQZone', 'onMenuShareWeibo', 'translateVoice'] // 必填,需要使用的JS接口列表
})

wx.ready(function () {
// 分享给朋友
wx.onMenuShareAppMessage({
title: title, // 分享标题
desc: desc, // 分享描述
link: url, // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
imgUrl: img, // 分享图标
type: '', // 分享类型,music、video或link,不填默认为link
dataUrl: '', // 如果type是music或video,则要提供数据链接,默认为空
success: function (res) {
},
cancel: function (res) {
// 用户取消分享后执行的回调函数
}
})

这样既可完成分享,我当初在这个坑上折磨了几天,解决了之后感觉不难,主要是传Url这块。巨坑。注意就好

相关文章

  • vue 微信分享问题(巨坑)

    vue 在做微信分享的时候总是会签名失败,查了各种资料和原因,原来是传给后端的URL的问题首先得引入 微信自带的S...

  • 微信分享

    微信公众平台绑定域名 遇到的坑 遇到的问题,微信API的附录里面都有。 这里的坑: 虽然调用了微信分享,但是并不意...

  • vue2-微信分享踩的坑

    vue2项目-微信分享踩的坑 在在main.js中 //在main.js头部引入微信分享插件 importwxfr...

  • 2021-05-12

    微信分享跳转2次,微信分享跳转微信正在连接,分享微信没反应 这几天搞微信分享,还是有一些坑在里面的,记录踩过的坑;...

  • 简单粗暴帮你用vue实现微信分享

    最近在用vue搞项目,碰到一个问题就是微信分享,我们知道微信分享会自动获取页面的title标签做为我们的分享标题,...

  • iOS菜鸟记---那些年我踩过的坑

    坑一: 集成友盟分享: 现象:可以跳转到微信界面,却不能实现分享 问题:因为工程中也集成了微信支付,微信支付并没有...

  • Vue-微信分享踩坑

    created => 通过promise获取到config 所需,注:此时的请求 URL需与绑定的域名 he...

  • VUE中微信踩坑分享

    1.签名验证失败 解决思路:1.1先查看是否是因为字母大小写等原因造成的。1.2之后查看是否因为路由的变化导致签名...

  • Vue 微信分享遇到的坑

    微信公众号做分享的时候,发现IOS端分享没有效果,把下面参数打开 提示的是invalid signature签名无...

  • 项目中遇到的问题以及如何解决的

    1问题: vue 项目中微信分享,拿到的分享链接总是首页;原因:微信浏览器自动会截图链接中#后面的数据解决方法:在...

网友评论

    本文标题:vue 微信分享问题(巨坑)

    本文链接:https://www.haomeiwen.com/subject/csaikqtx.html