@mptool/all 0.6.0-beta.8 → 0.6.0
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/lib/index.d.mts +141 -133
- package/lib/index.d.ts +141 -133
- package/lib/index.js +3 -3
- package/lib/index.js.map +1 -1
- package/lib/index.mjs +3 -3
- package/lib/index.mjs.map +1 -1
- package/package.json +4 -4
package/lib/index.d.ts
CHANGED
|
@@ -1,6 +1,103 @@
|
|
|
1
1
|
declare const encode: (arraybuffer: ArrayBuffer) => string;
|
|
2
2
|
declare const decode: (base64: string) => ArrayBuffer;
|
|
3
3
|
|
|
4
|
+
declare const isQQ: boolean;
|
|
5
|
+
declare const isWx: boolean;
|
|
6
|
+
declare const isMp: boolean;
|
|
7
|
+
|
|
8
|
+
type EventType = string | symbol;
|
|
9
|
+
type Handler<T = unknown> = (event: T) => void | Promise<void>;
|
|
10
|
+
type WildcardHandler<T = Record<string, unknown>> = (type: keyof T, event: T[keyof T]) => void | Promise<void>;
|
|
11
|
+
type EventHandlerList<T = unknown> = Array<Handler<T>>;
|
|
12
|
+
type WildCardEventHandlerList<T = Record<string, unknown>> = Array<WildcardHandler<T>>;
|
|
13
|
+
type EventHandlerMap<Events extends Record<EventType, unknown>> = Map<keyof Events | "*", EventHandlerList<Events[keyof Events]> | WildCardEventHandlerList<Events>>;
|
|
14
|
+
interface EmitterInstance<Events extends Record<EventType, unknown>> {
|
|
15
|
+
all: EventHandlerMap<Events>;
|
|
16
|
+
on<Key extends keyof Events>(type: Key, handler: Handler<Events[Key]>): void;
|
|
17
|
+
on(type: "*", handler: WildcardHandler<Events>): void;
|
|
18
|
+
off<Key extends keyof Events>(type: Key, handler?: Handler<Events[Key]>): void;
|
|
19
|
+
off(type: "*", handler: WildcardHandler<Events>): void;
|
|
20
|
+
emit<Key extends keyof Events>(type: Key, event: Events[Key]): void;
|
|
21
|
+
emit<Key extends keyof Events>(type: undefined extends Events[Key] ? Key : never): void;
|
|
22
|
+
emitAsync<Key extends keyof Events>(type: Key, event: Events[Key]): Promise<void>;
|
|
23
|
+
emitAsync<Key extends keyof Events>(type: undefined extends Events[Key] ? Key : never): Promise<void>;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Tiny (~300b) functional event emitter / pubsub.
|
|
27
|
+
* @name emitter
|
|
28
|
+
* @returns Emitter
|
|
29
|
+
*/
|
|
30
|
+
declare function Emitter<Events extends Record<EventType, unknown>>(all?: EventHandlerMap<Events>): EmitterInstance<Events>;
|
|
31
|
+
|
|
32
|
+
/** 写入普通日志 */
|
|
33
|
+
declare const debug: (...args: any[]) => void;
|
|
34
|
+
/** 写入信息日志 */
|
|
35
|
+
declare const info: (...args: any[]) => void;
|
|
36
|
+
/** 写入警告日志 */
|
|
37
|
+
declare const warn: (...args: any[]) => void;
|
|
38
|
+
/** 写入错误日志 */
|
|
39
|
+
declare const error: (...args: any[]) => void;
|
|
40
|
+
/**
|
|
41
|
+
* 写入过滤信息
|
|
42
|
+
*
|
|
43
|
+
* @param filterMsg 过滤信息
|
|
44
|
+
*/
|
|
45
|
+
declare const filter: (filterMsg: string) => void;
|
|
46
|
+
|
|
47
|
+
declare const logger_debug: typeof debug;
|
|
48
|
+
declare const logger_error: typeof error;
|
|
49
|
+
declare const logger_filter: typeof filter;
|
|
50
|
+
declare const logger_info: typeof info;
|
|
51
|
+
declare const logger_warn: typeof warn;
|
|
52
|
+
declare namespace logger {
|
|
53
|
+
export { logger_debug as debug, logger_error as error, logger_filter as filter, logger_info as info, logger_warn as warn };
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
/**
|
|
57
|
+
* 字符串参数解析
|
|
58
|
+
*
|
|
59
|
+
* @param queryString 需要解析的字符串
|
|
60
|
+
* @param [splitter='&'] 分隔符
|
|
61
|
+
*
|
|
62
|
+
* @returns 参数对象
|
|
63
|
+
*/
|
|
64
|
+
declare const parse: (queryString?: string, splitter?: string) => Record<string, string>;
|
|
65
|
+
/**
|
|
66
|
+
* query 对象转换字符串
|
|
67
|
+
*
|
|
68
|
+
* @param params query 对象
|
|
69
|
+
* @param [splitter='&] 分隔符
|
|
70
|
+
* @param [unencoded=false] 是否已经解码
|
|
71
|
+
*
|
|
72
|
+
* @returns 解析的字符串
|
|
73
|
+
*/
|
|
74
|
+
declare const stringify: (params?: Record<string, string>, splitter?: string, unencoded?: boolean) => string;
|
|
75
|
+
/**
|
|
76
|
+
* URL 添加 query
|
|
77
|
+
*
|
|
78
|
+
* @param path 前部分路径
|
|
79
|
+
* @param queries query对象
|
|
80
|
+
* @param unencoded 是否已经解码,默认为否
|
|
81
|
+
*
|
|
82
|
+
* @returns 处理过的 url
|
|
83
|
+
*/
|
|
84
|
+
declare const join: (path: string, queries: Record<string, string>, unencoded?: boolean) => string;
|
|
85
|
+
|
|
86
|
+
declare const query_join: typeof join;
|
|
87
|
+
declare const query_parse: typeof parse;
|
|
88
|
+
declare const query_stringify: typeof stringify;
|
|
89
|
+
declare namespace query {
|
|
90
|
+
export { query_join as join, query_parse as parse, query_stringify as stringify };
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
/**
|
|
94
|
+
* 获取变量类型
|
|
95
|
+
*
|
|
96
|
+
* @param obj 需要辨别的变量
|
|
97
|
+
* @returns 对象的类型
|
|
98
|
+
*/
|
|
99
|
+
declare const type: (obj: unknown) => string;
|
|
100
|
+
|
|
4
101
|
/**
|
|
5
102
|
* 包装函数,先执行 wrapper ,然后执行原函数
|
|
6
103
|
*
|
|
@@ -111,99 +208,6 @@ declare class Queue {
|
|
|
111
208
|
*/
|
|
112
209
|
declare const funcQueue: <A extends unknown[], T = unknown>(fn: (next: () => void, ...args: A) => void, capacity?: number) => (this: T, ...args: A) => void;
|
|
113
210
|
|
|
114
|
-
type EventType = string | symbol;
|
|
115
|
-
type Handler<T = unknown> = (event: T) => void | Promise<void>;
|
|
116
|
-
type WildcardHandler<T = Record<string, unknown>> = (type: keyof T, event: T[keyof T]) => void | Promise<void>;
|
|
117
|
-
type EventHandlerList<T = unknown> = Array<Handler<T>>;
|
|
118
|
-
type WildCardEventHandlerList<T = Record<string, unknown>> = Array<WildcardHandler<T>>;
|
|
119
|
-
type EventHandlerMap<Events extends Record<EventType, unknown>> = Map<keyof Events | "*", EventHandlerList<Events[keyof Events]> | WildCardEventHandlerList<Events>>;
|
|
120
|
-
interface EmitterInstance<Events extends Record<EventType, unknown>> {
|
|
121
|
-
all: EventHandlerMap<Events>;
|
|
122
|
-
on<Key extends keyof Events>(type: Key, handler: Handler<Events[Key]>): void;
|
|
123
|
-
on(type: "*", handler: WildcardHandler<Events>): void;
|
|
124
|
-
off<Key extends keyof Events>(type: Key, handler?: Handler<Events[Key]>): void;
|
|
125
|
-
off(type: "*", handler: WildcardHandler<Events>): void;
|
|
126
|
-
emit<Key extends keyof Events>(type: Key, event: Events[Key]): void;
|
|
127
|
-
emit<Key extends keyof Events>(type: undefined extends Events[Key] ? Key : never): void;
|
|
128
|
-
emitAsync<Key extends keyof Events>(type: Key, event: Events[Key]): Promise<void>;
|
|
129
|
-
emitAsync<Key extends keyof Events>(type: undefined extends Events[Key] ? Key : never): Promise<void>;
|
|
130
|
-
}
|
|
131
|
-
/**
|
|
132
|
-
* Tiny (~300b) functional event emitter / pubsub.
|
|
133
|
-
* @name emitter
|
|
134
|
-
* @returns Emitter
|
|
135
|
-
*/
|
|
136
|
-
declare function Emitter<Events extends Record<EventType, unknown>>(all?: EventHandlerMap<Events>): EmitterInstance<Events>;
|
|
137
|
-
|
|
138
|
-
/** 写入普通日志 */
|
|
139
|
-
declare const debug: (...args: any[]) => void;
|
|
140
|
-
/** 写入信息日志 */
|
|
141
|
-
declare const info: (...args: any[]) => void;
|
|
142
|
-
/** 写入警告日志 */
|
|
143
|
-
declare const warn: (...args: any[]) => void;
|
|
144
|
-
/** 写入错误日志 */
|
|
145
|
-
declare const error: (...args: any[]) => void;
|
|
146
|
-
/**
|
|
147
|
-
* 写入过滤信息
|
|
148
|
-
*
|
|
149
|
-
* @param filterMsg 过滤信息
|
|
150
|
-
*/
|
|
151
|
-
declare const filter: (filterMsg: string) => void;
|
|
152
|
-
|
|
153
|
-
declare const logger_debug: typeof debug;
|
|
154
|
-
declare const logger_error: typeof error;
|
|
155
|
-
declare const logger_filter: typeof filter;
|
|
156
|
-
declare const logger_info: typeof info;
|
|
157
|
-
declare const logger_warn: typeof warn;
|
|
158
|
-
declare namespace logger {
|
|
159
|
-
export { logger_debug as debug, logger_error as error, logger_filter as filter, logger_info as info, logger_warn as warn };
|
|
160
|
-
}
|
|
161
|
-
|
|
162
|
-
/**
|
|
163
|
-
* 字符串参数解析
|
|
164
|
-
*
|
|
165
|
-
* @param queryString 需要解析的字符串
|
|
166
|
-
* @param [splitter='&'] 分隔符
|
|
167
|
-
*
|
|
168
|
-
* @returns 参数对象
|
|
169
|
-
*/
|
|
170
|
-
declare const parse: (queryString?: string, splitter?: string) => Record<string, string>;
|
|
171
|
-
/**
|
|
172
|
-
* query 对象转换字符串
|
|
173
|
-
*
|
|
174
|
-
* @param params query 对象
|
|
175
|
-
* @param [splitter='&] 分隔符
|
|
176
|
-
* @param [unencoded=false] 是否已经解码
|
|
177
|
-
*
|
|
178
|
-
* @returns 解析的字符串
|
|
179
|
-
*/
|
|
180
|
-
declare const stringify: (params?: Record<string, string>, splitter?: string, unencoded?: boolean) => string;
|
|
181
|
-
/**
|
|
182
|
-
* URL 添加 query
|
|
183
|
-
*
|
|
184
|
-
* @param path 前部分路径
|
|
185
|
-
* @param queries query对象
|
|
186
|
-
* @param unencoded 是否已经解码,默认为否
|
|
187
|
-
*
|
|
188
|
-
* @returns 处理过的 url
|
|
189
|
-
*/
|
|
190
|
-
declare const join: (path: string, queries: Record<string, string>, unencoded?: boolean) => string;
|
|
191
|
-
|
|
192
|
-
declare const query_join: typeof join;
|
|
193
|
-
declare const query_parse: typeof parse;
|
|
194
|
-
declare const query_stringify: typeof stringify;
|
|
195
|
-
declare namespace query {
|
|
196
|
-
export { query_join as join, query_parse as parse, query_stringify as stringify };
|
|
197
|
-
}
|
|
198
|
-
|
|
199
|
-
/**
|
|
200
|
-
* 获取变量类型
|
|
201
|
-
*
|
|
202
|
-
* @param obj 需要辨别的变量
|
|
203
|
-
* @returns 对象的类型
|
|
204
|
-
*/
|
|
205
|
-
declare const type: (obj: unknown) => string;
|
|
206
|
-
|
|
207
211
|
type Props = Record<string, unknown>;
|
|
208
212
|
type PropsOptions<Property = Props> = {
|
|
209
213
|
[K in keyof Property]: PropItem<Property[K]> | null;
|
|
@@ -1103,12 +1107,10 @@ declare class Cookie {
|
|
|
1103
1107
|
toJSON(): CookieType;
|
|
1104
1108
|
}
|
|
1105
1109
|
|
|
1106
|
-
declare const NORMALIZED_HEADERS: unique symbol;
|
|
1107
|
-
declare const RAW_HEADER_NAMES: unique symbol;
|
|
1108
1110
|
type HeadersInit = [string, string][] | Record<string, string> | Headers;
|
|
1109
1111
|
declare class Headers {
|
|
1110
|
-
private
|
|
1111
|
-
private
|
|
1112
|
+
private headers;
|
|
1113
|
+
private headerNames;
|
|
1112
1114
|
constructor(init?: HeadersInit);
|
|
1113
1115
|
/**
|
|
1114
1116
|
* Appends a new value onto an existing header inside a `Headers` object, or adds the header if it does not already exist.
|
|
@@ -1144,6 +1146,7 @@ declare class Headers {
|
|
|
1144
1146
|
keys(): IterableIterator<string>;
|
|
1145
1147
|
values(): IterableIterator<string>;
|
|
1146
1148
|
entries(): IterableIterator<[string, string]>;
|
|
1149
|
+
toObject(): Record<string, string>;
|
|
1147
1150
|
[Symbol.iterator](): IterableIterator<[string, string]>;
|
|
1148
1151
|
}
|
|
1149
1152
|
|
|
@@ -1158,11 +1161,11 @@ interface UrlInfo {
|
|
|
1158
1161
|
}
|
|
1159
1162
|
declare const getDomain: (domainOrURL: string) => string;
|
|
1160
1163
|
declare const parseUrl: (url: string) => UrlInfo;
|
|
1161
|
-
type
|
|
1164
|
+
type CookieOptions = string | {
|
|
1162
1165
|
domain?: string;
|
|
1163
1166
|
path?: string;
|
|
1164
1167
|
};
|
|
1165
|
-
declare const getCookieOptions: (options
|
|
1168
|
+
declare const getCookieOptions: (options: CookieOptions) => UrlInfo;
|
|
1166
1169
|
declare const parseCookieHeader: (setCookieHeader: string, domain: string) => Cookie[];
|
|
1167
1170
|
|
|
1168
1171
|
type CookieMap = Map<string, Cookie>;
|
|
@@ -1193,7 +1196,7 @@ declare class CookieStore {
|
|
|
1193
1196
|
* @param options Cookie 选项
|
|
1194
1197
|
* @return cookie 对象
|
|
1195
1198
|
*/
|
|
1196
|
-
get(name: string, options:
|
|
1199
|
+
get(name: string, options: CookieOptions): Cookie | null;
|
|
1197
1200
|
/**
|
|
1198
1201
|
* 获取 Cookie 值
|
|
1199
1202
|
*
|
|
@@ -1201,7 +1204,7 @@ declare class CookieStore {
|
|
|
1201
1204
|
* @param options Cookie 选项
|
|
1202
1205
|
* @return Cookie 值
|
|
1203
1206
|
*/
|
|
1204
|
-
getValue(name: string, options:
|
|
1207
|
+
getValue(name: string, options: CookieOptions): string | undefined;
|
|
1205
1208
|
/**
|
|
1206
1209
|
* 是否有特定的 Cookie
|
|
1207
1210
|
*
|
|
@@ -1209,7 +1212,7 @@ declare class CookieStore {
|
|
|
1209
1212
|
* @param options Cookie 选项
|
|
1210
1213
|
* @return 是否存在
|
|
1211
1214
|
*/
|
|
1212
|
-
has(name: string, options:
|
|
1215
|
+
has(name: string, options: CookieOptions): boolean;
|
|
1213
1216
|
/**
|
|
1214
1217
|
* 设置 cookie
|
|
1215
1218
|
*/
|
|
@@ -1231,7 +1234,7 @@ declare class CookieStore {
|
|
|
1231
1234
|
* @param options Cookie 选项
|
|
1232
1235
|
* @return Cookie 对象数组
|
|
1233
1236
|
*/
|
|
1234
|
-
getCookies(options
|
|
1237
|
+
getCookies(options: CookieOptions): Cookie[];
|
|
1235
1238
|
/**
|
|
1236
1239
|
* 获取所有 cookies 对象
|
|
1237
1240
|
*
|
|
@@ -1243,7 +1246,7 @@ declare class CookieStore {
|
|
|
1243
1246
|
*
|
|
1244
1247
|
* @return 键值 Map
|
|
1245
1248
|
*/
|
|
1246
|
-
getCookiesMap(options:
|
|
1249
|
+
getCookiesMap(options: CookieOptions): Record<string, string>;
|
|
1247
1250
|
/**
|
|
1248
1251
|
* 应用 Cookies
|
|
1249
1252
|
*
|
|
@@ -1262,21 +1265,21 @@ declare class CookieStore {
|
|
|
1262
1265
|
* @param header 小程序 response header
|
|
1263
1266
|
* @param domainOrURL Url 或域名
|
|
1264
1267
|
*/
|
|
1265
|
-
applyHeader(header:
|
|
1268
|
+
applyHeader(header: unknown, domainOrURL: string): void;
|
|
1266
1269
|
/**
|
|
1267
1270
|
* 应用响应 cookies
|
|
1268
1271
|
*
|
|
1269
1272
|
* @param response 小程序 response
|
|
1270
1273
|
* @param domainOrURL Url 或域名
|
|
1271
1274
|
*/
|
|
1272
|
-
applyResponse(response:
|
|
1275
|
+
applyResponse(response: unknown, domainOrURL: string): void;
|
|
1273
1276
|
/**
|
|
1274
1277
|
* 获取 request cookie header
|
|
1275
1278
|
*
|
|
1276
1279
|
* @param options Cookie 选项
|
|
1277
1280
|
* @return request cookie header
|
|
1278
1281
|
*/
|
|
1279
|
-
getHeader(options:
|
|
1282
|
+
getHeader(options: CookieOptions): string;
|
|
1280
1283
|
/**
|
|
1281
1284
|
* 从 Storage 读取 cookies
|
|
1282
1285
|
*/
|
|
@@ -1407,9 +1410,9 @@ declare class URLSearchParams {
|
|
|
1407
1410
|
[Symbol.iterator](): IterableIterator<[string, string]>;
|
|
1408
1411
|
}
|
|
1409
1412
|
|
|
1410
|
-
declare const
|
|
1411
|
-
type
|
|
1412
|
-
interface
|
|
1413
|
+
declare const requestCookieStore: CookieStore;
|
|
1414
|
+
type RequestBody = WechatMiniprogram.IAnyObject | ArrayBuffer | URLSearchParams | string | null;
|
|
1415
|
+
interface RequestOptions<T extends Record<never, never> | unknown[] | string | ArrayBuffer = Record<string, any>> extends Omit<WechatMiniprogram.RequestOption<T>, "url" | "method" | "header" | "data"> {
|
|
1413
1416
|
/**
|
|
1414
1417
|
* 请求方法
|
|
1415
1418
|
*/
|
|
@@ -1421,7 +1424,7 @@ interface FetchOptions<T extends Record<never, never> | unknown[] | string | Arr
|
|
|
1421
1424
|
/**
|
|
1422
1425
|
* 请求主体
|
|
1423
1426
|
*/
|
|
1424
|
-
body?:
|
|
1427
|
+
body?: RequestBody;
|
|
1425
1428
|
/**
|
|
1426
1429
|
* Cookie 作用域
|
|
1427
1430
|
*/
|
|
@@ -1431,7 +1434,7 @@ interface FetchOptions<T extends Record<never, never> | unknown[] | string | Arr
|
|
|
1431
1434
|
*/
|
|
1432
1435
|
cookieStore?: CookieStore;
|
|
1433
1436
|
}
|
|
1434
|
-
interface
|
|
1437
|
+
interface RequestResponse<T extends Record<never, never> | unknown[] | string | ArrayBuffer = Record<string, any>> {
|
|
1435
1438
|
/** Status Code */
|
|
1436
1439
|
status: number;
|
|
1437
1440
|
/** Response headers */
|
|
@@ -1439,15 +1442,13 @@ interface FetchResponse<T extends Record<never, never> | unknown[] | string | Ar
|
|
|
1439
1442
|
/** Response data */
|
|
1440
1443
|
data: T;
|
|
1441
1444
|
}
|
|
1442
|
-
|
|
1443
|
-
interface FetchErrorInfo {
|
|
1444
|
-
/** 错误信息 */
|
|
1445
|
-
errMsg: string;
|
|
1445
|
+
interface RequestError extends Error {
|
|
1446
1446
|
/** 错误码 */
|
|
1447
|
-
errno
|
|
1447
|
+
errno?: number;
|
|
1448
1448
|
}
|
|
1449
|
-
|
|
1450
|
-
|
|
1449
|
+
type RequestType = <T extends Record<never, never> | unknown[] | string | ArrayBuffer = Record<string, any>>(url: string, options?: RequestOptions<T>) => Promise<RequestResponse<T>>;
|
|
1450
|
+
declare const request: <T extends string | ArrayBuffer | Record<never, never> | unknown[] = Record<string, any>>(url: string, { method, headers, body, cookieScope, cookieStore, ...options }?: RequestOptions<T>) => Promise<RequestResponse<T>>;
|
|
1451
|
+
interface RequestInitOptions extends Pick<WechatMiniprogram.RequestOption, "redirect" | "enableCache" | "enableChunked" | "enableHttp2" | "enableHttpDNS" | "enableQuic" | "httpDNSServiceId" | "forceCellularNetwork" | "timeout"> {
|
|
1451
1452
|
/**
|
|
1452
1453
|
* 访问的默认域名
|
|
1453
1454
|
*/
|
|
@@ -1459,34 +1460,41 @@ interface FetchInitOptions extends Pick<WechatMiniprogram.RequestOption, "redire
|
|
|
1459
1460
|
/**
|
|
1460
1461
|
* 响应处理器
|
|
1461
1462
|
*
|
|
1462
|
-
* @
|
|
1463
|
-
* @returns 数据
|
|
1464
|
-
* @throws {Error} 自定义的错误数据
|
|
1463
|
+
* @throws {RequestError} 自定义的错误数据
|
|
1465
1464
|
*/
|
|
1466
1465
|
responseHandler?: <T extends Record<never, never> | unknown[] | string | ArrayBuffer = Record<string, any>>(
|
|
1467
1466
|
/** 响应数据 */
|
|
1468
|
-
response:
|
|
1467
|
+
response: RequestResponse<T>,
|
|
1469
1468
|
/** 请求地址 */
|
|
1470
1469
|
url: string,
|
|
1471
1470
|
/** 请求配置 */
|
|
1472
|
-
options:
|
|
1471
|
+
options: RequestOptions<T>) => RequestResponse<T>;
|
|
1472
|
+
/**
|
|
1473
|
+
* 错误处理器
|
|
1474
|
+
*
|
|
1475
|
+
* @throws {RequestError} 自定义的错误数据
|
|
1476
|
+
*/
|
|
1473
1477
|
errorHandler?: <T extends Record<never, never> | unknown[] | string | ArrayBuffer = Record<string, any>>(
|
|
1474
1478
|
/** 错误信息 */
|
|
1475
|
-
|
|
1479
|
+
error: RequestError,
|
|
1476
1480
|
/** 请求地址 */
|
|
1477
1481
|
url: string,
|
|
1478
1482
|
/** 请求配置 */
|
|
1479
|
-
options:
|
|
1483
|
+
options: RequestOptions<T>) => RequestResponse<T> | never;
|
|
1480
1484
|
}
|
|
1481
|
-
interface
|
|
1485
|
+
interface RequestFactory {
|
|
1486
|
+
/**
|
|
1487
|
+
* Cookie 存储
|
|
1488
|
+
*/
|
|
1482
1489
|
cookieStore: CookieStore;
|
|
1483
|
-
|
|
1490
|
+
/**
|
|
1491
|
+
* 请求方法
|
|
1492
|
+
*/
|
|
1493
|
+
request: RequestType;
|
|
1484
1494
|
}
|
|
1485
1495
|
/**
|
|
1486
|
-
*
|
|
1487
|
-
* @param options fetch 配置选项
|
|
1488
|
-
* @returns fetch 函数
|
|
1496
|
+
* @param options request 配置选项
|
|
1489
1497
|
*/
|
|
1490
|
-
declare const
|
|
1498
|
+
declare const createRequest: ({ cookieStore, server, responseHandler, errorHandler, ...defaultOptions }?: RequestInitOptions) => RequestFactory;
|
|
1491
1499
|
|
|
1492
|
-
export { $App, $Component, $Config, $Page, type AppConfig, type AppConstructor, type AppInstance, type AppOptions, type ComponentConstructor, type ComponentInstance, type ComponentLifetimes, type ComponentOptions, Cookie, type CookieMap,
|
|
1500
|
+
export { $App, $Component, $Config, $Page, type AppConfig, type AppConstructor, type AppInstance, type AppOptions, type ComponentConstructor, type ComponentInstance, type ComponentLifetimes, type ComponentOptions, Cookie, type CookieMap, type CookieOptions, CookieStore, type CookieStoreType, type CookieType, Emitter, type EmitterInstance, type EventHandlerList, type EventHandlerMap, type EventType, type ExtendedAppMethods, type ExtendedComponentMethods, type ExtendedComponentProperty, type ExtendsAppOptions, type Handler, Headers, type HeadersInit, type PageConstructor, type PageInstance, type PageOptions, type PageQuery, type PageState, type PropType, Queue, type RefMap, type RequestBody, type RequestError, type RequestFactory, type RequestInitOptions, type RequestOptions, type RequestResponse, type RequestType, type SetCookieOptions, type StorageData, type Task, type TrivialComponentInstance, type TrivialComponentOptions, type TrivialPageInstance, type TrivialPageOptions, URLSearchParams, type UrlInfo, type WildCardEventHandlerList, type WildcardHandler, check, checkAsync, createRequest, decode as decodeBase64, dirname, userEmitter as emitter, encode as encodeBase64, exists, funcQueue, get, getAsync, getCookieOptions, getCookieScopeDomain, getDomain, isDir, isFile, isMp, isQQ, isWx, lock, logger, ls, mkdir, normalizeDomain, once, parseCookieHeader, parseUrl, put, query, readFile, readJSON, remove, removeAsync, request, requestCookieStore, rm, saveFile, saveOnlineFile, set, setAsync, storage, take, type, unzip, wrapFunction, writeFile, writeJSON };
|
package/lib/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
"use strict";for(var j="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",_=typeof Uint8Array=="undefined"?[]:new Uint8Array(256),U=0;U<j.length;U++)_[j.charCodeAt(U)]=U;var pt=function(e){var t=new Uint8Array(e),r,n=t.length,o="";for(r=0;r<n;r+=3)o+=j[t[r]>>2],o+=j[(t[r]&3)<<4|t[r+1]>>4],o+=j[(t[r+1]&15)<<2|t[r+2]>>6],o+=j[t[r+2]&63];return n%3===2?o=o.substring(0,o.length-1)+"=":n%3===1&&(o=o.substring(0,o.length-2)+"=="),o},ft=function(e){var t=e.length*.75,r=e.length,n,o=0,s,i,c,l;e[e.length-1]==="="&&(t--,e[e.length-2]==="="&&t--);var a=new ArrayBuffer(t),h=new Uint8Array(a);for(n=0;n<r;n+=4)s=_[e.charCodeAt(n)],i=_[e.charCodeAt(n+1)],c=_[e.charCodeAt(n+2)],l=_[e.charCodeAt(n+3)],h[o++]=s<<2|i>>4,h[o++]=(i&15)<<4|c>>2,h[o++]=(c&3)<<6|l&63;return a};function g(e,t){return function(...r){if(t.apply(this,r),e)return e.apply(this,r)}}const dt=(e,t)=>{let r;return function(...n){if(!r)return r=!0,e.apply(t||this,[()=>{r=!1},...n])}},gt=(e,t)=>{let r;return function(...n){if(!(r||!e))return r=!0,e.apply(t||null,n)}};let ve=class{constructor(t=1){this.capacity=t,this.funcQueue=[],this.running=0}next(){const t=this.funcQueue.shift();if(t){const{func:r,ctx:n,args:o}=t,s=()=>{r.apply(n,[()=>{this.running-=1,this.next()},...[].slice.call(o,0)])};this.running+=1,s()}}add(t,r,...n){this.funcQueue.push({func:t,ctx:r,args:[].slice.call(n,0)}),this.running<this.capacity&&this.next()}clear(){this.funcQueue=[]}};const $t=(e,t=1)=>{const r=new ve(t);return function(...n){r.add(e,this,...n)}};function F(e){return e=e||new Map,{all:e,on:(t,r)=>{const n=e.get(t);n?n.push(r):e.set(t,[r])},off:(t,r)=>{const n=e.get(t);n&&(r?n.splice(n.indexOf(r)>>>0,1):e.set(t,[]))},emit:(t,r)=>{let n=e.get(t);n&&n.slice().map(o=>{o(r)}),n=e.get("*"),n&&n.slice().map(o=>{o(t,r)})},emitAsync:(t,r)=>Promise.all((e.get(t)||[]).slice().map(n=>n(r))).then(()=>Promise.all((e.get("*")||[]).slice().map(n=>n(t,r)))).then(()=>{})}}const S=wx.getRealtimeLogManager?wx.getRealtimeLogManager():wx.getLogManager({level:1}),ee=!!wx.getRealtimeLogManager,mt=(...e)=>{wx.env.DEBUG&&(ee?S.info("debug",...e):S.debug(...e))},yt=(...e)=>{console.info(...e),S.info(...e)},wt=(...e)=>{console.warn(...e),S.warn(...e)},vt=(...e)=>{console.error(...e),ee?S.error(...e):S.warn("error",...e)},bt=e=>{ee&&S.setFilterMsg(e)};var $=Object.freeze({__proto__:null,debug:mt,error:vt,filter:bt,info:yt,warn:wt});const xt=(e="",t="&")=>{const r={},n=e?e.split(t):void 0;return n&&n.length>0&&n.forEach(o=>{const[s,i]=o.split("=");r[s]=i}),r},be=(e={},t="&",r=!1)=>Object.keys(e).map(n=>{const o=e[n];return`${n}=${r?o:encodeURIComponent(o)}`}).join(t),St=(e,t,r=!1)=>{const n=be(t,"&",r);return n?`${e}${/[?&]$/u.test(e)?"":e.indexOf("?")===-1?"?":"&"}${n}`:e};var xe=Object.freeze({__proto__:null,join:St,parse:xt,stringify:be});const kt=e=>{if(e===void 0)return"undefined";if(typeof e=="object"){if(e===null)return"null";const t=/\[object (\w+)\]/u.exec(Object.prototype.toString.call(e));return t?t[1].toLowerCase():""}return typeof e},te="a",Se="al",ke="n",Oe="p",Ae="r",je="u",m=F(),N=F(),y=F(),w={launch:!1,lOpt:{},hide:0},Ot=e=>{w.launch=!0,w.lOpt=e,m.emit(Se,e)},At=()=>{w.hide&&(m.emit(te,new Date().getTime()-w.hide),w.hide=0)},jt=()=>{w.hide=new Date().getTime()},Ct=e=>{e.onLaunch=g(e.onLaunch,Ot),e.onShow=g(e.onShow,At),e.onHide=g(e.onHide,jt),e.onAwake&&(m.on(te,t=>{$.debug(`App: awake after ${t}ms`),e.onAwake(t)}),$.debug("App: registered onAwake")),e.$on=y.on,e.$off=y.off,e.$emit=y.emit,e.$emitAsync=y.emitAsync,App(e)};var Pt=Object.defineProperty,_t=Object.defineProperties,Et=Object.getOwnPropertyDescriptors,H=Object.getOwnPropertySymbols,Ce=Object.prototype.hasOwnProperty,Pe=Object.prototype.propertyIsEnumerable,_e=(e,t,r)=>t in e?Pt(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,Dt=(e,t)=>{for(var r in t||(t={}))Ce.call(t,r)&&_e(e,r,t[r]);if(H)for(var r of H(t))Pe.call(t,r)&&_e(e,r,t[r]);return e},Rt=(e,t)=>_t(e,Et(t)),Mt=(e,t)=>{var r={};for(var n in e)Ce.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(e!=null&&H)for(var n of H(e))t.indexOf(n)<0&&Pe.call(e,n)&&(r[n]=e[n]);return r};let Ee;const Lt=e=>{const t=e,{defaultRoute:r,routes:n=[]}=t,o=Mt(t,["defaultRoute","routes"]);let s={},i={};const c=(a,h)=>{const f=h.replace(/\$name/g,a);s[a]=f,i[f]=a};Array.isArray(n)?n.forEach(([a,h])=>{typeof a=="string"?c(a,h):a.forEach(f=>c(f,h))}):typeof n=="object"&&(s=n,i=Object.fromEntries(Object.keys(n).map(a=>[n[a],a])));const l=new RegExp(`^${r.replace(/^\/?/,"/?").replace(/[.]/g,"\\.").replace("$name","([\\w\\-]+)").replace(/\$name/g,"[\\w\\-]+")}`);Ee=Rt(Dt({},o),{getRoute:a=>s[a]||r.replace(/\$name/g,a),getName:a=>{var h;return i[a]||((h=l.exec(a))==null?void 0:h[1])||"Unknown"}})},v=()=>Ee||$.error("$Config is not called"),re={},De=e=>re[e],It=(e,t)=>{re[e]=t},Tt=e=>{delete re[e]};let E=!0;const Re=e=>{const t=v(),[r,n]=e.split("?"),o=r.startsWith("/")?r:t.getRoute(r);return{name:t.getName(o),url:`${o}${n?`?${n}`:""}`,query:xe.parse(n)}};function z(e){return t=>{if(E){E=!1;const{name:r,url:n,query:o}=Re(t);return Promise.race([N.emitAsync(`${ke}:${r}`,o),new Promise(s=>{setTimeout(()=>s(),v().maxDelay||200)})]).then(()=>(E=!0,wx[e]({url:n})))}}}m.on(Ae,()=>{setTimeout(()=>{E=!0},v().minInterval||100)}),m.on(je,()=>{E=!0});const Me=z("navigateTo"),Le=z("redirectTo"),Ie=z("switchTab"),ne=z("reLaunch");function q(e){return function(t){if(t){const{before:r,after:n,url:o}=t.currentTarget.dataset;if(this&&r&&typeof this[r]=="function"&&this[r](t),o)return e(o).then(()=>{this&&n&&typeof this[n]=="function"&&this[n](t)})}}}const Ut=q(Me),Ft=q(Le),Nt=q(Ie),Ht=q(ne),Te=(e=1)=>{const{home:t}=v();return getCurrentPages().length<=e&&t?ne(t):wx.navigateBack({delta:e})},zt=function(e){if(e){const{before:t,after:r,delta:n=1}=e.currentTarget.dataset;return this&&t&&typeof this[t]=="function"&&this[t](e),Promise.resolve(Te(Number(n))).then(()=>{this&&r&&typeof this[r]=="function"&&this[r](e)})}},qt=()=>getCurrentPages().slice(0).pop(),Bt=e=>{const{name:t,query:r}=Re(e);N.emit(`${Oe}:${t}`,r)};function Ue(e){const{args:t,event:r,id:n}=e.detail;switch(r){case"_$attached":{const o=De(n);if(!o)break;const s=o.$refID;s&&this.$refs&&(this.$refs[s]=o),o._$attached(this);break}default:{const o=this[r];o&&o.apply(this,t)}}}function Fe(e){e.$=Ue,e.$refs={},e.$on=y.on,e.$off=y.off,e.$emit=y.emit,e.$emitAsync=y.emitAsync,e.$go=Me,e.$redirect=Le,e.$switch=Ie,e.$reLaunch=ne,e.$back=Te,e.$preload=Bt,e.$currentPage=qt,e.$getName=v().getName,e.$getPath=v().getRoute,e.$bindGo=Ut,e.$bindRedirect=Ft,e.$bindSwitch=Nt,e.$bindRelaunch=Ht,e.$bindBack=zt}var Wt=Object.defineProperty,Gt=Object.defineProperties,Jt=Object.getOwnPropertyDescriptors,Ne=Object.getOwnPropertySymbols,Qt=Object.prototype.hasOwnProperty,Vt=Object.prototype.propertyIsEnumerable,He=(e,t,r)=>t in e?Wt(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,oe=(e,t)=>{for(var r in t||(t={}))Qt.call(t,r)&&He(e,r,t[r]);if(Ne)for(var r of Ne(t))Vt.call(t,r)&&He(e,r,t[r]);return e},se=(e,t)=>Gt(e,Jt(t));let Kt=0;const Xt=(e={})=>{const t={};return Object.keys(e).forEach(r=>{const n=e[r];if(n===null||typeof n=="function")t[r]=n;else{const{type:o}=n;o===null?t[r]={type:null,value:n.default}:Array.isArray(o)?t[r]={type:o[0],value:n.default,optionalTypes:o.slice(1)}:t[r]={type:o,value:n.default}}}),se(oe({},t),{ref:{type:String,value:""}})},Yt=e=>{const{extendComponent:t,injectComponent:r}=v();return t&&t(e),e.lifetimes||(e.lifetimes={}),e.lifetimes.created=g(e.lifetimes.created,function(){Fe(this),r&&r(e)}),e.lifetimes.attached=g(e.lifetimes.attached,function(){const n=Kt+=1;this.$id=n,It(n,this),this.$refID=this.properties.ref,this.triggerEvent("ing",{id:this.$id,event:"_$attached"})}),e.lifetimes.detached=g(e.lifetimes.detached,function(){var n;Tt(this.$id);const o=(n=this.$parent)==null?void 0:n.$refs,s=this.$refID;s&&o&&delete o[s],delete this.$parent}),e.methods=se(oe({},e.methods),{$call(n,...o){$.debug(`Component ${this.$id} call ${n}:`,o),this.triggerEvent("ing",{id:this.$id,event:n,args:o})},$getRef:De,_$attached(n){this.$root=n.$root||n,this.$parent=n},$:Ue}),e.observers=se(oe({},e.observers||{}),{ref(n){var o;this.$refID&&this.$refID!==n&&((o=this.$parent)!=null&&o.$refs&&delete this.$parent.$refs[this.$refID],this.$refID=n,$.debug(`Component ${this.$id} ref: ${n}`))}}),e.properties=Xt(e.properties),Component(e)};let ze=!1;const Zt=(e,t)=>{const{extendPage:r,injectPage:n}=v(),o=(i,c)=>$.debug(`Page ${e}: ${i} has been invoked`,c||""),s=i=>$.debug(`Page ${e}: registered ${i}`);if(r&&r(e,t),t.$name=e,t.$state={firstOpen:!1},t.onAppLaunch){if(w.launch){const{lOpt:i}=w;o("onAppLaunch"),t.onAppLaunch(i)}else m.on(Se,i=>{o("onAppLaunch"),t.onAppLaunch(i)});s("onAppLaunch")}t.onNavigate&&(N.on(`${ke}:${e}`,i=>(o("onNavigate",i),t.onNavigate(i))),s("onNavigate")),t.onPreload&&(N.on(`${Oe}:${e}`,i=>(o("onPreload",i),t.onPreload(i))),s("onPreload")),t.onLoad=g(t.onLoad,()=>{t.onAwake&&(m.on(te,i=>{o("onAwake"),t.onAwake(i)}),s("onAwake")),ze||(ze=!0,t.$state.firstOpen=!0)}),t.onReady=g(t.onReady,()=>m.emit(Ae)),t.onUnload=g(t.onUnload,()=>m.emit(je)),Fe(t),n&&n(e,t),t.onRegister&&(o("onRegister"),t.onRegister()),Page(t),$.debug(`Registered: Page ${e}`)};for(var qe="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",er=typeof Uint8Array=="undefined"?[]:new Uint8Array(256),B=0;B<qe.length;B++)er[qe.charCodeAt(B)]=B;const k=wx.getRealtimeLogManager?wx.getRealtimeLogManager():wx.getLogManager({level:1}),ie=!!wx.getRealtimeLogManager,tr=(...e)=>{wx.env.DEBUG&&(ie?k.info("debug",...e):k.debug(...e))},rr=(...e)=>{console.info(...e),k.info(...e)},nr=(...e)=>{console.warn(...e),k.warn(...e)},or=(...e)=>{console.error(...e),ie?k.error(...e):k.warn("error",...e)},sr=e=>{ie&&k.setFilterMsg(e)};var u=Object.freeze({__proto__:null,debug:tr,error:or,filter:sr,info:rr,warn:nr});const d=wx.getFileSystemManager(),p=wx.env.USER_DATA_PATH,W=e=>e.split("/").slice(0,-1).join("/"),ae=e=>{try{return d.statSync(`${p}/${e}`,!1),!0}catch(t){return!1}},ir=e=>ae(e)&&d.statSync(`${p}/${e}`).isFile(),Be=e=>ae(e)&&d.statSync(`${p}/${e}`).isDirectory(),ar=(e,t=Be(e)?"dir":"file")=>{const r=()=>u.debug(`Deleted ${e}`),n=o=>u.error(`Error deleting ${e}:`,o);if(t==="dir")try{d.rmdirSync(`${p}/${e}`,!0),r()}catch(o){n(o)}else try{d.unlinkSync(`${p}/${e}`),r()}catch(o){n(o)}},cr=e=>{try{const t=d.readdirSync(`${p}/${e}`);return u.debug(`Listing ${e} folder:`,t),t}catch(t){return u.error(`Error listing ${e} folder:`,t),[]}},lr=(e,t="utf-8")=>{try{return d.readFileSync(`${p}/${e}`,t)}catch(r){u.warn(`${e} don't exist`);return}},hr=(e,t="utf-8")=>{let r;try{const n=d.readFileSync(`${p}/${e}.json`,t);try{r=JSON.parse(n),u.debug(`Read ${e}.json success:`,r)}catch(o){r=void 0,u.warn(`Parse ${e}.json failed`)}}catch(n){r=void 0,u.warn(`${e}.json doesn't exist`)}return r},G=(e,t=!0)=>{try{d.mkdirSync(`${p}/${e}`,t)}catch(r){u.debug(`${e} folder already exists`)}},ur=(e,t)=>{try{d.saveFileSync(e,`${p}/${t}`)}catch(r){u.error(`Saving to ${t} failed:`,r)}},pr=(e,t)=>(G(W(t)),new Promise((r,n)=>{wx.downloadFile({url:e,filePath:`${p}/${t}`,success:o=>{o.statusCode===200?(u.info(`${e} saved`),r(o.tempFilePath)):(u.error(`Download ${e} failed with statusCode ${o.statusCode}`),n(o.statusCode))},fail:o=>{u.error(`Download ${e} failed:`,o),n(o)}})})),fr=(e,t,r=t instanceof ArrayBuffer?"binary":"utf-8")=>{G(W(e)),d.writeFileSync(`${p}/${e}`,t instanceof ArrayBuffer?t:JSON.stringify(t),r)},dr=(e,t,r="utf-8")=>{const n=JSON.stringify(t);G(W(e)),d.writeFileSync(`${p}/${e}.json`,n,r)},gr=(e,t)=>new Promise((r,n)=>{d.unzip({zipFilePath:`${p}/${e}`,targetPath:`${p}/${t}`,success:()=>{r()},fail:o=>{u.error(`Unzip ${e} failed:`,o),n()}})}),D=new Date().getTime();u.debug(`Current sessionId is ${D}`);const J={},$r=(e,t)=>{J[e]=t},mr=e=>{const t=J[e];return J[e]=void 0,t},ce=(e,t)=>t?t.expired?t.expired===D||new Date().getTime()<t.expired?t.data:(wx.removeStorageSync(`_cache_${e}`),void 0):t.data:void 0,We=(e,t,r)=>{const n={expired:0,data:t};if(r==="keep"){const o=wx.getStorageSync(`_cache_${e}`);if(!o)return;n.expired=o.expired||0}else r&&(n.expired=r==="once"?D:r+new Date().getTime());return n},yr=(e,t,r=0)=>{wx.setStorageSync(`_cache_${e}`,We(e,t,r))},wr=(e,t,r=0)=>wx.setStorage({key:`_cache_${e}`,data:We(e,t,r)}).catch(()=>{u.error(`set "${e}" fail`)}),vr=e=>ce(e,wx.getStorageSync(`_cache_${e}`)),br=e=>wx.getStorage({key:`_cache_${e}`}).then(({data:t})=>ce(e,t)).catch(()=>{u.error(`set "${e}" fail`)}),xr=e=>{wx.removeStorageSync(`_cache_${e}`),ce(e,null)},Sr=e=>wx.removeStorage({key:`_cache_${e}`}),kr=()=>{wx.getStorageInfoSync().keys.forEach(e=>{if(e.startsWith("_cache_")){const t=wx.getStorageSync(e);(!t||t.expired!==D&&new Date().getTime()>=t.expired)&&wx.removeStorageSync(e)}})},Or=()=>wx.getStorageInfo().then(({keys:e})=>Promise.all(e.filter(t=>t.startsWith("_cache_")).map(t=>wx.getStorage({key:t}).then(({data:r})=>{if(!r||r.expired!==D&&new Date().getTime()>=r.expired)return wx.removeStorage({key:t}).then(()=>{})}))));var Q={exports:{}},C={decodeValues:!0,map:!1,silent:!1};function le(e){return typeof e=="string"&&!!e.trim()}function he(e,t){var r=e.split(";").filter(le),n=r.shift(),o=Ar(n),s=o.name,i=o.value;t=t?Object.assign({},C,t):C;try{i=t.decodeValues?decodeURIComponent(i):i}catch(l){console.error("set-cookie-parser encountered an error while decoding a cookie with value '"+i+"'. Set options.decodeValues to false to disable this feature.",l)}var c={name:s,value:i};return r.forEach(function(l){var a=l.split("="),h=a.shift().trimLeft().toLowerCase(),f=a.join("=");h==="expires"?c.expires=new Date(f):h==="max-age"?c.maxAge=parseInt(f,10):h==="secure"?c.secure=!0:h==="httponly"?c.httpOnly=!0:h==="samesite"?c.sameSite=f:c[h]=f}),c}function Ar(e){var t="",r="",n=e.split("=");return n.length>1?(t=n.shift(),r=n.join("=")):r=e,{name:t,value:r}}function Ge(e,t){if(t=t?Object.assign({},C,t):C,!e)return t.map?{}:[];if(e.headers)if(typeof e.headers.getSetCookie=="function")e=e.headers.getSetCookie();else if(e.headers["set-cookie"])e=e.headers["set-cookie"];else{var r=e.headers[Object.keys(e.headers).find(function(o){return o.toLowerCase()==="set-cookie"})];!r&&e.headers.cookie&&!t.silent&&console.warn("Warning: set-cookie-parser appears to have been called on a request object. It is designed to parse Set-Cookie headers from responses, not Cookie headers from requests. Set the option {silent: true} to suppress this warning."),e=r}if(Array.isArray(e)||(e=[e]),t=t?Object.assign({},C,t):C,t.map){var n={};return e.filter(le).reduce(function(o,s){var i=he(s,t);return o[i.name]=i,o},n)}else return e.filter(le).map(function(o){return he(o,t)})}function jr(e){if(Array.isArray(e))return e;if(typeof e!="string")return[];var t=[],r=0,n,o,s,i,c;function l(){for(;r<e.length&&/\s/.test(e.charAt(r));)r+=1;return r<e.length}function a(){return o=e.charAt(r),o!=="="&&o!==";"&&o!==","}for(;r<e.length;){for(n=r,c=!1;l();)if(o=e.charAt(r),o===","){for(s=r,r+=1,l(),i=r;r<e.length&&a();)r+=1;r<e.length&&e.charAt(r)==="="?(c=!0,r=i,t.push(e.substring(n,s)),n=r):r=s+1}else r+=1;(!c||r>=e.length)&&t.push(e.substring(n,e.length))}return t}Q.exports=Ge;var Cr=Q.exports.parse=Ge;Q.exports.parseString=he;var Je=Q.exports.splitCookiesString=jr,Pr=Object.defineProperty,_r=Object.defineProperties,Er=Object.getOwnPropertyDescriptors,Qe=Object.getOwnPropertySymbols,Dr=Object.prototype.hasOwnProperty,Rr=Object.prototype.propertyIsEnumerable,Ve=(e,t,r)=>t in e?Pr(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,Mr=(e,t)=>{for(var r in t||(t={}))Dr.call(t,r)&&Ve(e,r,t[r]);if(Qe)for(var r of Qe(t))Rr.call(t,r)&&Ve(e,r,t[r]);return e},Lr=(e,t)=>_r(e,Er(t));const ue=(e="")=>e.replace(/^(\.*)?(?=\S)/gi,"."),V=(e="")=>{if(!e)return[];e=e.replace(/^\.+/gi,"");const t=e.split(".").map(r=>[".",e.slice(e.indexOf(r))].join(""));return[e].concat(t)},pe=e=>e.replace(/^https?:\/\//,"").split("/").shift().replace(/:\d+$/,""),Ke=e=>{const t=pe(e),r=e.split(t)[1].replace(/^:\d+/,"")||"/";return{domain:t,path:r}},fe=e=>{const{domain:t="",path:r="/"}=typeof e=="object"?e:typeof e=="string"?Ke(e):{};return{domain:t,path:r}},Xe=(e,t)=>Cr(Je(e),{decodeValues:!1}).map(r=>new K(Lr(Mr({},r),{domain:ue(r.domain)||t})));class K{constructor(t){this.expires="session",this.name=t.name||"",this.value=t.value||"",this.domain=t.domain||"",this.path=t.path||"/",this.httpOnly=!!t.httpOnly,this.expires=Number.isInteger(t.maxAge)?t.maxAge>0?new Date(new Date().getTime()+t.maxAge*1e3):"outdate":t.expires?new Date(t.expires):"session"}isExpired(){return this.expires==="outdate"||this.expires instanceof Date&&new Date>this.expires}isPersistence(){return this.expires!=="session"}isDomainMatched(t){return V(t).includes(this.domain)}isPathMatched(t){return t.startsWith(this.path)||this.path.replace(/\/$/,"")===t}toString(){return`${this.name}=${this.value}`}toJSON(){const t={name:this.name,value:this.value,domain:this.domain};return this.path!=="/"&&(t.path=this.path),this.httpOnly&&(t.httpOnly=this.httpOnly),this.expires instanceof Date&&(t.expires=this.expires),t}}for(var Ye="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",Ir=typeof Uint8Array=="undefined"?[]:new Uint8Array(256),X=0;X<Ye.length;X++)Ir[Ye.charCodeAt(X)]=X;const O=wx.getRealtimeLogManager?wx.getRealtimeLogManager():wx.getLogManager({level:1}),de=!!wx.getRealtimeLogManager,Tr=(...e)=>{wx.env.DEBUG&&(de?O.info("debug",...e):O.debug(...e))},Ur=(...e)=>{console.info(...e),O.info(...e)},Fr=(...e)=>{console.warn(...e),O.warn(...e)},Nr=(...e)=>{console.error(...e),de?O.error(...e):O.warn("error",...e)},Hr=e=>{de&&O.setFilterMsg(e)};var ge=Object.freeze({__proto__:null,debug:Tr,error:Nr,filter:Hr,info:Ur,warn:Fr}),Ze,et;const zr=/[^a-z0-9\-#$%&'*+.^_`|~]/i,qr=[127,32,"(",")","<",">","@",",",";",":","\\",'"',"/","[","]","?","=","{","}"],P=Symbol("normalizedHeaders"),$e=Symbol("rawHeaderNames"),tt=", ",rt=[`
|
|
2
|
-
|
|
1
|
+
"use strict";for(var A="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",_=typeof Uint8Array=="undefined"?[]:new Uint8Array(256),F=0;F<A.length;F++)_[A.charCodeAt(F)]=F;var yt=function(t){var e=new Uint8Array(t),r,n=e.length,o="";for(r=0;r<n;r+=3)o+=A[e[r]>>2],o+=A[(e[r]&3)<<4|e[r+1]>>4],o+=A[(e[r+1]&15)<<2|e[r+2]>>6],o+=A[e[r+2]&63];return n%3===2?o=o.substring(0,o.length-1)+"=":n%3===1&&(o=o.substring(0,o.length-2)+"=="),o},mt=function(t){var e=t.length*.75,r=t.length,n,o=0,s,a,c,l;t[t.length-1]==="="&&(e--,t[t.length-2]==="="&&e--);var i=new ArrayBuffer(e),h=new Uint8Array(i);for(n=0;n<r;n+=4)s=_[t.charCodeAt(n)],a=_[t.charCodeAt(n+1)],c=_[t.charCodeAt(n+2)],l=_[t.charCodeAt(n+3)],h[o++]=s<<2|a>>4,h[o++]=(a&15)<<4|c>>2,h[o++]=(c&3)<<6|l&63;return i};const te=typeof qq=="object",ke=typeof wx=="object"&&!te,re=te||ke;function q(t){return t=t||new Map,{all:t,on:(e,r)=>{const n=t.get(e);n?n.push(r):t.set(e,[r])},off:(e,r)=>{const n=t.get(e);n&&(r?n.splice(n.indexOf(r)>>>0,1):t.set(e,[]))},emit:(e,r)=>{let n=t.get(e);n&&n.slice().map(o=>{o(r)}),n=t.get("*"),n&&n.slice().map(o=>{o(e,r)})},emitAsync:(e,r)=>Promise.all((t.get(e)||[]).slice().map(n=>n(r))).then(()=>Promise.all((t.get("*")||[]).slice().map(n=>n(e,r)))).then(()=>{})}}var Oe;const $=re?((Oe=wx.getRealtimeLogManager)==null?void 0:Oe.call(wx))||wx.getLogManager({level:1}):console,ne=re&&typeof wx.getRealtimeLogManager=="function",wt=(...t)=>{wx.env.DEBUG&&(ne?$.info("debug",...t):$.debug(...t))},vt=(...t)=>{$.info(...t),$!==console&&console.info(...t)},bt=(...t)=>{$.warn(...t),$!==console&&console.warn(...t)},xt=(...t)=>{ne?$.error(...t):$.warn("error",...t),$!==console&&console.error(...t)},St=t=>{ne&&$.setFilterMsg(t)};var v=Object.freeze({__proto__:null,debug:wt,error:xt,filter:St,info:vt,warn:bt});const kt=(t="",e="&")=>{const r={},n=t?t.split(e):void 0;return n&&n.length>0&&n.forEach(o=>{const[s,a]=o.split("=");r[s]=a}),r},Ae=(t={},e="&",r=!1)=>Object.keys(t).map(n=>{const o=t[n];return`${n}=${r?o:encodeURIComponent(o)}`}).join(e),Ot=(t,e,r=!1)=>{const n=Ae(e,"&",r);return n?`${t}${/[?&]$/u.test(t)?"":t.indexOf("?")===-1?"?":"&"}${n}`:t};var je=Object.freeze({__proto__:null,join:Ot,parse:kt,stringify:Ae});const At=t=>{if(t===void 0)return"undefined";if(typeof t=="object"){if(t===null)return"null";const e=/\[object (\w+)\]/u.exec(Object.prototype.toString.call(t));return e?e[1].toLowerCase():""}return typeof t};function y(t,e){return function(...r){if(e.apply(this,r),t)return t.apply(this,r)}}const jt=(t,e)=>{let r;return function(...n){if(!r)return r=!0,t.apply(e||this,[()=>{r=!1},...n])}},Ct=(t,e)=>{let r;return function(...n){if(!(r||!t))return r=!0,t.apply(e||null,n)}};let Ce=class{constructor(e=1){this.capacity=e,this.funcQueue=[],this.running=0}next(){const e=this.funcQueue.shift();if(e){const{func:r,ctx:n,args:o}=e,s=()=>{r.apply(n,[()=>{this.running-=1,this.next()},...[].slice.call(o,0)])};this.running+=1,s()}}add(e,r,...n){this.funcQueue.push({func:e,ctx:r,args:[].slice.call(n,0)}),this.running<this.capacity&&this.next()}clear(){this.funcQueue=[]}};const Pt=(t,e=1)=>{const r=new Ce(e);return function(...n){r.add(t,this,...n)}},oe="a",Pe="al",Ee="n",_e="p",De="r",Re="u",b=q(),N=q(),x=q(),S={launch:!1,lOpt:{},hide:0},Et=t=>{S.launch=!0,S.lOpt=t,b.emit(Pe,t)},_t=()=>{S.hide&&(b.emit(oe,new Date().getTime()-S.hide),S.hide=0)},Dt=()=>{S.hide=new Date().getTime()},Rt=t=>{t.onLaunch=y(t.onLaunch,Et),t.onShow=y(t.onShow,_t),t.onHide=y(t.onHide,Dt),t.onAwake&&(b.on(oe,e=>{v.debug(`App: awake after ${e}ms`),t.onAwake(e)}),v.debug("App: registered onAwake")),t.$on=x.on,t.$off=x.off,t.$emit=x.emit,t.$emitAsync=x.emitAsync,App(t)};var Mt=Object.defineProperty,Tt=Object.defineProperties,Lt=Object.getOwnPropertyDescriptors,H=Object.getOwnPropertySymbols,Me=Object.prototype.hasOwnProperty,Te=Object.prototype.propertyIsEnumerable,Le=(t,e,r)=>e in t?Mt(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,Ut=(t,e)=>{for(var r in e||(e={}))Me.call(e,r)&&Le(t,r,e[r]);if(H)for(var r of H(e))Te.call(e,r)&&Le(t,r,e[r]);return t},It=(t,e)=>Tt(t,Lt(e)),Ft=(t,e)=>{var r={};for(var n in t)Me.call(t,n)&&e.indexOf(n)<0&&(r[n]=t[n]);if(t!=null&&H)for(var n of H(t))e.indexOf(n)<0&&Te.call(t,n)&&(r[n]=t[n]);return r};let Ue;const qt=t=>{const e=t,{defaultRoute:r,routes:n=[]}=e,o=Ft(e,["defaultRoute","routes"]);let s={},a={};const c=(i,h)=>{const f=h.replace(/\$name/g,i);s[i]=f,a[f]=i};Array.isArray(n)?n.forEach(([i,h])=>{typeof i=="string"?c(i,h):i.forEach(f=>c(f,h))}):typeof n=="object"&&(s=n,a=Object.fromEntries(Object.keys(n).map(i=>[n[i],i])));const l=new RegExp(`^${r.replace(/^\/?/,"/?").replace(/[.]/g,"\\.").replace("$name","([\\w\\-]+)").replace(/\$name/g,"[\\w\\-]+")}`);Ue=It(Ut({},o),{getRoute:i=>s[i]||r.replace(/\$name/g,i),getName:i=>{var h;return a[i]||((h=l.exec(i))==null?void 0:h[1])||"Unknown"}})},k=()=>Ue||v.error("$Config is not called"),se={},Ie=t=>se[t],Nt=(t,e)=>{se[t]=e},Ht=t=>{delete se[t]};let D=!0;const Fe=t=>{const e=k(),[r,n]=t.split("?"),o=r.startsWith("/")?r:e.getRoute(r);return{name:e.getName(o),url:`${o}${n?`?${n}`:""}`,query:je.parse(n)}};function z(t){return e=>{if(D){D=!1;const{name:r,url:n,query:o}=Fe(e);return Promise.race([N.emitAsync(`${Ee}:${r}`,o),new Promise(s=>{setTimeout(()=>s(),k().maxDelay||200)})]).then(()=>(D=!0,wx[t]({url:n})))}}}b.on(De,()=>{setTimeout(()=>{D=!0},k().minInterval||100)}),b.on(Re,()=>{D=!0});const qe=z("navigateTo"),Ne=z("redirectTo"),He=z("switchTab"),ae=z("reLaunch");function B(t){return function(e){if(e){const{before:r,after:n,url:o}=e.currentTarget.dataset;if(this&&r&&typeof this[r]=="function"&&this[r](e),o)return t(o).then(()=>{this&&n&&typeof this[n]=="function"&&this[n](e)})}}}const zt=B(qe),Bt=B(Ne),Qt=B(He),Wt=B(ae),ze=(t=1)=>{const{home:e}=k();return getCurrentPages().length<=t&&e?ae(e):wx.navigateBack({delta:t})},Jt=function(t){if(t){const{before:e,after:r,delta:n=1}=t.currentTarget.dataset;return this&&e&&typeof this[e]=="function"&&this[e](t),Promise.resolve(ze(Number(n))).then(()=>{this&&r&&typeof this[r]=="function"&&this[r](t)})}},Gt=()=>getCurrentPages().slice(0).pop(),Vt=t=>{const{name:e,query:r}=Fe(t);N.emit(`${_e}:${e}`,r)};function Be(t){const{args:e,event:r,id:n}=t.detail;switch(r){case"_$attached":{const o=Ie(n);if(!o)break;const s=o.$refID;s&&this.$refs&&(this.$refs[s]=o),o._$attached(this);break}default:{const o=this[r];o&&o.apply(this,e)}}}function Qe(t){t.$=Be,t.$refs={},t.$on=x.on,t.$off=x.off,t.$emit=x.emit,t.$emitAsync=x.emitAsync,t.$go=qe,t.$redirect=Ne,t.$switch=He,t.$reLaunch=ae,t.$back=ze,t.$preload=Vt,t.$currentPage=Gt,t.$getName=k().getName,t.$getPath=k().getRoute,t.$bindGo=zt,t.$bindRedirect=Bt,t.$bindSwitch=Qt,t.$bindRelaunch=Wt,t.$bindBack=Jt}var Kt=Object.defineProperty,Xt=Object.defineProperties,Yt=Object.getOwnPropertyDescriptors,We=Object.getOwnPropertySymbols,Zt=Object.prototype.hasOwnProperty,er=Object.prototype.propertyIsEnumerable,Je=(t,e,r)=>e in t?Kt(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,ie=(t,e)=>{for(var r in e||(e={}))Zt.call(e,r)&&Je(t,r,e[r]);if(We)for(var r of We(e))er.call(e,r)&&Je(t,r,e[r]);return t},ce=(t,e)=>Xt(t,Yt(e));let tr=0;const rr=(t={})=>{const e={};return Object.keys(t).forEach(r=>{const n=t[r];if(n===null||typeof n=="function")e[r]=n;else{const{type:o}=n;o===null?e[r]={type:null,value:n.default}:Array.isArray(o)?e[r]={type:o[0],value:n.default,optionalTypes:o.slice(1)}:e[r]={type:o,value:n.default}}}),ce(ie({},e),{ref:{type:String,value:""}})},nr=t=>{const{extendComponent:e,injectComponent:r}=k();return e&&e(t),t.lifetimes||(t.lifetimes={}),t.lifetimes.created=y(t.lifetimes.created,function(){Qe(this),r&&r(t)}),t.lifetimes.attached=y(t.lifetimes.attached,function(){const n=tr+=1;this.$id=n,Nt(n,this),this.$refID=this.properties.ref,this.triggerEvent("ing",{id:this.$id,event:"_$attached"})}),t.lifetimes.detached=y(t.lifetimes.detached,function(){var n;Ht(this.$id);const o=(n=this.$parent)==null?void 0:n.$refs,s=this.$refID;s&&o&&delete o[s],delete this.$parent}),t.methods=ce(ie({},t.methods),{$call(n,...o){v.debug(`Component ${this.$id} call ${n}:`,o),this.triggerEvent("ing",{id:this.$id,event:n,args:o})},$getRef:Ie,_$attached(n){this.$root=n.$root||n,this.$parent=n},$:Be}),t.observers=ce(ie({},t.observers||{}),{ref(n){var o;this.$refID&&this.$refID!==n&&((o=this.$parent)!=null&&o.$refs&&delete this.$parent.$refs[this.$refID],this.$refID=n,v.debug(`Component ${this.$id} ref: ${n}`))}}),t.properties=rr(t.properties),Component(t)};let Ge=!1;const or=(t,e)=>{const{extendPage:r,injectPage:n}=k(),o=(a,c)=>v.debug(`Page ${t}: ${a} has been invoked`,c||""),s=a=>v.debug(`Page ${t}: registered ${a}`);if(r&&r(t,e),e.$name=t,e.$state={firstOpen:!1},e.onAppLaunch){if(S.launch){const{lOpt:a}=S;o("onAppLaunch"),e.onAppLaunch(a)}else b.on(Pe,a=>{o("onAppLaunch"),e.onAppLaunch(a)});s("onAppLaunch")}e.onNavigate&&(N.on(`${Ee}:${t}`,a=>(o("onNavigate",a),e.onNavigate(a))),s("onNavigate")),e.onPreload&&(N.on(`${_e}:${t}`,a=>(o("onPreload",a),e.onPreload(a))),s("onPreload")),e.onLoad=y(e.onLoad,()=>{e.onAwake&&(b.on(oe,a=>{o("onAwake"),e.onAwake(a)}),s("onAwake")),Ge||(Ge=!0,e.$state.firstOpen=!0)}),e.onReady=y(e.onReady,()=>b.emit(De)),e.onUnload=y(e.onUnload,()=>b.emit(Re)),Qe(e),n&&n(t,e),e.onRegister&&(o("onRegister"),e.onRegister()),Page(e),v.debug(`Registered: Page ${t}`)};for(var Ve="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",sr=typeof Uint8Array=="undefined"?[]:new Uint8Array(256),Q=0;Q<Ve.length;Q++)sr[Ve.charCodeAt(Q)]=Q;const Ke=typeof qq=="object",ar=typeof wx=="object"&&!Ke,Xe=Ke||ar;var Ye;const m=Xe?((Ye=wx.getRealtimeLogManager)==null?void 0:Ye.call(wx))||wx.getLogManager({level:1}):console,le=Xe&&typeof wx.getRealtimeLogManager=="function",ir=(...t)=>{wx.env.DEBUG&&(le?m.info("debug",...t):m.debug(...t))},cr=(...t)=>{m.info(...t),m!==console&&console.info(...t)},lr=(...t)=>{m.warn(...t),m!==console&&console.warn(...t)},hr=(...t)=>{le?m.error(...t):m.warn("error",...t),m!==console&&console.error(...t)},ur=t=>{le&&m.setFilterMsg(t)};var u=Object.freeze({__proto__:null,debug:ir,error:hr,filter:ur,info:cr,warn:lr});const d=wx.getFileSystemManager(),p=wx.env.USER_DATA_PATH,W=t=>t.split("/").slice(0,-1).join("/"),he=t=>{try{return d.statSync(`${p}/${t}`,!1),!0}catch(e){return!1}},pr=t=>he(t)&&d.statSync(`${p}/${t}`).isFile(),Ze=t=>he(t)&&d.statSync(`${p}/${t}`).isDirectory(),fr=(t,e=Ze(t)?"dir":"file")=>{const r=()=>u.debug(`Deleted ${t}`),n=o=>u.error(`Error deleting ${t}:`,o);if(e==="dir")try{d.rmdirSync(`${p}/${t}`,!0),r()}catch(o){n(o)}else try{d.unlinkSync(`${p}/${t}`),r()}catch(o){n(o)}},dr=t=>{try{const e=d.readdirSync(`${p}/${t}`);return u.debug(`Listing ${t} folder:`,e),e}catch(e){return u.error(`Error listing ${t} folder:`,e),[]}},gr=(t,e="utf-8")=>{try{return d.readFileSync(`${p}/${t}`,e)}catch(r){u.warn(`${t} don't exist`);return}},$r=(t,e="utf-8")=>{let r;try{const n=d.readFileSync(`${p}/${t}.json`,e);try{r=JSON.parse(n),u.debug(`Read ${t}.json success:`,r)}catch(o){r=void 0,u.warn(`Parse ${t}.json failed`)}}catch(n){r=void 0,u.warn(`${t}.json doesn't exist`)}return r},J=(t,e=!0)=>{try{d.mkdirSync(`${p}/${t}`,e)}catch(r){u.debug(`${t} folder already exists`)}},yr=(t,e)=>{try{d.saveFileSync(t,`${p}/${e}`)}catch(r){u.error(`Saving to ${e} failed:`,r)}},mr=(t,e)=>(J(W(e)),new Promise((r,n)=>{wx.downloadFile({url:t,filePath:`${p}/${e}`,success:o=>{o.statusCode===200?(u.info(`${t} saved`),r(o.tempFilePath)):(u.error(`Download ${t} failed with statusCode ${o.statusCode}`),n(o.statusCode))},fail:o=>{u.error(`Download ${t} failed:`,o),n(o)}})})),wr=(t,e,r=e instanceof ArrayBuffer?"binary":"utf-8")=>{J(W(t)),d.writeFileSync(`${p}/${t}`,e instanceof ArrayBuffer?e:JSON.stringify(e),r)},vr=(t,e,r="utf-8")=>{const n=JSON.stringify(e);J(W(t)),d.writeFileSync(`${p}/${t}.json`,n,r)},br=(t,e)=>new Promise((r,n)=>{d.unzip({zipFilePath:`${p}/${t}`,targetPath:`${p}/${e}`,success:()=>{r()},fail:o=>{u.error(`Unzip ${t} failed:`,o),n()}})}),R=new Date().getTime();u.debug(`Current sessionId is ${R}`);const G={},xr=(t,e)=>{G[t]=e},Sr=t=>{const e=G[t];return G[t]=void 0,e},ue=(t,e)=>e?e.expired?e.expired===R||new Date().getTime()<e.expired?e.data:(wx.removeStorageSync(`_cache_${t}`),void 0):e.data:void 0,et=(t,e,r)=>{const n={expired:0,data:e};if(r==="keep"){const o=wx.getStorageSync(`_cache_${t}`);if(!o)return;n.expired=o.expired||0}else r&&(n.expired=r==="once"?R:r+new Date().getTime());return n},kr=(t,e,r=0)=>{wx.setStorageSync(`_cache_${t}`,et(t,e,r))},Or=(t,e,r=0)=>wx.setStorage({key:`_cache_${t}`,data:et(t,e,r)}).catch(()=>{u.error(`set "${t}" fail`)}),Ar=t=>ue(t,wx.getStorageSync(`_cache_${t}`)),jr=t=>wx.getStorage({key:`_cache_${t}`}).then(({data:e})=>ue(t,e)).catch(()=>{u.error(`set "${t}" fail`)}),Cr=t=>{wx.removeStorageSync(`_cache_${t}`),ue(t,null)},Pr=t=>wx.removeStorage({key:`_cache_${t}`}),Er=()=>{wx.getStorageInfoSync().keys.forEach(t=>{if(t.startsWith("_cache_")){const e=wx.getStorageSync(t);(!e||e.expired!==R&&new Date().getTime()>=e.expired)&&wx.removeStorageSync(t)}})},_r=()=>wx.getStorageInfo().then(({keys:t})=>Promise.all(t.filter(e=>e.startsWith("_cache_")).map(e=>wx.getStorage({key:e}).then(({data:r})=>{if(!r||r.expired!==R&&new Date().getTime()>=r.expired)return wx.removeStorage({key:e}).then(()=>{})}))));var V={exports:{}},j={decodeValues:!0,map:!1,silent:!1};function pe(t){return typeof t=="string"&&!!t.trim()}function fe(t,e){var r=t.split(";").filter(pe),n=r.shift(),o=Dr(n),s=o.name,a=o.value;e=e?Object.assign({},j,e):j;try{a=e.decodeValues?decodeURIComponent(a):a}catch(l){console.error("set-cookie-parser encountered an error while decoding a cookie with value '"+a+"'. Set options.decodeValues to false to disable this feature.",l)}var c={name:s,value:a};return r.forEach(function(l){var i=l.split("="),h=i.shift().trimLeft().toLowerCase(),f=i.join("=");h==="expires"?c.expires=new Date(f):h==="max-age"?c.maxAge=parseInt(f,10):h==="secure"?c.secure=!0:h==="httponly"?c.httpOnly=!0:h==="samesite"?c.sameSite=f:c[h]=f}),c}function Dr(t){var e="",r="",n=t.split("=");return n.length>1?(e=n.shift(),r=n.join("=")):r=t,{name:e,value:r}}function tt(t,e){if(e=e?Object.assign({},j,e):j,!t)return e.map?{}:[];if(t.headers)if(typeof t.headers.getSetCookie=="function")t=t.headers.getSetCookie();else if(t.headers["set-cookie"])t=t.headers["set-cookie"];else{var r=t.headers[Object.keys(t.headers).find(function(o){return o.toLowerCase()==="set-cookie"})];!r&&t.headers.cookie&&!e.silent&&console.warn("Warning: set-cookie-parser appears to have been called on a request object. It is designed to parse Set-Cookie headers from responses, not Cookie headers from requests. Set the option {silent: true} to suppress this warning."),t=r}if(Array.isArray(t)||(t=[t]),e=e?Object.assign({},j,e):j,e.map){var n={};return t.filter(pe).reduce(function(o,s){var a=fe(s,e);return o[a.name]=a,o},n)}else return t.filter(pe).map(function(o){return fe(o,e)})}function Rr(t){if(Array.isArray(t))return t;if(typeof t!="string")return[];var e=[],r=0,n,o,s,a,c;function l(){for(;r<t.length&&/\s/.test(t.charAt(r));)r+=1;return r<t.length}function i(){return o=t.charAt(r),o!=="="&&o!==";"&&o!==","}for(;r<t.length;){for(n=r,c=!1;l();)if(o=t.charAt(r),o===","){for(s=r,r+=1,l(),a=r;r<t.length&&i();)r+=1;r<t.length&&t.charAt(r)==="="?(c=!0,r=a,e.push(t.substring(n,s)),n=r):r=s+1}else r+=1;(!c||r>=t.length)&&e.push(t.substring(n,t.length))}return e}V.exports=tt;var Mr=V.exports.parse=tt;V.exports.parseString=fe;var rt=V.exports.splitCookiesString=Rr,Tr=Object.defineProperty,Lr=Object.defineProperties,Ur=Object.getOwnPropertyDescriptors,nt=Object.getOwnPropertySymbols,Ir=Object.prototype.hasOwnProperty,Fr=Object.prototype.propertyIsEnumerable,ot=(t,e,r)=>e in t?Tr(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,qr=(t,e)=>{for(var r in e||(e={}))Ir.call(e,r)&&ot(t,r,e[r]);if(nt)for(var r of nt(e))Fr.call(e,r)&&ot(t,r,e[r]);return t},Nr=(t,e)=>Lr(t,Ur(e));const de=(t="")=>t.replace(/^(\.*)?(?=\S)/gi,"."),K=(t="")=>{if(!t)return[];t=t.replace(/^\.+/gi,"");const e=t.split(".").map(r=>[".",t.slice(t.indexOf(r))].join(""));return[t].concat(e)},ge=t=>t.replace(/^https?:\/\//,"").split("/").shift().replace(/:\d+$/,""),st=t=>{const e=ge(t),r=t.split(e)[1].replace(/^:\d+/,"")||"/";return{domain:e,path:r}},$e=t=>{const{domain:e="",path:r="/"}=typeof t=="object"?t:typeof t=="string"?st(t):{};return{domain:e,path:r}},ye=(t,e)=>Mr(rt(t),{decodeValues:!1}).map(r=>new X(Nr(qr({},r),{domain:de(r.domain)||e})));class X{constructor(e){this.expires="session",this.name=e.name||"",this.value=e.value||"",this.domain=e.domain||"",this.path=e.path||"/",this.httpOnly=!!e.httpOnly,this.expires=Number.isInteger(e.maxAge)?e.maxAge>0?new Date(new Date().getTime()+e.maxAge*1e3):"outdate":e.expires?new Date(e.expires):"session"}isExpired(){return this.expires==="outdate"||this.expires instanceof Date&&new Date>this.expires}isPersistence(){return this.expires!=="session"}isDomainMatched(e){return K(e).includes(this.domain)}isPathMatched(e){return e.startsWith(this.path)||this.path.replace(/\/$/,"")===e}toString(){return`${this.name}=${this.value}`}toJSON(){const e={name:this.name,value:this.value,domain:this.domain};return this.path!=="/"&&(e.path=this.path),this.httpOnly&&(e.httpOnly=this.httpOnly),this.expires instanceof Date&&(e.expires=this.expires),e}}for(var at="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",Hr=typeof Uint8Array=="undefined"?[]:new Uint8Array(256),Y=0;Y<at.length;Y++)Hr[at.charCodeAt(Y)]=Y;const me=typeof qq=="object",zr=typeof wx=="object"&&!me,C=me||zr;var it;const w=C?((it=wx.getRealtimeLogManager)==null?void 0:it.call(wx))||wx.getLogManager({level:1}):console,we=C&&typeof wx.getRealtimeLogManager=="function",Br=(...t)=>{wx.env.DEBUG&&(we?w.info("debug",...t):w.debug(...t))},Qr=(...t)=>{w.info(...t),w!==console&&console.info(...t)},Wr=(...t)=>{w.warn(...t),w!==console&&console.warn(...t)},Jr=(...t)=>{we?w.error(...t):w.warn("error",...t),w!==console&&console.error(...t)},Gr=t=>{we&&w.setFilterMsg(t)};var ve=Object.freeze({__proto__:null,debug:Br,error:Jr,filter:Gr,info:Qr,warn:Wr});const Vr=/[^a-z0-9\-#$%&'*+.^_`|~]/i,ct=`
|
|
2
|
+
\r `,Kr=new RegExp(`(^[${ct}]|$[${ct}])`,"g"),M=t=>{if(typeof t!="string"||t.length===0||t.length>128)return!1;for(let e=0;e<t.length;e++){const r=t.charCodeAt(e);if(r>127||r===32)return!1}return!0},T=t=>{if(Vr.test(t)||t.trim()==="")throw new TypeError("Invalid character in header field name");return t.trim().toLowerCase()},lt=t=>{if(typeof t!="string"||t.trim()!==t)return!1;for(let e=0;e<t.length;e++){const r=t.charCodeAt(e);if(r===0||r===10||r===13)return!1}return!0},be=t=>t.replace(Kr,"");class L{constructor(e){this.headers={},this.headerNames=new Map,e instanceof L?e.forEach((r,n)=>{this.append(n,r)},this):Array.isArray(e)?e.forEach(([r,n])=>{this.append(r,Array.isArray(n)?n.join(", "):n)}):e&&Object.getOwnPropertyNames(e).forEach(r=>{const n=e[r];this.append(r,Array.isArray(n)?n.join(", "):n)})}append(e,r){if(!M(e)||!lt(r))return;const n=T(e),o=be(r),s=this.has(n)?`${this.get(n)}, ${o}`:o;this.set(e,s)}delete(e){if(!M(e)||!this.has(e))return;const r=T(e);delete this.headers[r],this.headerNames.delete(r)}get(e){var r;if(!M(e))throw TypeError(`Invalid header name "${e}"`);return(r=this.headers[T(e)])!=null?r:null}getSetCookie(){const e=this.get("set-cookie");return e===null?[]:e===""?[""]:rt(e)}has(e){if(!M(e))throw new TypeError(`Invalid header name "${e}"`);return this.headers.hasOwnProperty(T(e))}set(e,r){if(!M(e)||!lt(r))return;const n=T(e),o=be(r);this.headers[n]=be(o),this.headerNames.set(n,e)}forEach(e,r){for(const[n,o]of this.entries())e.call(r,o,n,this)}*keys(){for(const[e]of this.entries())yield e}*values(){for(const[,e]of this.entries())yield e}*entries(){const e=Object.keys(this.headers).sort((r,n)=>r.localeCompare(n));for(const r of e)if(r==="set-cookie")for(const n of this.getSetCookie())yield[r,n];else yield[r,this.get(r)]}toObject(){return this.headers}[Symbol.iterator](){return this.entries()}}class Z{constructor(e="__cookie_store__"){this.key=e,this.store=new Map,this.init()}get(e,r){const{domain:n,path:o}=$e(r),s=K(n);for(const[a,c]of this.store.entries()){if(n&&!s.includes(a))continue;const l=c.get(e);if(l&&l.isPathMatched(o)&&!l.isExpired())return l}return null}getValue(e,r){var n;return(n=this.get(e,r))==null?void 0:n.value}has(e,r){return!!this.get(e,r)}set(e){const{name:r,domain:n}=e,o=new X(e),s=this.store.get(n)||new Map;return s.set(r,o),this.store.set(n,s),this.save(),o}delete(e,r=""){if(r){const n=this.store.get(r);n&&n.delete(e);const o=this.store.get(de(r));o&&o.delete(e)}else for(const n of this.store.values())n.delete(e);this.save()}list(){const e={};for(const r of this.store.keys())e[r]=this.getCookiesMap(r);return e}getCookies(e){const{domain:r,path:n}=$e(e),o=K(r),s=[];for(const[a,c]of this.store.entries())if(!(r&&o.indexOf(a)<0))for(const l of c.values())l.isPathMatched(n)&&!l.isExpired()&&s.push(l);return s}getAllCookies(){const e=[];for(const r of this.store.values())for(const n of r.values())n.isExpired()||e.push(n);return e}getCookiesMap(e){return Object.fromEntries(this.getCookies(e).map(({name:r,value:n})=>[r,n]))}apply(e){e.forEach(r=>{let n=this.store.get(r.domain);n||(n=new Map,this.store.set(r.domain,n)),n.set(r.name,r)}),this.save()}clear(e=""){if(e){const r=this.store.get(e);r&&r.clear()}else this.store.clear();this.save()}applyHeader(e,r){if(C){const n=e["Set-Cookie"]||e["set-cookie"]||"",o=Array.isArray(n)?n.filter(Boolean).join(","):me?n.replace(/;((?!Path|Expires|Max-Age|Domain|Path|SameSite)[^\s;]*?)=/gi,",$1="):n;return this.apply(ye(o,ge(r)))}return this.apply(ye(e.getSetCookie().join(","),r))}applyResponse(e,r){return this.applyHeader(C?e.header:e.headers,r)}getHeader(e){return this.getCookies(e).map(r=>r.toString()).join("; ")}init(){try{const e=C?wx.getStorageSync(this.key)||[]:[];this.apply(e.map(r=>new X(r)))}catch(e){console.warn("Error applying cookie storage",e);return}}save(){try{const e=[];for(const r of this.store.values())for(const n of r.values())n.isExpired()?r.delete(n.name):n.isPersistence()&&e.push(n);C&&wx.setStorageSync(this.key,e)}catch(e){console.warn("Error setting cookies",e)}}}const Xr={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"},ht=t=>encodeURIComponent(t).replace(/[!'()~]|%20|%00/g,e=>Xr[e]),ut=t=>decodeURIComponent(t.replace(/\+/g," "));class U{constructor(e){if(!e)this.params=new Map;else if(e instanceof U)this.params=new Map(e.params);else if(this.params=new Map,typeof e=="string")(e.indexOf("?")===0?e.slice(1):e).split("&").map(r=>{var n;const[,o,s]=(n=/^([^=]+)=?(.*?)$/.exec(r))!=null?n:[];o&&this.append(ut(o),ut(s))});else if(Symbol.iterator in e)for(const r of e){if(r.length!==2)throw new TypeError("Failed to construct 'URLSearchParams': Sequence initializer must only contain pair elements");const[n,o]=r;this.append(n,o)}else for(const r of Object.keys(e)){const n=e[r];this.params.set(r,[String(n)])}}get size(){return Array.from(this.params.values()).flat().length}append(e,r){this.params.set(e,this.getAll(e).concat(String(r)))}delete(e){this.params.delete(e)}entries(){const e=new Set;return this.forEach((r,n)=>{e.add([n,r])}),e.values()}forEach(e,r){this.params.forEach((n,o)=>n.forEach(s=>e.bind(r)(s,o,this)))}get(e){var r,n;return(n=(r=this.getAll(e))==null?void 0:r[0])!=null?n:null}getAll(e){return this.has(e)?this.params.get(e).slice(0):[]}has(e){return this.params.has(e)}keys(){return this.params.keys()}set(e,r){this.params.set(e,[r!=null?r:""])}sort(){this.params=new Map(Array.from(this.params.entries()).sort(([e],[r])=>e.localeCompare(r)))}toString(){const e=[];for(const[r,n]of this.params){const o=ht(r);for(let s=0;s<n.length;s++)e.push(`${o}=${ht(n[s])}`)}return e.join("&")}values(){const e=new Set;return this.forEach(r=>{e.add(r)}),e.values()}[Symbol.iterator](){return this.entries()}}var Yr=Object.defineProperty,ee=Object.getOwnPropertySymbols,pt=Object.prototype.hasOwnProperty,ft=Object.prototype.propertyIsEnumerable,dt=(t,e,r)=>e in t?Yr(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,xe=(t,e)=>{for(var r in e||(e={}))pt.call(e,r)&&dt(t,r,e[r]);if(ee)for(var r of ee(e))ft.call(e,r)&&dt(t,r,e[r]);return t},gt=(t,e)=>{var r={};for(var n in t)pt.call(t,n)&&e.indexOf(n)<0&&(r[n]=t[n]);if(t!=null&&ee)for(var n of ee(t))e.indexOf(n)<0&&ft.call(t,n)&&(r[n]=t[n]);return r};const Se=new Z("__request_cookie__"),$t=(t,e={})=>{var r=e,{method:n="GET",headers:o,body:s,cookieScope:a=t,cookieStore:c=Se}=r,l=gt(r,["method","headers","body","cookieScope","cookieStore"]);return new Promise((i,h)=>{const f=c.getHeader(a),g=new L(o);g.append("Cookie",f);const O=s instanceof U?s.toString():s!=null?s:void 0;g.has("Content-Type")||(s instanceof U?g.set("Content-Type","application/x-www-form-urlencoded; charset=UTF-8"):s instanceof ArrayBuffer?g.set("Content-Type","application/octet-stream; charset=UTF-8"):Object.prototype.toString.call(s)==="[object Object]"&&g.set("Content-Type","application/json; charset=UTF-8")),ve.debug(`Requesting ${t}:
|
|
3
3
|
Cookie: ${f}
|
|
4
4
|
Options:
|
|
5
|
-
`,l),wx.request(
|
|
5
|
+
`,l),wx.request(xe({url:t,method:n.toUpperCase(),header:g.toObject(),data:O,enableHttp2:!0,success:({data:P,statusCode:I,header:E})=>(ve.debug(`Request ends with ${I}`,P),c.applyHeader(E,a),i({data:P,headers:new L(E),status:I})),fail:({errMsg:P,errno:I})=>{const E=new Error(P);ve.warn(`Request ${t} failed: ${P}`),E.errno=I,h(E)}},l))})},Zr=(t={})=>{var e=t,{cookieStore:r,server:n,responseHandler:o=i=>i,errorHandler:s}=e,a=gt(e,["cookieStore","server","responseHandler","errorHandler"]);const c=n==null?void 0:n.replace(/\/$/g,""),l=r instanceof Z?r:typeof r=="string"?new Z(r):Se;return{cookieStore:l,request:(i,h={})=>{if(i.startsWith("/")&&!c)throw new Error("No server provided");const f=i.startsWith("/")?`${c}${i}`:i.match(/^[a-z][a-z-]*:\/\//)?i:`https://${i}`,g=xe(xe({cookieStore:l},a),h);return $t(f,g).then(O=>o(O,i,g)).catch(O=>{throw s?s(O,i,g):O})}}};exports.$App=Rt,exports.$Component=nr,exports.$Config=qt,exports.$Page=or,exports.Cookie=X,exports.CookieStore=Z,exports.Emitter=q,exports.Headers=L,exports.Queue=Ce,exports.URLSearchParams=U,exports.check=Er,exports.checkAsync=_r,exports.createRequest=Zr,exports.decodeBase64=mt,exports.dirname=W,exports.emitter=x,exports.encodeBase64=yt,exports.exists=he,exports.funcQueue=Pt,exports.get=Ar,exports.getAsync=jr,exports.getCookieOptions=$e,exports.getCookieScopeDomain=K,exports.getDomain=ge,exports.isDir=Ze,exports.isFile=pr,exports.isMp=re,exports.isQQ=te,exports.isWx=ke,exports.lock=jt,exports.logger=v,exports.ls=dr,exports.mkdir=J,exports.normalizeDomain=de,exports.once=Ct,exports.parseCookieHeader=ye,exports.parseUrl=st,exports.put=xr,exports.query=je,exports.readFile=gr,exports.readJSON=$r,exports.remove=Cr,exports.removeAsync=Pr,exports.request=$t,exports.requestCookieStore=Se,exports.rm=fr,exports.saveFile=yr,exports.saveOnlineFile=mr,exports.set=kr,exports.setAsync=Or,exports.storage=G,exports.take=Sr,exports.type=At,exports.unzip=br,exports.wrapFunction=y,exports.writeFile=wr,exports.writeJSON=vr;
|
|
6
6
|
//# sourceMappingURL=index.js.map
|