在微信网页中,可能只需要得到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
}
来源:oschina
链接:https://my.oschina.net/u/4380330/blog/3413473