HarmonyOS 鸿蒙应用开发 (七、HTTP网络组件 axios 介绍及封装使用)_鸿蒙axios(1)
创始人
2024-11-10 04:38:50
0

需要配置 ohos.permission.INTERNET权限。在工程目录entry\src\main中找到module.json5文件,配置网络请求权限。

{
“module”: {
“name”: “entry”,
“type”: “entry”,
“description”: “$string:module_desc”,
“mainElement”: “EntryAbility”,
“deviceTypes”: [
“phone”
],
“requestPermissions”: [
{
“name”: “ohos.permission.INTERNET”
}
]
}
}

简单使用

import axios from ‘@ohos/axios’
//创建axios的实例
const instance = axios.create({
baseURL: “http://xx.xx.xx.xx”, //基路径,要看API帮助文档的特征来确定基路径
timeout: 5000, //请求超时的时间
headers: {
“Content-Type”: “application/json”
}
})

//响应拦截器,通过响应拦截器进一步对返回的数据做处理
instance.interceptors.response.use((response) => {
//只返回接口有数据的结果
if (200 === response.status) {
return response.data; //接口返回的数据
}
return Promise.reject(response); //表示请求有错,交给catch来处理结构
}, err => {
return Promise.reject(err)
})

/**

  • get请求
  • @param params = {} 查询参数
  • @returns
    */
    export function httpGet(url:string, params = {}) {
    return instance.get(url, {
    params
    })
    }

/**

  • post请求
  • @param data = {} 请求体数据
  • @returns
    */
    export function httpPost(url:string, data = {}) {
    return instance.post(url, {
    data
    })
    }

axios模块封装及使用

axios模块封装:

//AxiosHttp.ets

import axios, {
AxiosInstance,
AxiosRequestConfig,
AxiosRequestHeaders,
AxiosResponse,
InternalAxiosRequestConfig
} from “@ohos/axios”;
import { LogUtils } from ‘…/utils/LogUtils’;

/**

  • 定义接口响应包装类
    */
    export interface BaseResponse {
    //wanAndroid-API响应体
    errorCode: number
    errorMsg: string
    //拓展xxx-API响应体
    }

/**

  • 接口实现类包装,例如有其他业务可以再次继承实现xxxResponse
    */
    export interface ApiResponse extends BaseResponse {
    //wanAndroid-API响应体
    data: T | any;
    //拓展xxx-API响应体
    }

/**

  • 封装后,不支持传入拦截器
  • 需要自己定义接口继承 AxiosRequestConfig类型
  • 从而支持传入拦截器,但拦截器选项应为可选属性
  • 之后请求实例传入的options为继承了AxiosRequestConfig的自定义类型
    */

相关内容

热门资讯

八分钟辅助!极速暗宝辅助,一贯... 八分钟辅助!极速暗宝辅助,一贯真的有辅助技巧(有挂神器)1、许多玩家不知道极速暗宝辅助辅助怎么退出观...
一分钟辅助!创乐源辅助软件,果... 一分钟辅助!创乐源辅助软件,果然有辅助工具(有挂讲解)1、一分钟辅助!创乐源辅助软件,果然有辅助工具...
8分钟辅助!微乐自建房辅助多少... 8分钟辅助!微乐自建房辅助多少钱一个月,真是真的是有辅助工具(有挂讲解)小薇(辅助器软件下载)致您一...
第9分钟辅助!闲逸软件安卓版,... 第9分钟辅助!闲逸软件安卓版,真是是有辅助技巧(有挂方略)第9分钟辅助!闲逸软件安卓版,真是是有辅助...
2分钟辅助!衢州都莱破解器,果... 2分钟辅助!衢州都莱破解器,果然是真的有辅助脚本(有挂分享)衢州都莱破解器透视方法中分为三种模型:衢...
第十分钟辅助!丫丫陕西插件,原... 第十分钟辅助!丫丫陕西插件,原来真的有辅助方法(真的有挂)1、不需要AI权限,帮助你快速的进行丫丫陕...
两分钟辅助!阿拉游戏中心辅助工... 两分钟辅助!阿拉游戏中心辅助工具苹果版,总是是有辅助技巧(真实有挂)1、完成阿拉游戏中心辅助工具苹果...
第6分钟辅助!来趣广西友玩脚本... 第6分钟辅助!来趣广西友玩脚本辅助,一直是真的有辅助方法(有挂方法);1、许多玩家不知道来趣广西友玩...
第七分钟辅助!如何下载安装胡乐... 第七分钟辅助!如何下载安装胡乐辅助脚本,真是是有辅助神器(有挂规律)如何下载安装胡乐辅助脚本辅助器是...
第九分钟辅助!新导游正版辅助,... 第九分钟辅助!新导游正版辅助,原来真的是有辅助攻略(有挂规律)一、新导游正版辅助可以开透视的定义与意...