@waywake/youzanyun-sdk 2.0.1 → 2.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/cjs/index.js CHANGED
@@ -109,6 +109,17 @@ class HttpError extends Error {
109
109
  this.response = response;
110
110
  }
111
111
  }
112
+
113
+ class YouzanApiError extends Error {
114
+ response;
115
+ constructor(response) {
116
+ const data = response.data;
117
+ const message = typeof data.message === "string" ? data.message : "Youzan API request failed";
118
+ super(message);
119
+ this.name = "YouzanApiError";
120
+ this.response = response;
121
+ }
122
+ }
112
123
  function getRequestUrl(url) {
113
124
  return new URL(url, getBaseUrl()).toString();
114
125
  }
@@ -141,8 +152,14 @@ async function toHttpResponse(resp) {
141
152
  if (!resp.ok) {
142
153
  throw new HttpError(response);
143
154
  }
155
+ if (isFailedApiResponse(response.data)) {
156
+ throw new YouzanApiError(response);
157
+ }
144
158
  return response;
145
159
  }
160
+ function isFailedApiResponse(data) {
161
+ return typeof data === "object" && data !== null && "success" in data && data.success === false;
162
+ }
146
163
  async function post(url, params) {
147
164
  const resp = await fetch(getRequestUrl(url), {
148
165
  method: "POST",
@@ -1,8 +1,8 @@
1
1
  /**
2
2
  * Token 管理
3
3
  */
4
- import type { TokenParams } from './types';
5
- import * as utilHttp from './utils/http';
4
+ import type { TokenGetResponse, TokenParams } from './types';
5
+ import type { HttpResponse } from './utils/http';
6
6
  /**
7
7
  * 获取 Token
8
8
  *
@@ -12,5 +12,5 @@ import * as utilHttp from './utils/http';
12
12
  * 工具型应用获取 Token: authorize_type = authorization_code, 必传 code redirect_uri
13
13
  * 工具型应用/自用型应用刷新 Token: authorize_type = refresh_token, 必传 refresh_token
14
14
  */
15
- export declare function get(params: TokenParams): Promise<utilHttp.HttpResponse<unknown>>;
15
+ export declare function get(params: TokenParams): Promise<HttpResponse<TokenGetResponse>>;
16
16
  //# sourceMappingURL=token.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"token.d.ts","sourceRoot":"","sources":["../../src/token.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAE3C,OAAO,KAAK,QAAQ,MAAM,cAAc,CAAC;AAQzC;;;;;;;;GAQG;AACH,wBAAgB,GAAG,CAAC,MAAM,EAAE,WAAW,2CA4CtC"}
1
+ {"version":3,"file":"token.d.ts","sourceRoot":"","sources":["../../src/token.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAC7D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAUjD;;;;;;;;GAQG;AACH,wBAAgB,GAAG,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC,CA4ChF"}
@@ -27,6 +27,21 @@ export interface RefreshTokenParams extends TokenBaseParams {
27
27
  }
28
28
  /** Token 请求参数联合类型 */
29
29
  export type TokenParams = SilentTokenParams | AuthorizationCodeTokenParams | RefreshTokenParams;
30
+ /** Token 响应数据 */
31
+ export interface TokenData {
32
+ access_token: string;
33
+ expires: number;
34
+ scope: string;
35
+ authority_id?: number;
36
+ refresh_token?: string;
37
+ }
38
+ /** Token 接口响应体 */
39
+ export interface TokenGetResponse {
40
+ success: boolean;
41
+ code?: number;
42
+ message?: string;
43
+ data: TokenData;
44
+ }
30
45
  /** API 调用配置 */
31
46
  export interface ClientConfig {
32
47
  /** 是否使用富文本接口 */
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,QAAQ,GAAG,oBAAoB,GAAG,eAAe,CAAC;AAE9E,mBAAmB;AACnB,UAAU,eAAe;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,oBAAoB;AACpB,MAAM,WAAW,iBAAkB,SAAQ,eAAe;IACxD,cAAc,EAAE,QAAQ,CAAC;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,2BAA2B;AAC3B,MAAM,WAAW,4BAA6B,SAAQ,eAAe;IACnE,cAAc,EAAE,oBAAoB,CAAC;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,eAAe;AACf,MAAM,WAAW,kBAAmB,SAAQ,eAAe;IACzD,cAAc,EAAE,eAAe,CAAC;IAChC,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,qBAAqB;AACrB,MAAM,MAAM,WAAW,GACnB,iBAAiB,GACjB,4BAA4B,GAC5B,kBAAkB,CAAC;AAIvB,eAAe;AACf,MAAM,WAAW,YAAY;IAC3B,gBAAgB;IAChB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,eAAe;AACf,MAAM,WAAW,aAAa;IAC5B,oCAAoC;IACpC,GAAG,EAAE,MAAM,CAAC;IACZ,yBAAyB;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,kCAAkC;IAClC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW;IACX,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,uBAAuB;IACvB,KAAK,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrD,WAAW;IACX,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,cAAc;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;CACf"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,QAAQ,GAAG,oBAAoB,GAAG,eAAe,CAAC;AAE9E,mBAAmB;AACnB,UAAU,eAAe;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,oBAAoB;AACpB,MAAM,WAAW,iBAAkB,SAAQ,eAAe;IACxD,cAAc,EAAE,QAAQ,CAAC;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,2BAA2B;AAC3B,MAAM,WAAW,4BAA6B,SAAQ,eAAe;IACnE,cAAc,EAAE,oBAAoB,CAAC;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,eAAe;AACf,MAAM,WAAW,kBAAmB,SAAQ,eAAe;IACzD,cAAc,EAAE,eAAe,CAAC;IAChC,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,qBAAqB;AACrB,MAAM,MAAM,WAAW,GACnB,iBAAiB,GACjB,4BAA4B,GAC5B,kBAAkB,CAAC;AAEvB,iBAAiB;AACjB,MAAM,WAAW,SAAS;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,kBAAkB;AAClB,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,SAAS,CAAC;CACjB;AAID,eAAe;AACf,MAAM,WAAW,YAAY;IAC3B,gBAAgB;IAChB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,eAAe;AACf,MAAM,WAAW,aAAa;IAC5B,oCAAoC;IACpC,GAAG,EAAE,MAAM,CAAC;IACZ,yBAAyB;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,kCAAkC;IAClC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW;IACX,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,uBAAuB;IACvB,KAAK,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrD,WAAW;IACX,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,cAAc;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;CACf"}
@@ -12,18 +12,22 @@ export declare class HttpError<T = unknown> extends Error {
12
12
  response: HttpResponse<T>;
13
13
  constructor(response: HttpResponse<T>);
14
14
  }
15
+ export declare class YouzanApiError<T = unknown> extends Error {
16
+ response: HttpResponse<T>;
17
+ constructor(response: HttpResponse<T>);
18
+ }
15
19
  /**
16
20
  * 发起 POST 请求
17
21
  *
18
22
  * @param url 支持绝对路径、相对路径
19
23
  * @param params POST 参数
20
24
  */
21
- export declare function post(url: string, params?: Record<string, unknown>): Promise<HttpResponse<unknown>>;
25
+ export declare function post<T = unknown>(url: string, params?: Record<string, unknown>): Promise<HttpResponse<T>>;
22
26
  /**
23
27
  * 发起上传文件请求
24
28
  *
25
29
  * @param url 支持绝对路径、相对路径
26
30
  * @param files 上传文件参数,支持 Map 或 Object。示例: {"image": "/path/to/filename.jpg"}
27
31
  */
28
- export declare function upload(url: string, files: Map<string, string> | Record<string, string>): Promise<HttpResponse<unknown>>;
32
+ export declare function upload<T = unknown>(url: string, files: Map<string, string> | Record<string, string>): Promise<HttpResponse<T>>;
29
33
  //# sourceMappingURL=http.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../../src/utils/http.ts"],"names":[],"mappings":"AAAA;;GAEG;AAQH,MAAM,WAAW,YAAY,CAAC,CAAC,GAAG,OAAO;IACvC,IAAI,EAAE,CAAC,CAAC;IACR,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,GAAG,EAAE,MAAM,CAAC;CACb;AAED,qBAAa,SAAS,CAAC,CAAC,GAAG,OAAO,CAAE,SAAQ,KAAK;IAC/C,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;gBAEd,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC;CAKtC;AA4CD;;;;;GAKG;AACH,wBAAsB,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,kCAUvE;AAED;;;;;GAKG;AACH,wBAAsB,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,kCAiB5F"}
1
+ {"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../../src/utils/http.ts"],"names":[],"mappings":"AAAA;;GAEG;AAQH,MAAM,WAAW,YAAY,CAAC,CAAC,GAAG,OAAO;IACvC,IAAI,EAAE,CAAC,CAAC;IACR,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,GAAG,EAAE,MAAM,CAAC;CACb;AAED,qBAAa,SAAS,CAAC,CAAC,GAAG,OAAO,CAAE,SAAQ,KAAK;IAC/C,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;gBAEd,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC;CAKtC;AAED,qBAAa,cAAc,CAAC,CAAC,GAAG,OAAO,CAAE,SAAQ,KAAK;IACpD,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;gBAEd,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC;CAQtC;AAoDD;;;;;GAKG;AACH,wBAAsB,IAAI,CAAC,CAAC,GAAG,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,4BAUpF;AAED;;;;;GAKG;AACH,wBAAsB,MAAM,CAAC,CAAC,GAAG,OAAO,EACtC,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,4BAkBpD"}
package/dist/esm/index.js CHANGED
@@ -50,6 +50,17 @@ class HttpError extends Error {
50
50
  this.response = response;
51
51
  }
52
52
  }
53
+
54
+ class YouzanApiError extends Error {
55
+ response;
56
+ constructor(response) {
57
+ const data = response.data;
58
+ const message = typeof data.message === "string" ? data.message : "Youzan API request failed";
59
+ super(message);
60
+ this.name = "YouzanApiError";
61
+ this.response = response;
62
+ }
63
+ }
53
64
  function getRequestUrl(url) {
54
65
  return new URL(url, getBaseUrl()).toString();
55
66
  }
@@ -82,8 +93,14 @@ async function toHttpResponse(resp) {
82
93
  if (!resp.ok) {
83
94
  throw new HttpError(response);
84
95
  }
96
+ if (isFailedApiResponse(response.data)) {
97
+ throw new YouzanApiError(response);
98
+ }
85
99
  return response;
86
100
  }
101
+ function isFailedApiResponse(data) {
102
+ return typeof data === "object" && data !== null && "success" in data && data.success === false;
103
+ }
87
104
  async function post(url, params) {
88
105
  const resp = await fetch(getRequestUrl(url), {
89
106
  method: "POST",
@@ -1,8 +1,8 @@
1
1
  /**
2
2
  * Token 管理
3
3
  */
4
- import type { TokenParams } from './types';
5
- import * as utilHttp from './utils/http';
4
+ import type { TokenGetResponse, TokenParams } from './types';
5
+ import type { HttpResponse } from './utils/http';
6
6
  /**
7
7
  * 获取 Token
8
8
  *
@@ -12,5 +12,5 @@ import * as utilHttp from './utils/http';
12
12
  * 工具型应用获取 Token: authorize_type = authorization_code, 必传 code redirect_uri
13
13
  * 工具型应用/自用型应用刷新 Token: authorize_type = refresh_token, 必传 refresh_token
14
14
  */
15
- export declare function get(params: TokenParams): Promise<utilHttp.HttpResponse<unknown>>;
15
+ export declare function get(params: TokenParams): Promise<HttpResponse<TokenGetResponse>>;
16
16
  //# sourceMappingURL=token.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"token.d.ts","sourceRoot":"","sources":["../../src/token.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAE3C,OAAO,KAAK,QAAQ,MAAM,cAAc,CAAC;AAQzC;;;;;;;;GAQG;AACH,wBAAgB,GAAG,CAAC,MAAM,EAAE,WAAW,2CA4CtC"}
1
+ {"version":3,"file":"token.d.ts","sourceRoot":"","sources":["../../src/token.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAC7D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAUjD;;;;;;;;GAQG;AACH,wBAAgB,GAAG,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC,CA4ChF"}
@@ -27,6 +27,21 @@ export interface RefreshTokenParams extends TokenBaseParams {
27
27
  }
28
28
  /** Token 请求参数联合类型 */
29
29
  export type TokenParams = SilentTokenParams | AuthorizationCodeTokenParams | RefreshTokenParams;
30
+ /** Token 响应数据 */
31
+ export interface TokenData {
32
+ access_token: string;
33
+ expires: number;
34
+ scope: string;
35
+ authority_id?: number;
36
+ refresh_token?: string;
37
+ }
38
+ /** Token 接口响应体 */
39
+ export interface TokenGetResponse {
40
+ success: boolean;
41
+ code?: number;
42
+ message?: string;
43
+ data: TokenData;
44
+ }
30
45
  /** API 调用配置 */
31
46
  export interface ClientConfig {
32
47
  /** 是否使用富文本接口 */
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,QAAQ,GAAG,oBAAoB,GAAG,eAAe,CAAC;AAE9E,mBAAmB;AACnB,UAAU,eAAe;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,oBAAoB;AACpB,MAAM,WAAW,iBAAkB,SAAQ,eAAe;IACxD,cAAc,EAAE,QAAQ,CAAC;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,2BAA2B;AAC3B,MAAM,WAAW,4BAA6B,SAAQ,eAAe;IACnE,cAAc,EAAE,oBAAoB,CAAC;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,eAAe;AACf,MAAM,WAAW,kBAAmB,SAAQ,eAAe;IACzD,cAAc,EAAE,eAAe,CAAC;IAChC,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,qBAAqB;AACrB,MAAM,MAAM,WAAW,GACnB,iBAAiB,GACjB,4BAA4B,GAC5B,kBAAkB,CAAC;AAIvB,eAAe;AACf,MAAM,WAAW,YAAY;IAC3B,gBAAgB;IAChB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,eAAe;AACf,MAAM,WAAW,aAAa;IAC5B,oCAAoC;IACpC,GAAG,EAAE,MAAM,CAAC;IACZ,yBAAyB;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,kCAAkC;IAClC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW;IACX,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,uBAAuB;IACvB,KAAK,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrD,WAAW;IACX,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,cAAc;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;CACf"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,QAAQ,GAAG,oBAAoB,GAAG,eAAe,CAAC;AAE9E,mBAAmB;AACnB,UAAU,eAAe;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,oBAAoB;AACpB,MAAM,WAAW,iBAAkB,SAAQ,eAAe;IACxD,cAAc,EAAE,QAAQ,CAAC;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,2BAA2B;AAC3B,MAAM,WAAW,4BAA6B,SAAQ,eAAe;IACnE,cAAc,EAAE,oBAAoB,CAAC;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,eAAe;AACf,MAAM,WAAW,kBAAmB,SAAQ,eAAe;IACzD,cAAc,EAAE,eAAe,CAAC;IAChC,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,qBAAqB;AACrB,MAAM,MAAM,WAAW,GACnB,iBAAiB,GACjB,4BAA4B,GAC5B,kBAAkB,CAAC;AAEvB,iBAAiB;AACjB,MAAM,WAAW,SAAS;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,kBAAkB;AAClB,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,SAAS,CAAC;CACjB;AAID,eAAe;AACf,MAAM,WAAW,YAAY;IAC3B,gBAAgB;IAChB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,eAAe;AACf,MAAM,WAAW,aAAa;IAC5B,oCAAoC;IACpC,GAAG,EAAE,MAAM,CAAC;IACZ,yBAAyB;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,kCAAkC;IAClC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW;IACX,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,uBAAuB;IACvB,KAAK,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrD,WAAW;IACX,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,cAAc;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;CACf"}
@@ -12,18 +12,22 @@ export declare class HttpError<T = unknown> extends Error {
12
12
  response: HttpResponse<T>;
13
13
  constructor(response: HttpResponse<T>);
14
14
  }
15
+ export declare class YouzanApiError<T = unknown> extends Error {
16
+ response: HttpResponse<T>;
17
+ constructor(response: HttpResponse<T>);
18
+ }
15
19
  /**
16
20
  * 发起 POST 请求
17
21
  *
18
22
  * @param url 支持绝对路径、相对路径
19
23
  * @param params POST 参数
20
24
  */
21
- export declare function post(url: string, params?: Record<string, unknown>): Promise<HttpResponse<unknown>>;
25
+ export declare function post<T = unknown>(url: string, params?: Record<string, unknown>): Promise<HttpResponse<T>>;
22
26
  /**
23
27
  * 发起上传文件请求
24
28
  *
25
29
  * @param url 支持绝对路径、相对路径
26
30
  * @param files 上传文件参数,支持 Map 或 Object。示例: {"image": "/path/to/filename.jpg"}
27
31
  */
28
- export declare function upload(url: string, files: Map<string, string> | Record<string, string>): Promise<HttpResponse<unknown>>;
32
+ export declare function upload<T = unknown>(url: string, files: Map<string, string> | Record<string, string>): Promise<HttpResponse<T>>;
29
33
  //# sourceMappingURL=http.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../../src/utils/http.ts"],"names":[],"mappings":"AAAA;;GAEG;AAQH,MAAM,WAAW,YAAY,CAAC,CAAC,GAAG,OAAO;IACvC,IAAI,EAAE,CAAC,CAAC;IACR,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,GAAG,EAAE,MAAM,CAAC;CACb;AAED,qBAAa,SAAS,CAAC,CAAC,GAAG,OAAO,CAAE,SAAQ,KAAK;IAC/C,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;gBAEd,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC;CAKtC;AA4CD;;;;;GAKG;AACH,wBAAsB,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,kCAUvE;AAED;;;;;GAKG;AACH,wBAAsB,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,kCAiB5F"}
1
+ {"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../../src/utils/http.ts"],"names":[],"mappings":"AAAA;;GAEG;AAQH,MAAM,WAAW,YAAY,CAAC,CAAC,GAAG,OAAO;IACvC,IAAI,EAAE,CAAC,CAAC;IACR,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,GAAG,EAAE,MAAM,CAAC;CACb;AAED,qBAAa,SAAS,CAAC,CAAC,GAAG,OAAO,CAAE,SAAQ,KAAK;IAC/C,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;gBAEd,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC;CAKtC;AAED,qBAAa,cAAc,CAAC,CAAC,GAAG,OAAO,CAAE,SAAQ,KAAK;IACpD,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;gBAEd,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC;CAQtC;AAoDD;;;;;GAKG;AACH,wBAAsB,IAAI,CAAC,CAAC,GAAG,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,4BAUpF;AAED;;;;;GAKG;AACH,wBAAsB,MAAM,CAAC,CAAC,GAAG,OAAO,EACtC,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,4BAkBpD"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@waywake/youzanyun-sdk",
3
- "version": "2.0.1",
3
+ "version": "2.0.3",
4
4
  "description": "YouzanYun SDK for Node",
5
5
  "type": "module",
6
6
  "main": "./dist/cjs/index.js",