收藏
回答

微信网页授权时,已经跳转到redirect uri页面了,但是为什么就是获取不到code?

if (!openId) { // 内存内没有openid
  let locationUrl = window.location.href
  // 检测是否参数内有code,若有则跳接口获取openid,若没有则跳授权页
  if (locationUrl.indexOf('code') >= 0) { // 链接里有code
    let url = 'https://api.weixin.qq.com/sns/oauth2/access_token?appid=' + appid + '&secret=' + secret + '&code=' + code + '&grant_type=authorization_code'
    let result = JSON.parse(window.location.href = url)
    openId = result.openId
    if (openId) {
      localStorage.setItem('openId', openId)
      getUserInfoByOpenId(openId)
    }
  } else { // 链接里没有code
    let codeUri = encodeURIComponent(href)
    let url = 'https://open.weixin.qq.com/connect/oauth2/authorize?appid=' + appid + '&redirect_uri=' + codeUri + '&response_type=code&scope=' + scope + '&state=123#wechat_redirect'
    window.location.href = url
  }


回答关注问题邀请回答
收藏

3 个回答

  • 一头陈一头轻
    一头陈一头轻
    09-25

    解决了吗?我也遇到了。。。。

    09-25
    有用
    回复
  • 跨商通
    跨商通
    08-01

    你自己编写一条redirect _url:比如:xxx.com/auth/

    仿写一条回调:xxx.com/auth/?code=xxx&state=123

    然后用浏览器打开它。

    然后你的xxx.com服务器端,就能拿到这个code了。

    然后网页授权的时候,自然也能拿到真code了。

    08-01
    有用
    回复 2
    • Sthiramati.
      Sthiramati.
      08-02
      您好 能细说一下吗
      08-02
      回复
    • 跨商通
      跨商通
      08-02回复Sthiramati.
      哪句看不懂?
      08-02
      回复
  • hello world
    hello world
    07-31

    你怎么确认已经跳转到redirect uri页面

    07-31
    有用
    回复 5
    • 张梦
      张梦
      07-31
      看到的,自己配置的回调页面已经显示出来了,但是“复制链接”的时候,链接后面没有拼接code
      07-31
      回复
    • 博航渐远
      博航渐远
      07-31
      1
      07-31
      回复
    • 博航渐远
      博航渐远
      07-31
      2
      07-31
      回复
    • 戒糖戒甜
      戒糖戒甜
      08-12回复博航渐远
      你解决了吗
      08-12
      回复
    • tank
      tank
      08-28回复张梦
      解决了吗?
      08-28
      回复
登录 后发表内容