ProcessRequest.ets 1.6 KB

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