广州市综治平台前端
xusd
17 hours ago d880dfb0f9a79c51834c9f8a7017d8fa59f14f36
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
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
/*
 * @Company: hugeInfo
 * @Author: ldh
 * @Date: 2022-02-16 11:28:12
 * @LastEditTime: 2024-11-11 20:32:03
 * @LastEditors: lwh
 * @Version: 1.0.0
 * @Description: axios处理方法
 */
import axios from 'axios';
import { catchApiError, appUrl, getSessionStorage, getLocal, info } from '../utils/utility';
 
// 网络异常
function networkException(err) {
    if (err.code >= 400) {
        catchApiError({ content: '抱歉! 网络异常请刷新' });
    } else {
        catchApiError({ content: '抱歉! 网络错误' });
    }
}
 
// api返回结果处理
function resHandle(resData) {
    const { code, data, msg } = resData;
    if (code === 0 || code === '0') {
        // let res_data = data ? aes_decrypt(data) : true;
        return { type: true, data };
    } else if (code === 401 || code === '401') {
        catchApiError({
            content: '抱歉! 登录状态已失效请重新登录',
            loginStatus: 'lose',
        });
        return { type: false };
    } else if (code === 105 || code === '105') {
        return { type: false, code, data, msg };
    } else if (code === 106 || code === '106') {
        return { type: false, code, data, msg };
    } else if (code === -1 || code == '-1') {
        catchApiError({ content: msg });
        return { type: false };
    } else {
        info({ type: 'warning', content: msg });
        return { type: false };
    }
}
 
export const ax = axios;
 
export function request(value = {}) {
    let token = getSessionStorage('customerSystemToken');
 
    // 无token、非登录、非网格单点跳转时
    if (!value.isGrid && !token && value.url !== 'ctAccount/login') {
        catchApiError({
            content: '抱歉!登录状态已失效请重新登录',
            loginStatus: 'lose',
        });
        return { type: false };
    }
 
    // let data = aes_encrypt(JSON.stringify(value.data));
    let data = value.data;
  
    const url =
        value.serviceType === 'thrid'
            ? `${appUrl.baseUrl}/${appUrl[value.service] || ''}/api/thrid/grid/${value.url}`
            : `${appUrl.baseUrl}/${appUrl[value.service] || ''}/api/web/${value.url}`;
 
    const urlAi = `${appUrl.fileUrl}/${appUrl[value.service] || ''}/api/ai/${value.urlAi}`;
 
    if (value.typeAi === 'get') {
        return ax
            .get(urlAi, { params: data, headers: { Authorization: token } })
            .then((response) => {
                return resHandle(response.data);
            })
            .catch((err) => {
                networkException(err);
                return { type: false };
            });
    }
    if (value.typeAi === 'post') {
        return ax
            .post(urlAi, data, { headers: { Authorization: token } })
            .then((response) => {
                return resHandle(response.data);
            })
            .catch((err) => {
                networkException(err);
                return { type: false };
            });
    }
 
    if (value.type === 'get') {
        return ax
            .get(url, { params: data, headers: { Authorization: token } })
            .then((response) => {
                return resHandle(response.data);
            })
            .catch((err) => {
                networkException(err);
                return { type: false };
            });
    } else if (value.type === 'delete') {
        return ax
            .delete(url, { params: data, headers: { Authorization: token } })
            .then((response) => {
                return resHandle(response.data);
            })
            .catch((err) => {
                networkException(err);
                return { type: false };
            });
    } else {
        return ax
            .post(url, data, { headers: { Authorization: token } })
            .then((response) => {
                return resHandle(response.data);
            })
            .catch((err) => {
                networkException(err);
                return { type: false };
            });
    }
}