封装instence.js
import axios from 'axios'
import { Toast } from 'vant'
// const baseURL = process.env.NODE_ENV == 'development' ? '/api/oam' :process.env.VUE_APP_API_URL
const request = {
}
request.http = axios.create({
timeout: 30000,
baseURL: '/api/oa',** //**默认请求地址是/api/oa****
})
// 请求拦截
request.http.interceptors.request.use(
(config) => {
console.log(`请求${config.url}`, config)
return config
}, (error) => Promise.reject(error),
)
// 响应拦截
request.http.interceptors.response.use((response) => {
console.log('%c ===>', 'font-size:20px;color:#5c5c;', response)
if (+response.data.m === 1002 || +response.data.m === 100 || response.data.Code === 320 || response.data.Code === -1) {
// eslint-disable-next-line no-restricted-globals
location.href = `${process.env.VUE_APP_HOST_URL2}/Login?callbackUrl=${encodeURIComponent(
// eslint-disable-next-line no-restricted-globals
location.href,
)}`
return
}
if (response.data.d && response.data.d.msg) {
Toast(response.data.d.msg)
// eslint-disable-next-line consistent-return
return Promise.reject(response.data.d.msg)
}
if (response.data.e && !response.config.noShowError) {
Toast(response.data.e)
// eslint-disable-next-line consistent-return
return Promise.reject(response.data)
}
// eslint-disable-next-line consistent-return
return response.data
}, (error) => {
if (error.response) {
const { status } = error.response
if (status === 500 || status === 502) {
Toast('服务器异常')
} else if (status !== 200 && error.response.data.error) {
Toast(error.response.data.error)
}
return Promise.reject(error.response)
}
Toast('网络异常或链接超时请重试')
// eslint-disable-next-line prefer-promise-reject-errors
return Promise.reject('网络异常或链接超时请重试')
})
export default request
接口二次封装-ohter.js
此部分调用接口baseUrl不是默认的‘api/oa’而是‘/’,续作如下修改
import http from '../instance'
const request = http.http
const urls = {
getSysUrl: 'Sysfunction/GetSysfunctionUrlByObj',
getSysId: 'Sysfunction/UpdateSysfunctionRes',
getWxDetail: 'Sysfunction/GetSysfunctionResList',
}
// 重点
**const baseConfig = {
baseURL: '/',
}**
/* 获取Url */
export const getSysUrl = function getSysUrl(body) {
return request.post(urls.getSysUrl, body, baseConfig)
}
/* 获取SysId */
export const getSysId = function getSysId(body) {
return request.post(urls.getSysId, body, baseConfig)
}
/* 获取小程序信息 */
export const getWxDetail = function getWxDetail(body) {
return request.post(urls.getWxDetail, body, baseConfig)
}