首先了解一下静默与非静默授权的区别
静默授权「snsapi_base」
以 snsapi_base 为 scope 发起的网页授权,不用用户手动授权,跳转授权回到回调页面,只能获取用户openId
非静默授权 「snsapi_userinfo」
以 snsapi_userinfo 为 scope 发起的网页授权,弹出授权页,用户手动点击授权,授权后可以获取用户的基本信息。
了解完成我们来看一下具体步骤
流程就是配置跳转授权页路径参数项 / 回调路径中取 code 码 / 根据 code 码调用后台接口获取 openId
getCode() {
const {
AppId } = config; // 公众号配置的 AppId
const {
code } = getSearchParams(); // 获取请求路径 code 参数 ( getSearchParams 路径取参数方法 )
// 拼接重定向的路径,授权成功回调的地址「此处因为业务需要,正常只需window.location.href获取当前路径即可」
const local = `${
config.baseURL + api.redirectToWxPay
}?url=${
encodeURIComponent(window.location.href)}`;
// 验证 code
if (code == null || code == "") {
// 路径 code 不存在,调起静默授权
window.location.href = `http