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