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');
                                }
相关推荐
摘星编程9 分钟前
React Native for OpenHarmony 实战:ProgressBar 进度条详解
javascript·react native·react.js
慧一居士12 分钟前
vite.config.ts 配置使用说明,完整配置示例
前端
wusp199419 分钟前
nuxt3模块化API架构
前端·javascript·nuxt3
沛沛老爹24 分钟前
Web开发者进阶AI:企业级Agent Skills安全策略与合规架构实战
前端·人工智能·架构
摘星编程27 分钟前
React Native for OpenHarmony 实战:SegmentControl 分段控件详解
javascript·react native·react.js
摘星编程32 分钟前
React Native for OpenHarmony 实战:ProgressRing 环形进度详解
javascript·react native·react.js
遗憾随她而去.1 小时前
前端首屏加载时间的度量:FCP、LCP等指标的规范理解
前端
TAEHENGV1 小时前
React Native for OpenHarmony 实战:数学练习实现
javascript·react native·react.js
CDwenhuohuo1 小时前
安卓app巨坑 nvue后者页面要写画笔绘制功能nvue canvas
前端·javascript·vue.js
一只小bit1 小时前
Qt 事件:覆盖介绍、处理、各种类型及运用全详解
前端·c++·qt·cpp