微信网页静默授权 --- snsapi_base
在微信网页中,可能只需要得到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 }