sinat_37897528
sinat_37897528
采纳率50%
2019-05-24 14:57

网页获得微信网页code值后刷新问题

5

按官网文档 配置了网页授权的跳转路径 这样在返回的url上就会带有code参数 获得用户信息
然而这个code只能使用一次 ,再在本页面刷新 就会报错,或者复制链接,分享什么的 也会因为这个code值
不能正确的获得openid

有什么办法来确保这个url的有效性
说的乱七八糟
附上代码:

页面初始化方法,判断url上是否有code参数
图片说明

具体的方法 跳转
图片说明!

然后url就会带有code值

图片说明

这中情况就不能再刷新了 分享的链接也会因为带有这个code而报错

尝试过后台http访问链接 ,后台重定向跳转都不成功

有别的办法获得code 或者处理url的方法嘛
跪求

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

3条回答

  • baidu_33552969 下一个喵呜 2年前

    不是很懂不解决问题就放一个别人的博客链接的行为

    你这个报错应该是code已经被使用了而导致的报错两种方式可以解决
    一种是在getWecahtUserInfo()的方法里面,使用了code之后操作路由,将路由里面的code去掉
    具体参考:

    import merge from 'webpack-merge';

    修改原有参数

    this.$router.push({
        query:merge(this.$route.query,{'maxPrice':'630'})
    })

    新增一个参数:
    this.$router.push({
        query:merge(this.$route.query,{'addParams':'我是新增的一个参数,哈哈哈哈'})
    })

    替换所有参数:
    this.$router.push({
        query:merge({},{'maxPrice':'630'})
    })

    或者自己百度。

    另一种是在写入用户信息之后利用路由刷页面顺带解决了头像不显示的问题:
    this.$router.replace({
    name: this.$route.name
    })

    点赞 评论 复制链接分享
  • qq_42403962 一直很蔡 6月前

    可以使用H5的pushState方法,改变URL但是不会刷新

    点赞 评论 复制链接分享
  • caozhy 回答这么多问题就耍赖把我的积分一笔勾销了 2年前