Vue登陆失效\未登陆跳转页面,在登陆后回到当时页面

场景:

直接提供某个页面路径带了很多参数,然后退回到登陆页面,再登陆就回到该页面。

场景一:

登录过期后回到登陆页;

javascript 复制代码
let num = 0 
service.interceptors.response.use(
    (response) => {
        const res = response.data;

        if (res.code !== 200 && res.code !== '200' && !response.config.headers.apisass) {
            if (res.code == 2010) {
                num = num + 1;
                if (num == 1) {
                    return (window.location.href = window.location.origin + '/#/login?backUrl=' + encodeURIComponent(window.location.href));
                }
            }
            if (res.code === 2011) {
                num = num + 1;
                if (num == 1) {
                    return (window.location.href = window.location.origin + '/#/login?backUrl=' + encodeURIComponent(window.location.href));
                } 如果不判断就会多次拼接 window.location.origin是域名
            }
            if (showMsg) {
                Message({
                    message: res.message || res.msg,
                    type: 'error',
                    duration: 2.5 * 1000
                });
                showMsg = false;
                setTimeout(() => {
                    showMsg = true;
                }, 2000);
            }

            return Promise.reject(res.message || res.msg || 'ErrorError');
        } else {
            return res;
        }
    },
}
场景二:

没有登陆直接去

javascript 复制代码
if (!role && to.path !== '/login' && !token) {
        Vue.prototype.$message.info('请登录');
        next('/login?backUrl=' + encodeURIComponent(window.location.href));
        return;
    }
登录处理:
javascript 复制代码
   if (this.$route.query.backUrl) {
                                    window.location.href = decodeURIComponent(this.$route.query.backUrl);
                                } else {
                                    this.$router.push('/loanDataBoard2');
                                }
相关推荐
dog shit6 分钟前
web第十次课后作业--Mybatis的增删改查
android·前端·mybatis
我有一只臭臭6 分钟前
el-tabs 切换时数据不更新的问题
前端·vue.js
七灵微10 分钟前
【前端】工具链一本通
前端
Nueuis1 小时前
微信小程序前端面经
前端·微信小程序·小程序
_r0bin_4 小时前
前端面试准备-7
开发语言·前端·javascript·fetch·跨域·class
IT瘾君4 小时前
JavaWeb:前端工程化-Vue
前端·javascript·vue.js
zhang98800004 小时前
JavaScript 核心原理深度解析-不停留于表面的VUE等的使用!
开发语言·javascript·vue.js
potender4 小时前
前端框架Vue
前端·vue.js·前端框架
站在风口的猪11084 小时前
《前端面试题:CSS预处理器(Sass、Less等)》
前端·css·html·less·css3·sass·html5
程序员的世界你不懂5 小时前
(9)-Fiddler抓包-Fiddler如何设置捕获Https会话
前端·https·fiddler