zhaoxiaoqiang
2023-08-25 9583630b27fdd2f2566995a78d8238ce504f3523
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
/*
 * @Author: zhaoxiaoqiang 287285524@qq.com
 * @Date: 2023-04-11 15:30:24
 * @LastEditors: zhaoxiaoqiang 287285524@qq.com
 * @LastEditTime: 2023-07-11 16:23:02
 * @FilePath: \qyp_finlean_plat\src\utils\statusCodeManage.js
 * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
 */
import { Message } from 'element-ui';
import router from '../router'
import { MessageBox } from 'element-ui';
import {  removeSessionId,removeUserName } from '@/utils/auth'
 
 
  export  function showTipOfStatuCode(error){
    // get请求的登录超时的拦截(用于excel和zip的下载拦截)
    if (
        error.response.request.responseType === 'arraybuffer'
    ) {
        const blob = new Blob([error.response.data], {
            type: 'text/plain'
        });
        let downloadResult;
        const reader = new FileReader();
        reader.readAsText(blob, 'utf-8');
        reader.onload = function (){
            downloadResult = JSON.parse(reader.result);
            if (
                Number(downloadResult.status) === 90040006 ||
                Number(downloadResult.status) === 90040014
            ) {
                // 单点登录控制
                // Cookies.remove('scene_stag_bus_user');
                // Cookies.remove('scene_stag_bus_sid');
                // router.push({name: 'login'});
            
                MessageBox.alert('登录超时,请重新登录', '提示', {
                    confirmButtonText: '确定',
                    showClose:false,
                    callback: action => {
                        localStorage.removeItem("qyp_routers")
                        removeSessionId()
                        removeUserName()
                        router.push({path:'/login'});  
                        throw SyntaxError();
                    }
                  });
            } else if (downloadResult.status === -999) {
                Message.error('系统异常,请稍后重试');
            } else {
                // Vue.prototype.$Modal.warning({
                //     title: '提示',
                //     content:downloadResult.errMsg ? downloadResult.errMsg : downloadResult.message,
                // });
                Message.error( downloadResult.errMsg ? downloadResult.errMsg : downloadResult.message)
            }
        };
    } else {
        // 对应post的拦截
        const _errorCode = error.response.data.errorCode;
        if (_errorCode === 99 || error.response.data.status === 90040006) {
            // 单点登录控制
            // Cookies.remove('scene_stag_bus_user');
            // Cookies.remove('scene_stag_bus_sid');
            // router.push({name: 'login'})
            // Message.error('登录超时,请重新登录');
            MessageBox.alert('登录超时,请重新登录', '提示', {
                confirmButtonText: '确定',
                showClose:false,
                callback: action => {
                    localStorage.removeItem("qyp_routers")
                    removeSessionId()
                    removeUserName()
                    router.push({path:'/login'});   
                    throw SyntaxError();
                }
              });
             
        } else if (_errorCode === 11004) {
            //
            this.alertModule('', error.response.data.errMsg);
        } else if (_errorCode === -999) {
            //
            Message.error('系统异常,请稍后重试');
        } else {
            let _msg = '网络异常,请稍后重试';
            if (error.response.data.errMsg) {
                _msg = error.response.data.errMsg;
            } else if (error.response.data.message) {
                _msg = error.response.data.message;
            }
            Message.error( _msg);
        }
    }
}