美文网首页
Vue 微信分享遇到的坑

Vue 微信分享遇到的坑

作者: 想成为大牛的程旭元 | 来源:发表于2021-04-01 16:45 被阅读0次

微信公众号做分享的时候,发现IOS端分享没有效果,把下面参数打开

wx.config({
debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
}

提示的是invalid signature签名无效,解决步骤哦

  1. 官网拿到access_token,在这做请求
https请求方式: GET https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET
appid和secret
都是在电脑端配置里拿到的

返回
{"access_token":"ACCESS_TOKEN","expires_in":7200}
  1. 拿到上面的access_token之后,附录1-JS-SDK使用权限签名算法在这看一下jsapi_ticket
https://api.weixin.qq.com/cgi-bin/ticket/getticket?access_token=ACCESS_TOKEN&type=jsapi
ACCESS_TOKEN:第一步请求的结果

直接在浏览器里输入,就可以拿到结果
  1. 微信 JS 接口签名校验工具
    微信 JS 接口签名校验工具.png
    jsapi_ticket:是第二步拿到的数据
    url:是你分享时,请求接口得到appId、timestamp、nonceStr这些参数带的地址,也就是让微信掉的地址
  • 上面得到的结果signature和这个接口返回的signature进行比对,一致就OK。
  1. url做优化
  • 在这里我上个页面进入分享页面是由this.$router.push({path:'',query:{id:''}})进来的,我刚开始给服务器传的参数是location.href发现苹果端验证签名的时候报invalid signature,安卓端是好的,
  • 原因网上大部分都说明了,就不写了,我在这里是区分平台的,下面代码是请求接口获取appId、timestamp、nonceStr这些参数的代码
  • IOS端
let url = location.href.split('#')[0];
let shareUrl = encodeURIComponent(url);
然后请求方的是这个shareUrl
  • 安卓端
let shareUrl = encodeURIComponent(location.href)
  1. 在微信分享的时候url还得做变化
let url = location.href;
wx.updateAppMessageShareData({
    title: '', // 分享标题
    desc:'', // 分享描述
    link: url,// 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
    imgUrl:'', // 分享图标,我这里是网络地址
    success: function() {}
});
  1. 根据上面的就成功了。
补充资料

encodeURIComponent和encodeURI区别
encodeURIComponent和encodeURI区别

感谢大牛的分享
https://www.jianshu.com/p/22a5ee77b5e0
https://www.jianshu.com/p/41140244b4a6
https://www.yht7.com/news/61021

相关文章

  • Vue 微信分享遇到的坑

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

  • 微信分享

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

  • vue 微信支付(hash模式)

    1. vue 微信支付遇到的坑 使用的vue-router 的hash模式, 所以页面的路径是www.ssss.c...

  • vue 微信登录遇到的坑

    微信登录官方文档:https://open.weixin.qq.com/cgi-bin/showdocument?...

  • vue2-微信分享踩的坑

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

  • 分享pdf文件到微信

    1 点击分享按钮,分享pdf文件到微信 做此功能首先遇到的坑是pdf分享到微信,在微信中打开,无法查看刚刚生成的p...

  • 2021-05-12

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

  • ios 微信分享遇到的坑

    didFinishLaunchingWithOptions方法中 与info--URL Types--微信的Url...

  • H5跳转小程序

    一定要细读,官方文档!!!!每一字,一句都暗藏玄机。 我先把我遇到坑分享下,希望对你有用vue环境。 第一微信签名...

  • Vue-微信分享踩坑

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

网友评论

      本文标题:Vue 微信分享遇到的坑

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