RobotErrorHandleRequest.ets 1.3 KB

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