config.js文件
const devBaseURL = "https://mp.jkyspt.cn";
const proBaseURL = "https://mp.jkyspt.cn";
// const devBaseURL = "https://mptest.jkyspt.cn";
// const proBaseURL = "https://mptest.jkyspt.cn";
export const BASE_URL = process.env.NODE_ENV === 'development' ? devBaseURL: proBaseURL;
export const TIMEOUT = 5000;
api.js文件
import axios from "axios";
//引入进度条
import Nprogress from "nprogress";
//引入进度条样式
import 'nprogress/nprogress.css'
import { BASE_URL, TIMEOUT } from "./config";
import router from "../router/index"
//利用axios对象的方法create,去创建一个axios实例
const service = axios.create({
//基础路径
baseURL:BASE_URL,
//请求超时时间 (5s内没响应就失败了)
timeout:TIMEOUT
})
//请求拦截器
//axios实例的拦截器的request请求使用配置对象,返回配置对象
service.interceptors.request.use((config)=>{
//进度条开始
// if (config.method == 'get') {
// config.headers['Content-Type'] = 'application/json'
// }
// else {
// config.headers['Content-Type'] = 'application/x-www-form-urlencoded'
// }
if(localStorage.getItem('user')!=null && config.headers.OPENID === undefined) {
config.headers.OPENID = localStorage.getItem('user')
}
Nprogress.start()
//请求成功的返回配置对象
return config
},(error)=>{
//请求失败的返回,后面的then或者catch回调随便写不写
return Promise.reject(error)
})
//响应拦截器
service.interceptors.response.use((response)=>{
//进度条结束
console.log();
if(response.data.code==300){
router.push({
path:"/404"
})
return
}
Nprogress.done()
//响应成功的返回
return response
},(error)=>{
Nprogress.done()
//响应失败的返回
return Promise.reject(error)
})
//导出axios实例
export default ({ url, method = 'GET', params = {}, data = {}, headers = {} }) => {
return service({
url,
method,
params,
data,
headers
})
}
http.js文件
import service from "./api";
export const editpassword= ({
password_old,
password,
password2
})=>service({
url:"请求地址",
method:"post",
data:{
password_old,
password,
password2
}
})