1 | # apis-man
|
2 |
|
3 | [![npm version](https://img.shields.io/npm/v/apis-man.svg)](https://www.npmjs.com/package/apis-man)
|
4 | [![license](https://img.shields.io/npm/l/apis-man.svg)](https://www.npmjs.com/package/apis-man)
|
5 |
|
6 | 基于 [axios](https://github.com/axios/axios) 封装的接口管理方案
|
7 |
|
8 | ## Features
|
9 |
|
10 | - 接口统一管理
|
11 | - 可配置多个接口服务
|
12 | - 支持 restful 接口
|
13 |
|
14 | ## Installing
|
15 |
|
16 | ```
|
17 | $ npm install apis
|
18 | ```
|
19 |
|
20 | ## Syntax
|
21 |
|
22 | ```javascript
|
23 | new Apis(serverMap, apiMap);
|
24 | ```
|
25 |
|
26 | ## Parameters
|
27 |
|
28 | #### serverMap
|
29 |
|
30 | - serverMap 是服务配置的 map 对象
|
31 | - 服务的参数配置同 axios 中的 [config](https://github.com/axios/axios#request-config) 部分
|
32 | - default 为自定义属性,当 default 为 true 时,api 会使用它做为默认服务配置
|
33 |
|
34 | ```json
|
35 | {
|
36 | "baseServer": {
|
37 | "default": true,
|
38 | "baseUrl": "https://base.apis.com"
|
39 | },
|
40 | "authServer": {
|
41 | "baseUrl": "https://auth.apis.com"
|
42 | },
|
43 | "orderServer": {
|
44 | "baseUrl": "https://base.apis.com/order"
|
45 | }
|
46 | }
|
47 | ```
|
48 |
|
49 | #### apiMap
|
50 |
|
51 | - apiMap 是接口配置的 map 对象
|
52 | - 接口的参数配置同 axios 中的 [config](https://github.com/axios/axios#request-config) 部分,会覆盖服务配置中的参数
|
53 | - server 为自定义属性,表示使用哪个服务配置,当 server 为 null 时,表示使用默认服务配置
|
54 |
|
55 | ```json
|
56 | {
|
57 | "getBaseInfo": {
|
58 | "method": "get",
|
59 | "url": "/info"
|
60 | },
|
61 | "postOrder": {
|
62 | "server": "orderServer",
|
63 | "method": "post",
|
64 | "url": "/order/:id"
|
65 | }
|
66 | }
|
67 | ```
|
68 |
|
69 | ## Custom Config
|
70 |
|
71 | #### `rest`:url 中 restful 参数的值
|
72 |
|
73 | ```javascript
|
74 | // url
|
75 | /order/:id
|
76 |
|
77 | // rest
|
78 | rest: {
|
79 | id: 123
|
80 | }
|
81 |
|
82 | // result
|
83 | /order/123
|
84 | ```
|
85 |
|
86 | ## Interceptors
|
87 |
|
88 | ## Usage
|
89 |
|
90 | ```javascript
|
91 | import Apis from "apis-man";
|
92 | import serverMap from "./serverMap";
|
93 | import apiMap from "./apiMap";
|
94 | const apis = new Apis(serverMap, apiMap);
|
95 |
|
96 | apis.getTest({
|
97 | params: {
|
98 | color: "green"
|
99 | }
|
100 | });
|
101 |
|
102 | apis.postTest({
|
103 | rest: {
|
104 | id: 3
|
105 | },
|
106 | data: {
|
107 | name: "fred"
|
108 | }
|
109 | });
|
110 | ```
|
111 |
|
112 | ## License
|
113 |
|
114 | MIT
|