HarmonyOS 鸿蒙应用开辟 (七、HTTP网络组件 axios 先容及封装使用)_鸿蒙axi ...

打印 上一主题 下一主题

主题 820|帖子 820|积分 2460

必要设置 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<T = any> extends BaseResponse {  
    //wanAndroid-API响应体
    data: T | any;
    //拓展xxx-API响应体
    }
/**


  • 封装后,不支持传入拦截器
  • 必要自己界说接口继承 AxiosRequestConfig范例
  • 从而支持传入拦截器,但拦截器选项应为可选属性
  • 之后哀求实例传入的options为继承了AxiosRequestConfig的自界说范例
    */

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

科技颠覆者

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表