12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697 |
- import axios from 'axios';
- import store from '@/store';
- import { Message } from 'element-ui';
- import { getToken } from '@/utils/auth';
- 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: 10000
- });
- // 请求拦截器
- 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'));
- }
- // 无效的操作用户
- if (res.status === -1) {
- Message({
- message: res.error,
- type: 'error',
- duration: 3 * 1000
- });
- store.dispatch('user/resetSessionID').then(() => {
- window.location.href = '/';
- });
- 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 { token, isHas } = getToken();
- return {
- MethodName,
- UserCode: isHas ? token.user_code : '',
- UserType: isHas ? token.user_type : '',
- SessionID: isHas ? token.session_id : ''
- };
- }
- export { service as request };
|