qvt-cli
Version:
提供多端响应式设计的模板框架
40 lines (36 loc) • 951 B
text/typescript
import { boot } from 'quasar/wrappers';
import axios, { AxiosInstance } from 'axios';
declare module '@vue/runtime-core' {
interface ComponentCustomProperties {
$axios: AxiosInstance;
$api: AxiosInstance;
}
}
const api = axios.create({ baseURL: '' });
export const setApiBaseUrl = (url: string) => {
api.defaults.baseURL = `http://${url}:9700`;
};
api.interceptors.response.use(
(response) => {
const res = response.data;
if (res.code === 200 || res.code === 500) {
return res;
} else {
return Promise.reject(new Error(res.message));
}
},
(error) => {
console.log(error); // for debug
const e = {
message: error,
code: 0,
};
return Promise.reject(e);
},
);
export default boot(({ app }) => {
// app.config.globalProperties.$axios = axios;
// app.config.globalProperties.$api = api;
// app.config.globalProperties.setApiBaseUrl = setApiBaseUrl;
});
export { api };