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伯襟,去創(chuàng)建一個axios實例
const service = axios.create({
? //基礎路徑
? baseURL:BASE_URL,
? //請求超時時間? (5s內(nèi)沒響應就失敗了)
? 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回調(diào)隨便寫不寫
? return Promise.reject(error)
})
//響應攔截器
service.interceptors.response.use((response)=>{
? //進度條結(jié)束
? 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
? }
})