123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596 |
- import axios from 'axios';
- import { Message } from 'element-ui';
- import { getUserInfo } from '@/utils/auth';
- import store from '@/store';
- axios.defaults.withCredentials = true; // 跨域请求时是否需要使用凭证
- axios.defaults.dataType = 'json';
- axios.defaults.headers['cache-control'] = 'no-cache';
- axios.defaults.headers['Content-Type'] = 'application/json';
- axios.defaults.headers['X-Requested-With'] = 'XMLHttpRequest';
- const service = axios.create({
- baseURL: process.env.VUE_APP_BASE_API,
- // withCredentials: true, // 跨域请求时发送 cookies
- timeout: 30000
- });
- // 请求拦截器
- service.interceptors.request.use(
- config => {
- config.headers['Content-Type'] = 'application/json';
- return config;
- },
- error => {
- return Promise.reject(error);
- }
- );
- // 响应拦截器
- service.interceptors.response.use(
- response => {
- const res = response.data;
- if (res.code === 404) {
- Message({
- message: '请求的资源不存在',
- type: 'error',
- duration: 3 * 1000
- });
- return Promise.reject(new Error(res.message || 'Error'));
- }
- // 返回数据失败
- if (res.status === 0) {
- Message({
- message: res.error,
- type: 'error',
- duration: 3 * 1000
- });
- return Promise.reject(new Error(res.error || 'Error'));
- }
- // -1 连接会话无效
- if (res.status === -1) {
- Message({
- message: res.error,
- type: 'error',
- duration: 3 * 1000
- });
- store.dispatch('user/resetSessionID').then(() => {
- location.reload();
- });
- return Promise.reject(new Error(res.error || 'Error'));
- }
- return res;
- },
- error => {
- Message({
- message: error.message,
- type: 'error',
- duration: 3 * 1000
- });
- return Promise.reject(error);
- }
- );
- /**
- * 得到必需的请求参数
- * @param {String} MethodName 请求方法名
- *
- * @returns {Object} 返回必需的请求参数
- * */
- export function getRequestParams(MethodName) {
- const { session_id, user_code, user_type } = getUserInfo();
- return {
- MethodName,
- UserCode: user_code,
- UserType: user_type,
- SessionID: session_id
- };
- }
- export { service as request };
|