## Http

网络请求框架库

+ 基于 HarmonyOS NEXT api9 开发
+ 自己使用,便于有问题进行修改处理
+ 基于ohos.net.http封装,后续可能需要修改为RemoteCommunicationKit

### 安装
+ 方式一：在Terminal窗口中执行安装命令。
```ts
ohpm install @yic/http
```
+ 方式二：在工程的oh-package.json5中设置三方包依赖，配置示例如下：
```ts
"dependencies": {
    "@yic/http": "^1.0.1"
  }
```

### 防抖和节流工具使用

#### 1. 引用导入
```ts
import { Request } from '@yic/http';
```

#### 2. 配置

```ts
  onPageShow(){
    HttpConfig.getInstance().config('https://test.com',(net)=>{
      net.setConnectTimeout(30_000);
      net.setReadTimeout(30_000);
      net.addInterceptor(new LogInterceptor())
      net.addInterceptor(new RetryInterceptor(3))
    })
  }
```

#### 3.调用接口

+ 创建一个Bean类
```ts
export interface DataResult<T> {
  data:T;
  errorCode:number;
  errorMsg:string;
}

export class Bean implements DataResult<string>{
  data: string;
  errorCode: number;
  errorMsg: string;
}
```
+ 调用
```ts
  Button().onClick(()=>{
        Request.Post<Bean>("/login",(request)=>{
          request.setParam("username","test");
          request.setParam("password","12344");
        }).then((response)=>{
            let result = response.data
        }).catch((err)=>{
            console.info('error', JSON.stringify(err))
        })
      })
```

### 📚开源协议

本项目基于 [Apache License 2.0](https://www.apache.org/licenses/LICENSE-2.0.html) ，请自由地享受和参与开源。
