支持是否需要设置token属性,自定义返回码消息。
This commit is contained in:
		
							parent
							
								
									5434ceb1a3
								
							
						
					
					
						commit
						25b114aae7
					
				
							
								
								
									
										6
									
								
								ruoyi-ui/src/utils/errorCode.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								ruoyi-ui/src/utils/errorCode.js
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,6 @@
 | 
			
		||||
export default {
 | 
			
		||||
  '401': '认证失败,无法访问系统资源',
 | 
			
		||||
  '403': '当前操作没有权限',
 | 
			
		||||
  '404': '访问资源不存在',
 | 
			
		||||
  'default': '系统未知错误,请反馈给管理员'
 | 
			
		||||
}
 | 
			
		||||
@ -2,6 +2,7 @@ import axios from 'axios'
 | 
			
		||||
import { Notification, MessageBox, Message } from 'element-ui'
 | 
			
		||||
import store from '@/store'
 | 
			
		||||
import { getToken } from '@/utils/auth'
 | 
			
		||||
import errorCode from '@/utils/errorCode'
 | 
			
		||||
 | 
			
		||||
axios.defaults.headers['Content-Type'] = 'application/json;charset=utf-8'
 | 
			
		||||
// 创建axios实例
 | 
			
		||||
@ -12,22 +13,24 @@ const service = axios.create({
 | 
			
		||||
  timeout: 10000
 | 
			
		||||
})
 | 
			
		||||
// request拦截器
 | 
			
		||||
service.interceptors.request.use(
 | 
			
		||||
  config => {
 | 
			
		||||
    if (getToken()) {
 | 
			
		||||
      config.headers['Authorization'] = 'Bearer ' + getToken() // 让每个请求携带自定义token 请根据实际情况自行修改
 | 
			
		||||
    }
 | 
			
		||||
    return config
 | 
			
		||||
  },
 | 
			
		||||
  error => {
 | 
			
		||||
service.interceptors.request.use(config => {
 | 
			
		||||
  // 是否需要设置 token
 | 
			
		||||
  const isToken = (config.headers || {}).isToken === false
 | 
			
		||||
  if (getToken() && !isToken) {
 | 
			
		||||
    config.headers['Authorization'] = 'Bearer ' + getToken() // 让每个请求携带自定义token 请根据实际情况自行修改
 | 
			
		||||
  }
 | 
			
		||||
  return config
 | 
			
		||||
}, error => {
 | 
			
		||||
    console.log(error)
 | 
			
		||||
    Promise.reject(error)
 | 
			
		||||
  }
 | 
			
		||||
)
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
// 响应拦截器
 | 
			
		||||
service.interceptors.response.use(res => {
 | 
			
		||||
    const code = res.data.code
 | 
			
		||||
    // 未设置状态码则默认成功状态
 | 
			
		||||
    const code = res.data.code || 200;
 | 
			
		||||
    // 获取错误信息
 | 
			
		||||
    const message = errorCode[code] || res.data.msg || errorCode['default']
 | 
			
		||||
    if (code === 401) {
 | 
			
		||||
      MessageBox.confirm(
 | 
			
		||||
        '登录状态已过期,您可以继续留在该页面,或者重新登录',
 | 
			
		||||
@ -42,9 +45,15 @@ service.interceptors.response.use(res => {
 | 
			
		||||
          location.reload() // 为了重新实例化vue-router对象 避免bug
 | 
			
		||||
        })
 | 
			
		||||
      })
 | 
			
		||||
    } else if (code === 500) {
 | 
			
		||||
      Message({
 | 
			
		||||
        message: message,
 | 
			
		||||
        type: 'error'
 | 
			
		||||
      })
 | 
			
		||||
      return Promise.reject(new Error(message))
 | 
			
		||||
    } else if (code !== 200) {
 | 
			
		||||
      Notification.error({
 | 
			
		||||
        title: res.data.msg
 | 
			
		||||
        title: message
 | 
			
		||||
      })
 | 
			
		||||
      return Promise.reject('error')
 | 
			
		||||
    } else {
 | 
			
		||||
 | 
			
		||||
@ -67,6 +67,7 @@ public class BaseController
 | 
			
		||||
    {
 | 
			
		||||
        TableDataInfo rspData = new TableDataInfo();
 | 
			
		||||
        rspData.setCode(HttpStatus.SUCCESS);
 | 
			
		||||
        rspData.setMsg("查询成功");
 | 
			
		||||
        rspData.setRows(list);
 | 
			
		||||
        rspData.setTotal(new PageInfo(list).getTotal());
 | 
			
		||||
        return rspData;
 | 
			
		||||
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user