api.js 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. import axios from 'axios';
  2. // 根据环境自动切换API地址
  3. const API_BASE_URL = process.env.NODE_ENV === 'production'
  4. ? '/api' // 生产环境使用相对路径,通过Nginx代理
  5. : 'http://localhost:3001/api'; // 开发环境使用本地地址
  6. const api = axios.create({
  7. baseURL: API_BASE_URL,
  8. timeout: 10000,
  9. });
  10. api.interceptors.response.use(
  11. (response) => response,
  12. (error) => {
  13. console.error('API Error:', error);
  14. return Promise.reject(error);
  15. }
  16. );
  17. export const pendingToolsApi = {
  18. getList: (params) => api.get('/pending-tools', { params }),
  19. getDetail: (id) => api.get(`/pending-tools/${id}`),
  20. update: (id, data) => api.put(`/pending-tools/${id}`, data),
  21. delete: (id) => api.delete(`/pending-tools/${id}`),
  22. };
  23. export const autoAccessTasksApi = {
  24. getList: (params) => api.get('/auto-access-tasks', { params }),
  25. getDetail: (id) => api.get(`/auto-access-tasks/${id}`),
  26. update: (id, data) => api.put(`/auto-access-tasks/${id}`, data),
  27. };
  28. export const toolsLibraryApi = {
  29. getList: (params) => api.get('/tools-library', { params }),
  30. getDetail: (id) => api.get(`/tools-library/${id}`),
  31. update: (id, data) => api.put(`/tools-library/${id}`, data),
  32. publish: (id) => api.post(`/tools-library/${id}/publish`),
  33. };
  34. export default api;