HarmonyOS鸿蒙ArkTS,封装http网络请求

HarmonyOS鸿蒙ArkTS,封装http网络请求

前提:

要想使用http请求,系统必须要具备ohos.permission.INTERNET权限,在model.json5文件中的module模块下添加如下请求权限:

在module.json5文件中

配置

"requestPermissions": [
  {
    "name": "ohos.permission.INTERNET"
  }
]

定义响应格式 Response:

在文件中定义,文件目录自定义

export default class  Response {
  /**
   * 响应码
   */
  code:number
  /**
   * 响应消息
   */
  message:string
  /**
   * 响应数据
   */
  data:any
}

请求封装

//导入请求
import http from '@ohos.net.http';
//响应格式
import Response from '../inittype/public'

//导出去一个请求函数 使用axios风格请求数据、参数可自行增加
export function request(url:string,method: http.RequestMethod,data?:any): Promise<Response> {
  const BASE_URL =  "请求根地址"
  let httpRequest = http.createHttp();
  let responseResult = httpRequest.request( BASE_URL+ url,{
    method: method,
    //请求头设置
    header: {
      'Content-Type': 'application/json'
   },
    //携带额外参数
    extraData: JSON.stringify(data),
  });

  let response = new Response();
  // 处理数据,并返回
  return responseResult.then((result: http.HttpResponse) => {
    if (value.responseCode === 200) {
      let res: Response = JSON.parse(`${result.result}`);
      response.data = res.data;
      response.code = res.code;
      response.message = res.message;
    } else {
      response.message = '请求错误';
      response.code = 400;
    }
    return response;
  }).catch(() => {
    response.message = '请求错误';
    response.code = 400;
    return response;
  });
}

api封装

import http from '@ohos.net.http';
//导入封装好的请求
import { request } from '../utils/request'

/**
 * 获取信息
 */
 export default function getInfo(data) {
  return request(`/learun/adms/user/LoginByOaperson`,http.RequestMethod.POST,data)
}

使用:

至此整个请求封装结束

相关推荐

  1. 鸿蒙 - arkTs网络请求封装和使用

    2024-01-28 11:16:04       46 阅读
  2. HarmonyOS ArkTS HTTP 请求简单封装(二十二)

    2024-01-28 11:16:04       19 阅读
  3. 鸿蒙应用开发-http网络请求封装

    2024-01-28 11:16:04       10 阅读
  4. 鸿蒙HarmonyOS-HTTP网络数据请求

    2024-01-28 11:16:04       41 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-01-28 11:16:04       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-01-28 11:16:04       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-01-28 11:16:04       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-01-28 11:16:04       20 阅读

热门阅读

  1. org.springframework.util.StringUtils 下StringUtils工具类

    2024-01-28 11:16:04       22 阅读
  2. uniapp-app使用富文本编辑器editor

    2024-01-28 11:16:04       32 阅读
  3. RUST笔记: 动态链接库的创建和使用

    2024-01-28 11:16:04       40 阅读
  4. Springboot多数据源连接

    2024-01-28 11:16:04       42 阅读
  5. ValueConverters.NET

    2024-01-28 11:16:04       34 阅读
  6. 初识Cargo-Rust的包管理器

    2024-01-28 11:16:04       37 阅读
  7. 轻松将Word文档转换为PDF:R语言实战教程

    2024-01-28 11:16:04       35 阅读