当前位置:   article > 正文

鸿蒙 - arkTs:网络请求封装和使用_arkts网络请求

arkts网络请求

1. module.json5文件配置网络请求

  1. {
  2. "module": {
  3. "requestPermissions": [
  4. {
  5. "name": "ohos.permission.INTERNET"
  6. }
  7. ]
  8. }
  9. }

2. 在pages同级创建一个文件夹,起名为api

3. api文件夹下创建index.ts文件,文件内容:

  1. import http from '@ohos.net.http';
  2. // 接口参数格式校验
  3. interface ReqObj {
  4. url: string
  5. params?: object | string | number
  6. }
  7. export default async function getHttpData(reqObj:ReqObj): Promise<any>{
  8. let dataList: any = []
  9. let httpRequest = http.createHttp();
  10. let response = httpRequest.request(
  11. "填写HTTP请求的URL地址",
  12. {
  13. // 接口请求method
  14. method: http.RequestMethod.POST,
  15. // 接口请求头
  16. header: {
  17. 'Content-Type': 'application/json'
  18. },
  19. //使用POST请求时此字段用于传递内容
  20. extraData: {
  21. data: ''
  22. },
  23. // 可选,指定返回数据的类型
  24. expectDataType: http.HttpDataType.STRING,
  25. }
  26. );
  27. await response.then((data) => {
  28. const code = data.responseCode
  29. if (code == 200) {
  30. const response = data.result + "";
  31. const res = JSON.parse(response).data
  32. dataList = res
  33. }else if (code === 401){
  34. // 登录状态失效
  35. }
  36. }).catch((err) => {
  37. console.info('error:' + JSON.stringify(err));
  38. })
  39. return dataList;
  40. }

4. 调用接口:

  1. // 引入定义的接口
  2. import getHttpData from '../api/index'
  3. @Entry
  4. @Component
  5. struct Index {
  6. async aboutToAppear() {
  7. const list = await getHttpData('接口参数')
  8. console.log(list)
  9. }
  10. build() {
  11. Column() {
  12. }
  13. }
  14. }

本文内容由网友自发贡献,转载请注明出处:https://www.wpsshop.cn/w/小小林熬夜学编程/article/detail/294090
推荐阅读
相关标签
  

闽ICP备14008679号