# yian3

> vue3 super hooks

Latest version **1.0.2** (published 2022-09-28) · MIT license · 0 weekly downloads

## Install

```sh
npm install yian3
pnpm add yian3
yarn add yian3
bun add yian3
```

## Health

**Score 25/100 (F)** — status: abandoned.

Positive: has types; esm support; no vulnerabilities.

Warnings: low downloads.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 1.0.2 |
| Published | 2022-09-28 |
| First published | 2022-09-27 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | bundled |
| Module format | ESM + CommonJS |
| Dependencies | 1 |
| Unpacked size | 290.7 KB |
| Known vulnerabilities | 0 (+3 in 1 direct dependencies) |
| Install scripts | no |
| GitHub stars | 1 |
| Author | Macrohoo |
| Maintainers | marhoo |
| Keywords | yian, yian3, vueComponent, component, components, antd |

## Links

- npm: https://www.npmjs.com/package/yian3
- Repository: https://github.com/Macrohoo/yian3
- Homepage: https://doc.mboke.top/yian3/yian3.html
- Issues: https://github.com/Macrohoo/yian3/issues
- npm.io page: https://npm.io/package/yian3

## Dependencies (1)

- [nanoid](https://npm.io/package/nanoid.md) ^4.0.0

## Recent versions

- 1.0.2 (latest) — 2022-09-28
- 1.0.1 — 2022-09-27
- 1.0.0 — 2022-09-27

## README

## 📦 Install

```shell
npm install yian3 -S
```

## Quick Start In Vue3

```typescript
//main.ts

import { createYian } from 'yian3'
import 'yian3/dist/style.css';
/* import service from 'your interceptor filepath' */

const $_Y = {
  app,  //应用实例 ❗️此项必须
  service, //import your axios interceptor ❗️此项必须
  baseApi: Array<string> [接口前缀，如 '/v2' 或 '/api'，可填多个元组成数组]
};

app.use(createYian as any, $_Y)

```

```typescript
//global.d.ts 全局声明文件
export {};
declare module "@vue/runtime-core" {
  interface ComponentCustomProperties {
    $yian: typeof import("yian3");
  }
}
```

### 🎩 嵌入axios，加设 1000ms 内重复请求限制
#### 🧊 属性列表
| 属性    |  可选性  |    类型  | 默认值   | 作用     |
|---------|---------|---------|---------|---------|
| url | 必须necessary | String | - | 请求链接 |
| method | 必须necessary | String | - | 请求方法 |
| headers | 非必须unnecessary | String | {'content-type': 'application/json'} | 请求类型 |
| params | 非必须unnecessary | Object | - | 请求参数 |
| expireInfo | 非必须unnecessary | Object | - | 请求过期判断相关的信息 |
```typescript
export default defineComponent({
  methods: {
    getList() {
      //举例1 采用基础接口为baseApi数组中第一个
      this.$yian
        .axios(
          {
            url: "user/login",
            method: "post",
            params: { username: admin, password: 123456 },
          },
          1
        )
        .then(/* ... */);
      //举例2 采用基础接口为baseApi数组中第二个
      this.$yian
        .axios(
          {
            url: "academic/getAcademicField",
            method: "get",
            params: { currentPage: 1, pageSize: 10 },
          },
          2
        )
        .then(/* ... */);
      //举例3 默认采用基础接口为baseApi数组中第一个
      this.$yian.axios({
        url: "qiniu/upload",
        method: "post",
        params: formData,
        headers: { "content-type": "multipart/form-data" },
      });
    },
  },
});
```

## 👉[Documentation文档](https://doc.mboke.top/)

## License

[MIT](https://opensource.org/licenses/MIT)

Copyright (c) 2022-present, Macrohoo

---
_Source: https://npm.io/package/yian3 · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
