小程序
小游戏
企业微信
微信支付
扫描小程序码分享
是否再次进入已授权的H5页面时,会自动带上code=CODE?
3 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
本地存储判断
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
是否再次进入已授权的H5页面时,会自动带上code=CODE?不会的,每次都会重新生成code,毕竟code的有效期只有5分钟
const { code } = to.query; const restoreUriKey = 'RESTORE_URI'; if (!code) { localStorage.setItem(restoreUriKey, window.location.href); // 授权 window.location.href = `https://open.weixin.qq.com/connect/oauth2/authorize?appid=${process.env.VUE_APP_WECHAT_APPID}&redirect_uri=${encodeURIComponent(`${process.env.VUE_APP_REDIRECT_URI}`)}&response_type=code&scope=snsapi_userinfo&state=123#wechat_redirect`; return next(false); } // 后端调用微信后台接口 通过code获取token createToken({ code }) .then(data => { const { token: newToken = '' } = data; if (newToken) { store.commit('token/set', newToken); window.location.href = localStorage.getItem(restoreUriKey) || '/'; } else { window.location.reload(); } }) .catch(() => { window.location.href = localStorage.getItem(restoreUriKey) || '/'; }); return false;
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
本地存储判断
是否再次进入已授权的H5页面时,会自动带上code=CODE?不会的,每次都会重新生成code,毕竟code的有效期只有5分钟
const { code } = to.query; const restoreUriKey = 'RESTORE_URI'; if (!code) { localStorage.setItem(restoreUriKey, window.location.href); // 授权 window.location.href = `https://open.weixin.qq.com/connect/oauth2/authorize?appid=${process.env.VUE_APP_WECHAT_APPID}&redirect_uri=${encodeURIComponent(`${process.env.VUE_APP_REDIRECT_URI}`)}&response_type=code&scope=snsapi_userinfo&state=123#wechat_redirect`; return next(false); } // 后端调用微信后台接口 通过code获取token createToken({ code }) .then(data => { const { token: newToken = '' } = data; if (newToken) { store.commit('token/set', newToken); window.location.href = localStorage.getItem(restoreUriKey) || '/'; } else { window.location.reload(); } }) .catch(() => { window.location.href = localStorage.getItem(restoreUriKey) || '/'; }); return false;
在导航守卫里,他是去判断了这个code 是否存在。如果不存在就去进行授权操作