#鸿蒙通关秘籍#如何在HarmonyOS上使用封装后的h_request网络库实现简单的网络请求?

HarmonyOS
2024-11-29 15:38:23
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
墨海涛WAN

在HarmonyOS中引入封装的h_request网络库,可以通过以下步骤实现简化的网络请求:

  1. 在项目的dependencies中引入网络库:
"dependencies": {
    "@yyz116/h_request": "1.0.1"
}
  1. 使用http.ts工具类配置全局的请求设置:
import Request, { HttpRequestConfig, HttpResponse } from '@yyz116/h_request';

const $u = {
  http: new Request(),
};

globalThis.$http = $u.http;

export const setRequestConfig = () => {
  globalThis.$http.setConfig((config: HttpRequestConfig) => {
    config.baseURL = "http://175.178.126.10:8000/api/v1";
    return config;
  });

  globalThis.$http.interceptors.request.use(
    (config) => {
      console.log('请求拦截');
      return config;
    },
    (error) => {
      return Promise.reject(error);
    }
  );

  globalThis.$http.interceptors.response.use(
    (response: HttpResponse) => {
      console.log('响应拦截');
      if (response.data.code == 401) {
        console.log('请登录');
      }
      return response;
    },
    (error) => {
      return Promise.reject(error);
    }
  );
};
  1. 在应用中直接调用封装好的接口进行请求:
import { getSwiperList, getHotMovie } from "../common/api/home";

getSwiperList().then((res) => {
  console.log(res.data);
}).catch((error) => {
  console.error(error);
});

getHotMovie({ start: 0, count: 1, city: "郑州" }).then((res) => {
  console.log(res.data);
}).catch((error) => {
  console.error(error);
});
分享
微博
QQ
微信
回复
2024-11-29 16:42:54
相关问题
网络请求数据处理
366浏览 • 1回复 待解决
HarmonyOS网络请求JSON转换问题
683浏览 • 1回复 待解决