react 组件外js文件路由跳转


需求:在axios 响应拦截中,根据响应判断路由跳转

import { createHashHistory,createBrowserHistory } from 'history'; // 引入 createHashHistory
// 这里根据路由 hash 或 history 进行调用 createHashHistory(),createBrowserHistory()
const history = createHashHistory();  // 调用 createHashHistory
history.push('/login');

 

代码片段

import { createHashHistory } from 'history';   // 引入 createHashHistory
const history = createHashHistory();  // 调用 createHashHistory
// 返回状态判断
axios.interceptors.response.use((res) => {
    // 关闭加载动画
    Toast.hide(toast);
    if (res.data.success === false) {
        // 删除资源,提示信息
        if (res.data.code === '000012') {
            var bindRoleStr = '';  // eslint-disable-line no-unused-vars
            res.data.data.forEach((element, index) => {
                if ((res.data.data.length - 1) === index) {
                    bindRoleStr += element.role_name;
                } else {
                    bindRoleStr += (element.role_name + "、")
                }
            });

            Toast.fail(`当前资源被角色“${bindRoleStr}”绑定,请解除绑定进行删除`); 
        } else if(res.data.code === '000018') {
            // 回话结束
            Toast.fail(res.data.message);
            delCookie('flwebvpn_admin_sessionid');
    
         // 跳转路由
            history.push('/login');
        } else{
            Toast.fail(res.data.message);
        }
    }
    return res;
}, (error) => {
    return Promise.reject(error)
})

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM