@mptool/all 0.6.0-beta.9 → 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 +132 -127
- package/lib/index.d.ts +132 -127
- 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;
|
|
@@ -1157,11 +1161,11 @@ interface UrlInfo {
|
|
|
1157
1161
|
}
|
|
1158
1162
|
declare const getDomain: (domainOrURL: string) => string;
|
|
1159
1163
|
declare const parseUrl: (url: string) => UrlInfo;
|
|
1160
|
-
type
|
|
1164
|
+
type CookieOptions = string | {
|
|
1161
1165
|
domain?: string;
|
|
1162
1166
|
path?: string;
|
|
1163
1167
|
};
|
|
1164
|
-
declare const getCookieOptions: (options
|
|
1168
|
+
declare const getCookieOptions: (options: CookieOptions) => UrlInfo;
|
|
1165
1169
|
declare const parseCookieHeader: (setCookieHeader: string, domain: string) => Cookie[];
|
|
1166
1170
|
|
|
1167
1171
|
type CookieMap = Map<string, Cookie>;
|
|
@@ -1192,7 +1196,7 @@ declare class CookieStore {
|
|
|
1192
1196
|
* @param options Cookie 选项
|
|
1193
1197
|
* @return cookie 对象
|
|
1194
1198
|
*/
|
|
1195
|
-
get(name: string, options:
|
|
1199
|
+
get(name: string, options: CookieOptions): Cookie | null;
|
|
1196
1200
|
/**
|
|
1197
1201
|
* 获取 Cookie 值
|
|
1198
1202
|
*
|
|
@@ -1200,7 +1204,7 @@ declare class CookieStore {
|
|
|
1200
1204
|
* @param options Cookie 选项
|
|
1201
1205
|
* @return Cookie 值
|
|
1202
1206
|
*/
|
|
1203
|
-
getValue(name: string, options:
|
|
1207
|
+
getValue(name: string, options: CookieOptions): string | undefined;
|
|
1204
1208
|
/**
|
|
1205
1209
|
* 是否有特定的 Cookie
|
|
1206
1210
|
*
|
|
@@ -1208,7 +1212,7 @@ declare class CookieStore {
|
|
|
1208
1212
|
* @param options Cookie 选项
|
|
1209
1213
|
* @return 是否存在
|
|
1210
1214
|
*/
|
|
1211
|
-
has(name: string, options:
|
|
1215
|
+
has(name: string, options: CookieOptions): boolean;
|
|
1212
1216
|
/**
|
|
1213
1217
|
* 设置 cookie
|
|
1214
1218
|
*/
|
|
@@ -1230,7 +1234,7 @@ declare class CookieStore {
|
|
|
1230
1234
|
* @param options Cookie 选项
|
|
1231
1235
|
* @return Cookie 对象数组
|
|
1232
1236
|
*/
|
|
1233
|
-
getCookies(options
|
|
1237
|
+
getCookies(options: CookieOptions): Cookie[];
|
|
1234
1238
|
/**
|
|
1235
1239
|
* 获取所有 cookies 对象
|
|
1236
1240
|
*
|
|
@@ -1242,7 +1246,7 @@ declare class CookieStore {
|
|
|
1242
1246
|
*
|
|
1243
1247
|
* @return 键值 Map
|
|
1244
1248
|
*/
|
|
1245
|
-
getCookiesMap(options:
|
|
1249
|
+
getCookiesMap(options: CookieOptions): Record<string, string>;
|
|
1246
1250
|
/**
|
|
1247
1251
|
* 应用 Cookies
|
|
1248
1252
|
*
|
|
@@ -1261,21 +1265,21 @@ declare class CookieStore {
|
|
|
1261
1265
|
* @param header 小程序 response header
|
|
1262
1266
|
* @param domainOrURL Url 或域名
|
|
1263
1267
|
*/
|
|
1264
|
-
applyHeader(header:
|
|
1268
|
+
applyHeader(header: unknown, domainOrURL: string): void;
|
|
1265
1269
|
/**
|
|
1266
1270
|
* 应用响应 cookies
|
|
1267
1271
|
*
|
|
1268
1272
|
* @param response 小程序 response
|
|
1269
1273
|
* @param domainOrURL Url 或域名
|
|
1270
1274
|
*/
|
|
1271
|
-
applyResponse(response:
|
|
1275
|
+
applyResponse(response: unknown, domainOrURL: string): void;
|
|
1272
1276
|
/**
|
|
1273
1277
|
* 获取 request cookie header
|
|
1274
1278
|
*
|
|
1275
1279
|
* @param options Cookie 选项
|
|
1276
1280
|
* @return request cookie header
|
|
1277
1281
|
*/
|
|
1278
|
-
getHeader(options:
|
|
1282
|
+
getHeader(options: CookieOptions): string;
|
|
1279
1283
|
/**
|
|
1280
1284
|
* 从 Storage 读取 cookies
|
|
1281
1285
|
*/
|
|
@@ -1406,9 +1410,9 @@ declare class URLSearchParams {
|
|
|
1406
1410
|
[Symbol.iterator](): IterableIterator<[string, string]>;
|
|
1407
1411
|
}
|
|
1408
1412
|
|
|
1409
|
-
declare const
|
|
1410
|
-
type
|
|
1411
|
-
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"> {
|
|
1412
1416
|
/**
|
|
1413
1417
|
* 请求方法
|
|
1414
1418
|
*/
|
|
@@ -1420,7 +1424,7 @@ interface FetchOptions<T extends Record<never, never> | unknown[] | string | Arr
|
|
|
1420
1424
|
/**
|
|
1421
1425
|
* 请求主体
|
|
1422
1426
|
*/
|
|
1423
|
-
body?:
|
|
1427
|
+
body?: RequestBody;
|
|
1424
1428
|
/**
|
|
1425
1429
|
* Cookie 作用域
|
|
1426
1430
|
*/
|
|
@@ -1430,7 +1434,7 @@ interface FetchOptions<T extends Record<never, never> | unknown[] | string | Arr
|
|
|
1430
1434
|
*/
|
|
1431
1435
|
cookieStore?: CookieStore;
|
|
1432
1436
|
}
|
|
1433
|
-
interface
|
|
1437
|
+
interface RequestResponse<T extends Record<never, never> | unknown[] | string | ArrayBuffer = Record<string, any>> {
|
|
1434
1438
|
/** Status Code */
|
|
1435
1439
|
status: number;
|
|
1436
1440
|
/** Response headers */
|
|
@@ -1438,15 +1442,13 @@ interface FetchResponse<T extends Record<never, never> | unknown[] | string | Ar
|
|
|
1438
1442
|
/** Response data */
|
|
1439
1443
|
data: T;
|
|
1440
1444
|
}
|
|
1441
|
-
|
|
1442
|
-
interface FetchErrorInfo {
|
|
1443
|
-
/** 错误信息 */
|
|
1444
|
-
errMsg: string;
|
|
1445
|
+
interface RequestError extends Error {
|
|
1445
1446
|
/** 错误码 */
|
|
1446
|
-
errno
|
|
1447
|
+
errno?: number;
|
|
1447
1448
|
}
|
|
1448
|
-
|
|
1449
|
-
|
|
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"> {
|
|
1450
1452
|
/**
|
|
1451
1453
|
* 访问的默认域名
|
|
1452
1454
|
*/
|
|
@@ -1458,26 +1460,29 @@ interface FetchInitOptions extends Pick<WechatMiniprogram.RequestOption, "redire
|
|
|
1458
1460
|
/**
|
|
1459
1461
|
* 响应处理器
|
|
1460
1462
|
*
|
|
1461
|
-
* @
|
|
1462
|
-
* @returns 数据
|
|
1463
|
-
* @throws {Error} 自定义的错误数据
|
|
1463
|
+
* @throws {RequestError} 自定义的错误数据
|
|
1464
1464
|
*/
|
|
1465
1465
|
responseHandler?: <T extends Record<never, never> | unknown[] | string | ArrayBuffer = Record<string, any>>(
|
|
1466
1466
|
/** 响应数据 */
|
|
1467
|
-
response:
|
|
1467
|
+
response: RequestResponse<T>,
|
|
1468
1468
|
/** 请求地址 */
|
|
1469
1469
|
url: string,
|
|
1470
1470
|
/** 请求配置 */
|
|
1471
|
-
options:
|
|
1471
|
+
options: RequestOptions<T>) => RequestResponse<T>;
|
|
1472
|
+
/**
|
|
1473
|
+
* 错误处理器
|
|
1474
|
+
*
|
|
1475
|
+
* @throws {RequestError} 自定义的错误数据
|
|
1476
|
+
*/
|
|
1472
1477
|
errorHandler?: <T extends Record<never, never> | unknown[] | string | ArrayBuffer = Record<string, any>>(
|
|
1473
1478
|
/** 错误信息 */
|
|
1474
|
-
|
|
1479
|
+
error: RequestError,
|
|
1475
1480
|
/** 请求地址 */
|
|
1476
1481
|
url: string,
|
|
1477
1482
|
/** 请求配置 */
|
|
1478
|
-
options:
|
|
1483
|
+
options: RequestOptions<T>) => RequestResponse<T> | never;
|
|
1479
1484
|
}
|
|
1480
|
-
interface
|
|
1485
|
+
interface RequestFactory {
|
|
1481
1486
|
/**
|
|
1482
1487
|
* Cookie 存储
|
|
1483
1488
|
*/
|
|
@@ -1485,11 +1490,11 @@ interface FetchFactory {
|
|
|
1485
1490
|
/**
|
|
1486
1491
|
* 请求方法
|
|
1487
1492
|
*/
|
|
1488
|
-
|
|
1493
|
+
request: RequestType;
|
|
1489
1494
|
}
|
|
1490
1495
|
/**
|
|
1491
|
-
* @param options
|
|
1496
|
+
* @param options request 配置选项
|
|
1492
1497
|
*/
|
|
1493
|
-
declare const
|
|
1498
|
+
declare const createRequest: ({ cookieStore, server, responseHandler, errorHandler, ...defaultOptions }?: RequestInitOptions) => RequestFactory;
|
|
1494
1499
|
|
|
1495
|
-
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+/",P=typeof Uint8Array=="undefined"?[]:new Uint8Array(256),T=0;T<j.length;T++)P[j.charCodeAt(T)]=T;var it=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},ct=function(e){var t=e.length*.75,r=e.length,n,o=0,s,a,c,l;e[e.length-1]==="="&&(t--,e[e.length-2]==="="&&t--);var i=new ArrayBuffer(t),h=new Uint8Array(i);for(n=0;n<r;n+=4)s=P[e.charCodeAt(n)],a=P[e.charCodeAt(n+1)],c=P[e.charCodeAt(n+2)],l=P[e.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};function g(e,t){return function(...r){if(t.apply(this,r),e)return e.apply(this,r)}}const lt=(e,t)=>{let r;return function(...n){if(!r)return r=!0,e.apply(t||this,[()=>{r=!1},...n])}},ht=(e,t)=>{let r;return function(...n){if(!(r||!e))return r=!0,e.apply(t||null,n)}};let ye=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 ut=(e,t=1)=>{const r=new ye(t);return function(...n){r.add(e,this,...n)}};function U(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}),Z=!!wx.getRealtimeLogManager,pt=(...e)=>{wx.env.DEBUG&&(Z?S.info("debug",...e):S.debug(...e))},ft=(...e)=>{console.info(...e),S.info(...e)},dt=(...e)=>{console.warn(...e),S.warn(...e)},gt=(...e)=>{console.error(...e),Z?S.error(...e):S.warn("error",...e)},$t=e=>{Z&&S.setFilterMsg(e)};var $=Object.freeze({__proto__:null,debug:pt,error:gt,filter:$t,info:ft,warn:dt});const mt=(e="",t="&")=>{const r={},n=e?e.split(t):void 0;return n&&n.length>0&&n.forEach(o=>{const[s,a]=o.split("=");r[s]=a}),r},we=(e={},t="&",r=!1)=>Object.keys(e).map(n=>{const o=e[n];return`${n}=${r?o:encodeURIComponent(o)}`}).join(t),yt=(e,t,r=!1)=>{const n=we(t,"&",r);return n?`${e}${/[?&]$/u.test(e)?"":e.indexOf("?")===-1?"?":"&"}${n}`:e};var ve=Object.freeze({__proto__:null,join:yt,parse:mt,stringify:we});const wt=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},ee="a",be="al",xe="n",Se="p",ke="r",Oe="u",m=U(),F=U(),y=U(),w={launch:!1,lOpt:{},hide:0},vt=e=>{w.launch=!0,w.lOpt=e,m.emit(be,e)},bt=()=>{w.hide&&(m.emit(ee,new Date().getTime()-w.hide),w.hide=0)},xt=()=>{w.hide=new Date().getTime()},St=e=>{e.onLaunch=g(e.onLaunch,vt),e.onShow=g(e.onShow,bt),e.onHide=g(e.onHide,xt),e.onAwake&&(m.on(ee,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 kt=Object.defineProperty,Ot=Object.defineProperties,At=Object.getOwnPropertyDescriptors,N=Object.getOwnPropertySymbols,Ae=Object.prototype.hasOwnProperty,je=Object.prototype.propertyIsEnumerable,Ce=(e,t,r)=>t in e?kt(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,jt=(e,t)=>{for(var r in t||(t={}))Ae.call(t,r)&&Ce(e,r,t[r]);if(N)for(var r of N(t))je.call(t,r)&&Ce(e,r,t[r]);return e},Ct=(e,t)=>Ot(e,At(t)),Pt=(e,t)=>{var r={};for(var n in e)Ae.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(e!=null&&N)for(var n of N(e))t.indexOf(n)<0&&je.call(e,n)&&(r[n]=e[n]);return r};let Pe;const _t=e=>{const t=e,{defaultRoute:r,routes:n=[]}=t,o=Pt(t,["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\\-]+")}`);Pe=Ct(jt({},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"}})},v=()=>Pe||$.error("$Config is not called"),te={},_e=e=>te[e],Et=(e,t)=>{te[e]=t},Dt=e=>{delete te[e]};let _=!0;const Ee=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:ve.parse(n)}};function H(e){return t=>{if(_){_=!1;const{name:r,url:n,query:o}=Ee(t);return Promise.race([F.emitAsync(`${xe}:${r}`,o),new Promise(s=>{setTimeout(()=>s(),v().maxDelay||200)})]).then(()=>(_=!0,wx[e]({url:n})))}}}m.on(ke,()=>{setTimeout(()=>{_=!0},v().minInterval||100)}),m.on(Oe,()=>{_=!0});const De=H("navigateTo"),Re=H("redirectTo"),Me=H("switchTab"),re=H("reLaunch");function z(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 Rt=z(De),Mt=z(Re),Lt=z(Me),It=z(re),Le=(e=1)=>{const{home:t}=v();return getCurrentPages().length<=e&&t?re(t):wx.navigateBack({delta:e})},Tt=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(Le(Number(n))).then(()=>{this&&r&&typeof this[r]=="function"&&this[r](e)})}},Ut=()=>getCurrentPages().slice(0).pop(),Ft=e=>{const{name:t,query:r}=Ee(e);F.emit(`${Se}:${t}`,r)};function Ie(e){const{args:t,event:r,id:n}=e.detail;switch(r){case"_$attached":{const o=_e(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 Te(e){e.$=Ie,e.$refs={},e.$on=y.on,e.$off=y.off,e.$emit=y.emit,e.$emitAsync=y.emitAsync,e.$go=De,e.$redirect=Re,e.$switch=Me,e.$reLaunch=re,e.$back=Le,e.$preload=Ft,e.$currentPage=Ut,e.$getName=v().getName,e.$getPath=v().getRoute,e.$bindGo=Rt,e.$bindRedirect=Mt,e.$bindSwitch=Lt,e.$bindRelaunch=It,e.$bindBack=Tt}var Nt=Object.defineProperty,Ht=Object.defineProperties,zt=Object.getOwnPropertyDescriptors,Ue=Object.getOwnPropertySymbols,qt=Object.prototype.hasOwnProperty,Bt=Object.prototype.propertyIsEnumerable,Fe=(e,t,r)=>t in e?Nt(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,ne=(e,t)=>{for(var r in t||(t={}))qt.call(t,r)&&Fe(e,r,t[r]);if(Ue)for(var r of Ue(t))Bt.call(t,r)&&Fe(e,r,t[r]);return e},oe=(e,t)=>Ht(e,zt(t));let Wt=0;const Gt=(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}}}),oe(ne({},t),{ref:{type:String,value:""}})},Jt=e=>{const{extendComponent:t,injectComponent:r}=v();return t&&t(e),e.lifetimes||(e.lifetimes={}),e.lifetimes.created=g(e.lifetimes.created,function(){Te(this),r&&r(e)}),e.lifetimes.attached=g(e.lifetimes.attached,function(){const n=Wt+=1;this.$id=n,Et(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;Dt(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=oe(ne({},e.methods),{$call(n,...o){$.debug(`Component ${this.$id} call ${n}:`,o),this.triggerEvent("ing",{id:this.$id,event:n,args:o})},$getRef:_e,_$attached(n){this.$root=n.$root||n,this.$parent=n},$:Ie}),e.observers=oe(ne({},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=Gt(e.properties),Component(e)};let Ne=!1;const Qt=(e,t)=>{const{extendPage:r,injectPage:n}=v(),o=(a,c)=>$.debug(`Page ${e}: ${a} has been invoked`,c||""),s=a=>$.debug(`Page ${e}: registered ${a}`);if(r&&r(e,t),t.$name=e,t.$state={firstOpen:!1},t.onAppLaunch){if(w.launch){const{lOpt:a}=w;o("onAppLaunch"),t.onAppLaunch(a)}else m.on(be,a=>{o("onAppLaunch"),t.onAppLaunch(a)});s("onAppLaunch")}t.onNavigate&&(F.on(`${xe}:${e}`,a=>(o("onNavigate",a),t.onNavigate(a))),s("onNavigate")),t.onPreload&&(F.on(`${Se}:${e}`,a=>(o("onPreload",a),t.onPreload(a))),s("onPreload")),t.onLoad=g(t.onLoad,()=>{t.onAwake&&(m.on(ee,a=>{o("onAwake"),t.onAwake(a)}),s("onAwake")),Ne||(Ne=!0,t.$state.firstOpen=!0)}),t.onReady=g(t.onReady,()=>m.emit(ke)),t.onUnload=g(t.onUnload,()=>m.emit(Oe)),Te(t),n&&n(e,t),t.onRegister&&(o("onRegister"),t.onRegister()),Page(t),$.debug(`Registered: Page ${e}`)};for(var He="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",Vt=typeof Uint8Array=="undefined"?[]:new Uint8Array(256),q=0;q<He.length;q++)Vt[He.charCodeAt(q)]=q;const k=wx.getRealtimeLogManager?wx.getRealtimeLogManager():wx.getLogManager({level:1}),se=!!wx.getRealtimeLogManager,Kt=(...e)=>{wx.env.DEBUG&&(se?k.info("debug",...e):k.debug(...e))},Xt=(...e)=>{console.info(...e),k.info(...e)},Yt=(...e)=>{console.warn(...e),k.warn(...e)},Zt=(...e)=>{console.error(...e),se?k.error(...e):k.warn("error",...e)},er=e=>{se&&k.setFilterMsg(e)};var u=Object.freeze({__proto__:null,debug:Kt,error:Zt,filter:er,info:Xt,warn:Yt});const d=wx.getFileSystemManager(),p=wx.env.USER_DATA_PATH,B=e=>e.split("/").slice(0,-1).join("/"),ae=e=>{try{return d.statSync(`${p}/${e}`,!1),!0}catch(t){return!1}},tr=e=>ae(e)&&d.statSync(`${p}/${e}`).isFile(),ze=e=>ae(e)&&d.statSync(`${p}/${e}`).isDirectory(),rr=(e,t=ze(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)}},nr=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),[]}},or=(e,t="utf-8")=>{try{return d.readFileSync(`${p}/${e}`,t)}catch(r){u.warn(`${e} don't exist`);return}},sr=(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},W=(e,t=!0)=>{try{d.mkdirSync(`${p}/${e}`,t)}catch(r){u.debug(`${e} folder already exists`)}},ar=(e,t)=>{try{d.saveFileSync(e,`${p}/${t}`)}catch(r){u.error(`Saving to ${t} failed:`,r)}},ir=(e,t)=>(W(B(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)}})})),cr=(e,t,r=t instanceof ArrayBuffer?"binary":"utf-8")=>{W(B(e)),d.writeFileSync(`${p}/${e}`,t instanceof ArrayBuffer?t:JSON.stringify(t),r)},lr=(e,t,r="utf-8")=>{const n=JSON.stringify(t);W(B(e)),d.writeFileSync(`${p}/${e}.json`,n,r)},hr=(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()}})}),E=new Date().getTime();u.debug(`Current sessionId is ${E}`);const G={},ur=(e,t)=>{G[e]=t},pr=e=>{const t=G[e];return G[e]=void 0,t},ie=(e,t)=>t?t.expired?t.expired===E||new Date().getTime()<t.expired?t.data:(wx.removeStorageSync(`_cache_${e}`),void 0):t.data:void 0,qe=(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"?E:r+new Date().getTime());return n},fr=(e,t,r=0)=>{wx.setStorageSync(`_cache_${e}`,qe(e,t,r))},dr=(e,t,r=0)=>wx.setStorage({key:`_cache_${e}`,data:qe(e,t,r)}).catch(()=>{u.error(`set "${e}" fail`)}),gr=e=>ie(e,wx.getStorageSync(`_cache_${e}`)),$r=e=>wx.getStorage({key:`_cache_${e}`}).then(({data:t})=>ie(e,t)).catch(()=>{u.error(`set "${e}" fail`)}),mr=e=>{wx.removeStorageSync(`_cache_${e}`),ie(e,null)},yr=e=>wx.removeStorage({key:`_cache_${e}`}),wr=()=>{wx.getStorageInfoSync().keys.forEach(e=>{if(e.startsWith("_cache_")){const t=wx.getStorageSync(e);(!t||t.expired!==E&&new Date().getTime()>=t.expired)&&wx.removeStorageSync(e)}})},vr=()=>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!==E&&new Date().getTime()>=r.expired)return wx.removeStorage({key:t}).then(()=>{})}))));var J={exports:{}},C={decodeValues:!0,map:!1,silent:!1};function ce(e){return typeof e=="string"&&!!e.trim()}function le(e,t){var r=e.split(";").filter(ce),n=r.shift(),o=br(n),s=o.name,a=o.value;t=t?Object.assign({},C,t):C;try{a=t.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 br(e){var t="",r="",n=e.split("=");return n.length>1?(t=n.shift(),r=n.join("=")):r=e,{name:t,value:r}}function Be(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(ce).reduce(function(o,s){var a=le(s,t);return o[a.name]=a,o},n)}else return e.filter(ce).map(function(o){return le(o,t)})}function xr(e){if(Array.isArray(e))return e;if(typeof e!="string")return[];var t=[],r=0,n,o,s,a,c;function l(){for(;r<e.length&&/\s/.test(e.charAt(r));)r+=1;return r<e.length}function i(){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(),a=r;r<e.length&&i();)r+=1;r<e.length&&e.charAt(r)==="="?(c=!0,r=a,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}J.exports=Be;var Sr=J.exports.parse=Be;J.exports.parseString=le;var We=J.exports.splitCookiesString=xr,kr=Object.defineProperty,Or=Object.defineProperties,Ar=Object.getOwnPropertyDescriptors,Ge=Object.getOwnPropertySymbols,jr=Object.prototype.hasOwnProperty,Cr=Object.prototype.propertyIsEnumerable,Je=(e,t,r)=>t in e?kr(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,Pr=(e,t)=>{for(var r in t||(t={}))jr.call(t,r)&&Je(e,r,t[r]);if(Ge)for(var r of Ge(t))Cr.call(t,r)&&Je(e,r,t[r]);return e},_r=(e,t)=>Or(e,Ar(t));const he=(e="")=>e.replace(/^(\.*)?(?=\S)/gi,"."),Q=(e="")=>{if(!e)return[];e=e.replace(/^\.+/gi,"");const t=e.split(".").map(r=>[".",e.slice(e.indexOf(r))].join(""));return[e].concat(t)},ue=e=>e.replace(/^https?:\/\//,"").split("/").shift().replace(/:\d+$/,""),Qe=e=>{const t=ue(e),r=e.split(t)[1].replace(/^:\d+/,"")||"/";return{domain:t,path:r}},pe=e=>{const{domain:t="",path:r="/"}=typeof e=="object"?e:typeof e=="string"?Qe(e):{};return{domain:t,path:r}},Ve=(e,t)=>Sr(We(e),{decodeValues:!1}).map(r=>new V(_r(Pr({},r),{domain:he(r.domain)||t})));class V{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 Q(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 Ke="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",Er=typeof Uint8Array=="undefined"?[]:new Uint8Array(256),K=0;K<Ke.length;K++)Er[Ke.charCodeAt(K)]=K;const O=wx.getRealtimeLogManager?wx.getRealtimeLogManager():wx.getLogManager({level:1}),fe=!!wx.getRealtimeLogManager,Dr=(...e)=>{wx.env.DEBUG&&(fe?O.info("debug",...e):O.debug(...e))},Rr=(...e)=>{console.info(...e),O.info(...e)},Mr=(...e)=>{console.warn(...e),O.warn(...e)},Lr=(...e)=>{console.error(...e),fe?O.error(...e):O.warn("error",...e)},Ir=e=>{fe&&O.setFilterMsg(e)};var de=Object.freeze({__proto__:null,debug:Dr,error:Lr,filter:Ir,info:Rr,warn:Mr});const Tr=/[^a-z0-9\-#$%&'*+.^_`|~]/i,Xe=`
|
|
2
|
-
\r `,
|
|
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
|