StorageRequest.ets 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. import axios, { AxiosError, AxiosResponse, AxiosRequestHeaders,AxiosRequestConfig, CreateAxiosDefaults,InternalAxiosRequestConfig } from '@ohos/axios';
  2. import CommonConstants from '../../constants/CommonConstants';
  3. import { printError, printRequest, printResponse, handleRes } from './Helps';
  4. const baseUrl = "http://192.168.101.4:8088/"
  5. const DEBUG = true //
  6. // 创建实例
  7. const StorageRequest = axios.create(
  8. {
  9. baseURL: baseUrl,
  10. headers: {
  11. 'Content-Type': 'application/json;charset=UTF-8',
  12. },
  13. timeout: 60 * 1000,
  14. }
  15. )
  16. // 添加请求拦截器
  17. StorageRequest.interceptors.request.use((config: InternalAxiosRequestConfig) => {
  18. // 以后登录之后可以在这里传
  19. config.headers.Authorization = CommonConstants.AUTH_TOKEN
  20. printRequest(config)
  21. return config;
  22. }, (error:AxiosError) => {
  23. // 对请求错误做些什么
  24. printError(error)
  25. return Promise.reject(error);
  26. });
  27. // 添加响应拦截器
  28. StorageRequest.interceptors.response.use((response: AxiosResponse)=> {
  29. // 对响应数据做点什么
  30. printResponse(response)
  31. let [success, msg] = handleRes(response)
  32. // console.debug("handleRes的返回结果 ", success, msg)
  33. if (success) {
  34. return response.data.data;
  35. }
  36. else {
  37. return Promise.reject(msg)
  38. }
  39. }, (error:AxiosError)=> {
  40. // 对响应错误做点什么
  41. printError(error)
  42. return Promise.reject(error);
  43. });
  44. export default StorageRequest;