微信网页静默授权 --- snsapi_base

断了今生、忘了曾经 提交于 2020-12-13 14:43:01

在微信网页中,可能只需要得到openId,那么我们需要使用静默授权方式。

1. 初始化过程中判读是否存在code

async created () {
    let code = this.getQueryString('token')
    if (code) {
      await this.getUser(code)
    } else {
      this.getCode()
    }
  }

2. 获取code方式

getCode() {
   let urlNow = encodeURIComponent(window.location.origin + window.location.pathname)
    let url = `${后端域名}/url?brand=${公众号品牌名称}&url=${urlNow}&scopes=snsapi_base`
    window.location.replace(url)        
} 

3. 截取token【用于请求后端接口,获取openId】

// 获取url参数
    getQueryString (name) {
      let reg = new RegExp('(^|&)' + name + '=([^&]*)(&|$)', 'i')
      let r = window.location.search.substr(1).match(reg)
      if (r != null) {
        return unescape(r[2])
      }
      return null
    }  
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!