@zhin.js/adapter-wechat-mp 0.1.69 → 0.1.71

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/CHANGELOG.md CHANGED
@@ -1,5 +1,23 @@
1
1
  # @zhin.js/adapter-wechat-mp
2
2
 
3
+ ## 0.1.71
4
+
5
+ ### Patch Changes
6
+
7
+ - 775427e: fix: edge 支持
8
+ - Updated dependencies [775427e]
9
+ - @zhin.js/http@1.0.76
10
+ - zhin.js@1.0.83
11
+
12
+ ## 0.1.70
13
+
14
+ ### Patch Changes
15
+
16
+ - 32049f5: fix: init publish
17
+ - Updated dependencies [32049f5]
18
+ - @zhin.js/http@1.0.75
19
+ - zhin.js@1.0.82
20
+
3
21
  ## 0.1.69
4
22
 
5
23
  ### Patch Changes
package/lib/bot.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import { EventEmitter } from "events";
2
- import { Bot, Message, SendOptions, MessageSegment } from "zhin.js";
3
- import type { Router } from "@zhin.js/http";
2
+ import { Bot, Message, MessageSegment, SendOptions } from 'zhin.js';
3
+ import { type Router } from "@zhin.js/http/router";
4
4
  import type { WeChatMPConfig, WeChatMessage } from "./types.js";
5
5
  import type { WeChatMPAdapter } from "./adapter.js";
6
6
  export declare class WeChatMPBot extends EventEmitter implements Bot<WeChatMPConfig, WeChatMessage> {
package/lib/bot.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"bot.d.ts","sourceRoot":"","sources":["../src/bot.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAEtC,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,WAAW,EAAe,cAAc,EAAW,MAAM,SAAS,CAAC;AAE1F,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAoC,MAAM,YAAY,CAAC;AAClG,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAEpD,qBAAa,WAAY,SAAQ,YAAa,YAAW,GAAG,CAAC,cAAc,EAAE,aAAa,CAAC;IAgBpE,OAAO,EAAE,eAAe;IAf3C,OAAO,EAAE,cAAc,CAAC;IACxB,UAAU,EAAE,OAAO,CAAS;IAC5B,MAAM,EAAE,MAAM,CAAC;IAEf,OAAO,CAAC,WAAW,CAAuB;IAC1C,OAAO,CAAC,eAAe,CAAa;IAEpC,IAAI,MAAM,6BAEX;IAED,IAAI,GAAG,WAEJ;gBAEkB,OAAO,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc;IASnF,OAAO,CAAC,WAAW;IAcb,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAoBzB,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IASlC,OAAO,CAAC,kBAAkB;YAiBZ,aAAa;IAuD3B,OAAO,CAAC,eAAe;YAQT,eAAe;IAW7B,cAAc,CAAC,SAAS,EAAE,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC;IAuChE,MAAM,CAAC,mBAAmB,CAAC,SAAS,EAAE,aAAa,GAAG,cAAc,EAAE;IAgEhE,YAAY,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC;IAUnD,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;YAIjC,0BAA0B;IAmBxC,OAAO,CAAC,iBAAiB;YAoEX,kBAAkB;IA4BhC,OAAO,CAAC,cAAc;YAeR,kBAAkB;IAoBhC,OAAO,CAAC,iBAAiB,CAAC,CAAiC;IAE3D,OAAO,CAAC,sBAAsB;IAcxB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAW/C;;;;;;OAMG;IACG,WAAW,CACb,IAAI,EAAE,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,EAC3C,MAAM,EAAE,MAAM,EACd,QAAQ,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC,MAAM,CAAC;IA4ClB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAiBxB;;OAEG;IACH,OAAO,CAAC,cAAc;IAatB,OAAO,CAAC,SAAS;IAKjB;;OAEG;YACW,cAAc;IA8C5B;;OAEG;IACH,OAAO,CAAC,cAAc;CAyCzB"}
1
+ {"version":3,"file":"bot.d.ts","sourceRoot":"","sources":["../src/bot.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAEtC,OAAO,EAAiB,GAAG,EAAE,OAAO,EAAE,cAAc,EAAwB,WAAW,EAAE,MAAM,SAAS,CAAC;AACzG,OAAO,EAAsB,KAAK,MAAM,EAAsB,MAAM,sBAAsB,CAAC;AAC3F,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAoC,MAAM,YAAY,CAAC;AAClG,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAEpD,qBAAa,WAAY,SAAQ,YAAa,YAAW,GAAG,CAAC,cAAc,EAAE,aAAa,CAAC;IAgBpE,OAAO,EAAE,eAAe;IAf3C,OAAO,EAAE,cAAc,CAAC;IACxB,UAAU,EAAE,OAAO,CAAS;IAC5B,MAAM,EAAE,MAAM,CAAC;IAEf,OAAO,CAAC,WAAW,CAAuB;IAC1C,OAAO,CAAC,eAAe,CAAa;IAEpC,IAAI,MAAM,6BAEX;IAED,IAAI,GAAG,WAEJ;gBAEkB,OAAO,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc;IASnF,OAAO,CAAC,WAAW;IAcb,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAoBzB,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IASlC,OAAO,CAAC,kBAAkB;YAiBZ,aAAa;IAsD3B,OAAO,CAAC,eAAe;YAQT,eAAe;IAW7B,cAAc,CAAC,SAAS,EAAE,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC;IAuChE,MAAM,CAAC,mBAAmB,CAAC,SAAS,EAAE,aAAa,GAAG,cAAc,EAAE;IAgEhE,YAAY,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC;IAUnD,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;YAIjC,0BAA0B;IAmBxC,OAAO,CAAC,iBAAiB;YAoEX,kBAAkB;IA4BhC,OAAO,CAAC,cAAc;YAeR,kBAAkB;IAoBhC,OAAO,CAAC,iBAAiB,CAAC,CAAiC;IAE3D,OAAO,CAAC,sBAAsB;IAcxB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAW/C;;;;;;OAMG;IACG,WAAW,CACb,IAAI,EAAE,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,EAC3C,MAAM,EAAE,MAAM,EACd,QAAQ,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC,MAAM,CAAC;IA4ClB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAiBxB;;OAEG;IACH,OAAO,CAAC,cAAc;IAatB,OAAO,CAAC,SAAS;IAKjB;;OAEG;YACW,cAAc;IA8C5B;;OAEG;IACH,OAAO,CAAC,cAAc;CAyCzB"}
package/lib/bot.js CHANGED
@@ -6,7 +6,8 @@ import * as xml2js from "xml2js";
6
6
  import { createHash, createDecipheriv, createCipheriv, randomBytes } from "crypto";
7
7
  import { EventEmitter } from "events";
8
8
  import FormData from "form-data";
9
- import { Message, segment } from "zhin.js";
9
+ import { formatCompact, Message, segment } from 'zhin.js';
10
+ import { registerFetchRoute } from "@zhin.js/http/router";
10
11
  export class WeChatMPBot extends EventEmitter {
11
12
  adapter;
12
13
  $config;
@@ -31,12 +32,12 @@ export class WeChatMPBot extends EventEmitter {
31
32
  setupRoutes() {
32
33
  const path = this.$config.path;
33
34
  // 微信服务器验证 (GET)
34
- this.router.get(path, (ctx) => {
35
+ registerFetchRoute(this.router, "GET", path, (ctx) => {
35
36
  this.handleVerification(ctx);
36
37
  });
37
38
  // 接收微信消息 (POST)
38
- this.router.post(path, (ctx) => {
39
- this.handleMessage(ctx);
39
+ registerFetchRoute(this.router, "POST", path, (ctx) => {
40
+ void this.handleMessage(ctx);
40
41
  });
41
42
  }
42
43
  async $connect() {
@@ -47,8 +48,8 @@ export class WeChatMPBot extends EventEmitter {
47
48
  this.setupRoutes();
48
49
  // 定期刷新access_token
49
50
  this.startTokenRefreshTimer();
50
- this.logger.info(`WeChat MP bot connected: ${this.$config.name}`);
51
- this.logger.info(`Webhook URL: ${this.$config.path}`);
51
+ this.logger.info(formatCompact({ bot: this.$config.name }));
52
+ this.logger.info(formatCompact({ op: "webhook", path: this.$config.path }));
52
53
  this.$connected = true;
53
54
  }
54
55
  catch (error) {
@@ -62,12 +63,12 @@ export class WeChatMPBot extends EventEmitter {
62
63
  this.tokenRefreshTimer = undefined;
63
64
  }
64
65
  this.$connected = false;
65
- this.logger.info('WeChat MP bot disconnected');
66
+ this.logger.info(formatCompact({ op: "disconnect", bot: this.$config.name }));
66
67
  }
67
68
  handleVerification(ctx) {
68
69
  const { signature, timestamp, nonce, echostr } = ctx.query;
69
70
  if (this.verifySignature(signature, timestamp, nonce)) {
70
- this.logger.info('WeChat verification successful');
71
+ this.logger.info(formatCompact({ op: "verify" }));
71
72
  ctx.body = echostr;
72
73
  }
73
74
  else {
@@ -87,8 +88,7 @@ export class WeChatMPBot extends EventEmitter {
87
88
  return;
88
89
  }
89
90
  // 获取原始XML数据
90
- let xmlBody = ctx.request.rawBody || ctx.body;
91
- let xmlString = xmlBody?.toString() || '';
91
+ let xmlString = typeof ctx.request.body === 'string' ? ctx.request.body : '';
92
92
  // AES 加密模式:先解密
93
93
  if (this.$config.encrypt && encrypt_type === 'aes' && this.$config.encodingAESKey) {
94
94
  xmlString = await this.decryptMessage(xmlString, msg_signature, timestamp, nonce);
@@ -316,13 +316,13 @@ export class WeChatMPBot extends EventEmitter {
316
316
  if (wechatMsg.MsgType === 'event') {
317
317
  switch (wechatMsg.Event) {
318
318
  case 'subscribe':
319
- this.logger.info(`User subscribed: ${wechatMsg.FromUserName}${wechatMsg.EventKey ? `, scene: ${wechatMsg.EventKey}` : ''}`);
319
+ this.logger.info(formatCompact({ op: "subscribe", user: wechatMsg.FromUserName, scene: wechatMsg.EventKey }));
320
320
  return this.buildTextReply(wechatMsg, '感谢关注!');
321
321
  case 'unsubscribe':
322
- this.logger.info(`User unsubscribed: ${wechatMsg.FromUserName}`);
322
+ this.logger.info(formatCompact({ op: "unsubscribe", user: wechatMsg.FromUserName }));
323
323
  return '';
324
324
  case 'SCAN':
325
- this.logger.info(`User scanned QR: ${wechatMsg.FromUserName}, scene: ${wechatMsg.EventKey}`);
325
+ this.logger.info(formatCompact({ op: "scan", user: wechatMsg.FromUserName, scene: wechatMsg.EventKey }));
326
326
  return '';
327
327
  case 'LOCATION':
328
328
  this.logger.debug(`User location: ${wechatMsg.FromUserName}, lat=${wechatMsg.Location_X}, lng=${wechatMsg.Location_Y}`);
@@ -358,7 +358,7 @@ export class WeChatMPBot extends EventEmitter {
358
358
  if (data.access_token) {
359
359
  this.accessToken = data.access_token;
360
360
  this.tokenExpireTime = Date.now() + (data.expires_in - 300) * 1000; // 提前5分钟刷新
361
- this.logger.info('Access token refreshed successfully');
361
+ this.logger.debug(formatCompact({ op: "token_refresh" }));
362
362
  }
363
363
  else {
364
364
  throw new Error('Failed to get access token');
package/lib/bot.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"bot.js","sourceRoot":"","sources":["../src/bot.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAC;AACjC,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AACnF,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,QAAQ,MAAM,WAAW,CAAC;AACjC,OAAO,EAAO,OAAO,EAA4C,OAAO,EAAE,MAAM,SAAS,CAAC;AAM1F,MAAM,OAAO,WAAY,SAAQ,YAAY;IAgBtB;IAfnB,OAAO,CAAiB;IACxB,UAAU,GAAY,KAAK,CAAC;IAC5B,MAAM,CAAS;IAEP,WAAW,GAAkB,IAAI,CAAC;IAClC,eAAe,GAAW,CAAC,CAAC;IAEpC,IAAI,MAAM;QACV,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC;IACpC,CAAC;IAED,IAAI,GAAG;QACD,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;IAC7B,CAAC;IAED,YAAmB,OAAwB,EAAE,MAAc,EAAE,MAAsB;QAC/E,KAAK,EAAE,CAAC;QADO,YAAO,GAAP,OAAO,CAAiB;QAEvC,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QAErB,QAAQ;QACR,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,KAAK,CAAC;IACzD,CAAC;IAEO,WAAW;QACf,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;QAE/B,gBAAgB;QAChB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,GAAY,EAAE,EAAE;YACnC,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;QACjC,CAAC,CAAC,CAAC;QAEH,iBAAiB;QACjB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,GAAY,EAAE,EAAE;YACpC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;QAC5B,CAAC,CAAC,CAAC;IACP,CAAC;IAED,KAAK,CAAC,QAAQ;QACV,IAAI,CAAC;YACD,iBAAiB;YACjB,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAEhC,OAAO;YACP,IAAI,CAAC,WAAW,EAAE,CAAC;YAEnB,mBAAmB;YACnB,IAAI,CAAC,sBAAsB,EAAE,CAAC;YAE9B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,4BAA4B,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;YAClE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;YACtD,IAAI,CAAC,UAAU,GAAE,IAAI,CAAC;QAC1B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,kCAAkC,EAAE,KAAK,CAAC,CAAC;YAC7D,MAAM,KAAK,CAAC;QAChB,CAAC;IACL,CAAC;IAED,KAAK,CAAC,WAAW;QACb,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACzB,aAAa,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;YACtC,IAAI,CAAC,iBAAiB,GAAG,SAAS,CAAC;QACvC,CAAC;QACD,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QACxB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;IACnD,CAAC;IAEO,kBAAkB,CAAC,GAAY;QACnC,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC;QAE3D,IAAI,IAAI,CAAC,eAAe,CACpB,SAAmB,EACnB,SAAmB,EACnB,KAAe,CAClB,EAAE,CAAC;YACA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;YACnD,GAAG,CAAC,IAAI,GAAG,OAAO,CAAC;QACvB,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC;YAChD,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC;YACjB,GAAG,CAAC,IAAI,GAAG,WAAW,CAAC;QAC3B,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,aAAa,CAAC,GAAY;QACpC,IAAI,CAAC;YACD,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC;YAE/E,OAAO;YACP,IAAI,CAAC,IAAI,CAAC,eAAe,CACrB,SAAmB,EACnB,SAAmB,EACnB,KAAe,CAClB,EAAE,CAAC;gBACA,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;gBACvC,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC;gBACjB,GAAG,CAAC,IAAI,GAAG,WAAW,CAAC;gBACvB,OAAO;YACX,CAAC;YAED,YAAY;YACZ,IAAI,OAAO,GAAI,GAAW,CAAC,OAAO,CAAC,OAAO,IAAK,GAAW,CAAC,IAAI,CAAC;YAChE,IAAI,SAAS,GAAG,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;YAE1C,eAAe;YACf,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,YAAY,KAAK,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC;gBAChF,SAAS,GAAG,MAAM,IAAI,CAAC,cAAc,CACjC,SAAS,EACT,aAAuB,EACvB,SAAmB,EACnB,KAAe,CAClB,CAAC;YACN,CAAC;YAED,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;YAE5D,IAAI,aAAa,EAAE,CAAC;gBAChB,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC;gBACnD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC;gBAE9C,SAAS;gBACT,IAAI,QAAQ,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;gBAErE,gBAAgB;gBAChB,IAAI,QAAQ,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC;oBAClE,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;gBAC7C,CAAC;gBAED,GAAG,CAAC,GAAG,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC;gBACpC,GAAG,CAAC,IAAI,GAAG,QAAQ,IAAI,SAAS,CAAC;YACrC,CAAC;iBAAM,CAAC;gBACJ,GAAG,CAAC,IAAI,GAAG,SAAS,CAAC;YACzB,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,gCAAgC,EAAE,KAAK,CAAC,CAAC;YAC3D,GAAG,CAAC,IAAI,GAAG,SAAS,CAAC;QACzB,CAAC;IACL,CAAC;IAEO,eAAe,CAAC,SAAiB,EAAE,SAAiB,EAAE,KAAa;QACvE,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;QACjC,MAAM,GAAG,GAAG,CAAC,KAAK,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC;QAC7C,MAAM,GAAG,GAAG,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACzB,MAAM,IAAI,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC1D,OAAO,IAAI,KAAK,SAAS,CAAC;IAC9B,CAAC;IAEO,KAAK,CAAC,eAAe,CAAC,SAAiB;QAC3C,IAAI,CAAC;YACD,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,MAAM,CAAC,EAAE,aAAa,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;YAC9E,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;YAC1D,OAAO,MAAM,CAAC,GAAoB,CAAC;QACvC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,oBAAoB,EAAE,KAAK,CAAC,CAAC;YAC/C,OAAO,IAAI,CAAC;QAChB,CAAC;IACL,CAAC;IAED,cAAc,CAAC,SAAwB;QACnC,MAAM,WAAW,GAAG,SAAS,CAAC,CAAC,YAAY;QAC3C,MAAM,SAAS,GAAG,SAAS,CAAC,YAAY,CAAC;QAEzC,SAAS;QACT,MAAM,OAAO,GAAG,WAAW,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC;QAE3D,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE;YACnC,GAAG,EAAE,SAAS,CAAC,KAAK,IAAI,GAAG,SAAS,CAAC,UAAU,EAAE;YACjD,QAAQ,EAAE,WAAW;YACrB,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI;YACvB,OAAO,EAAE;gBACL,EAAE,EAAE,SAAS,CAAC,YAAY;gBAC1B,IAAI,EAAE,SAAS,CAAC,YAAY;aAC/B;YACD,QAAQ,EAAE;gBACN,EAAE,EAAE,SAAS;gBACb,IAAI,EAAE,WAAkB;aAC3B;YACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC;YAC/B,UAAU,EAAE,SAAS,CAAC,UAAU,GAAG,IAAI;YACvC,QAAQ,EAAE,OAAO;YACjB,OAAO,EAAE,KAAK,IAAI,EAAE;gBAChB,MAAM,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;YACzC,CAAC;YACD,MAAM,EAAE,KAAK,EAAE,OAAoB,EAAmB,EAAE;gBACpD,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC;oBAClC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO;oBAC7B,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI;oBACtB,EAAE,EAAE,SAAS,CAAC,YAAY;oBAC1B,IAAI,EAAE,SAAS;oBACf,OAAO;iBACV,CAAC,CAAC;YACP,CAAC;SACJ,CAAC,CAAC;QAEH,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,mBAAmB,CAAC,SAAwB;QAC/C,MAAM,QAAQ,GAAqB,EAAE,CAAC;QAEtC,QAAQ,SAAS,CAAC,OAAO,EAAE,CAAC;YACxB,KAAK,MAAM;gBACP,IAAI,SAAS,CAAC,OAAO,EAAE,CAAC;oBACpB,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;gBACnD,CAAC;gBACD,MAAM;YAEV,KAAK,OAAO;gBACR,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE;oBAC3B,GAAG,EAAE,SAAS,CAAC,MAAM;oBACrB,OAAO,EAAE,SAAS,CAAC,OAAO;iBAC7B,CAAC,CAAC,CAAC;gBACJ,MAAM;YAEV,KAAK,OAAO;gBACR,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE;oBAC3B,OAAO,EAAE,SAAS,CAAC,OAAO;oBAC1B,MAAM,EAAE,SAAS,CAAC,MAAM;oBACxB,WAAW,EAAE,SAAS,CAAC,WAAW;iBACrC,CAAC,CAAC,CAAC;gBACJ,MAAM;YAEV,KAAK,OAAO,CAAC;YACb,KAAK,YAAY;gBACb,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE;oBAC3B,OAAO,EAAE,SAAS,CAAC,OAAO;oBAC1B,YAAY,EAAE,SAAS,CAAC,YAAY;iBACvC,CAAC,CAAC,CAAC;gBACJ,MAAM;YAEV,KAAK,UAAU;gBACX,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE;oBAC9B,QAAQ,EAAE,SAAS,CAAC,UAAU;oBAC9B,SAAS,EAAE,SAAS,CAAC,UAAU;oBAC/B,KAAK,EAAE,SAAS,CAAC,KAAK;oBACtB,KAAK,EAAE,SAAS,CAAC,KAAK;iBACzB,CAAC,CAAC,CAAC;gBACJ,MAAM;YAEV,KAAK,MAAM;gBACP,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;oBAC1B,KAAK,EAAE,SAAS,CAAC,KAAK;oBACtB,WAAW,EAAE,SAAS,CAAC,WAAW;oBAClC,GAAG,EAAE,SAAS,CAAC,GAAG;iBACrB,CAAC,CAAC,CAAC;gBACJ,MAAM;YAEV,KAAK,OAAO;gBACR,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE;oBAC3B,KAAK,EAAE,SAAS,CAAC,KAAK;oBACtB,QAAQ,EAAE,SAAS,CAAC,QAAQ;iBAC/B,CAAC,CAAC,CAAC;gBACJ,MAAM;YAEV;gBACI,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,SAAS,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC;QACxE,CAAC;QAED,OAAO,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;IACpE,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,OAAoB;QACnC,IAAI,CAAC;YACD,uBAAuB;YACvB,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,0BAA0B,CAAC,OAAO,CAAC,CAAC;YAC7D,OAAO,KAAK,CAAC;QACjB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,gCAAgC,EAAE,KAAK,CAAC,CAAC;YAC3D,MAAM,KAAK,CAAC;QAChB,CAAC;IACL,CAAC;IACD,KAAK,CAAC,cAAc,CAAC,EAAU;QAC3B,aAAa;IACjB,CAAC;IAEO,KAAK,CAAC,0BAA0B,CAAC,OAAoB;QACzD,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACpB,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAC;QACpC,CAAC;QAED,MAAM,GAAG,GAAG,sEAAsE,IAAI,CAAC,WAAW,EAAE,CAAC;QAErG,MAAM,WAAW,GAAG,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;QAEpD,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;QACpD,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAyB,CAAC;QAElD,IAAI,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,KAAK,CAAC,EAAE,CAAC;YACzC,MAAM,IAAI,KAAK,CAAC,qBAAqB,MAAM,CAAC,OAAO,MAAM,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;QAC9E,CAAC;QAED,OAAO,MAAM,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,MAAM,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;IAC1D,CAAC;IAEO,iBAAiB,CAAC,OAAoB;QAC1C,MAAM,WAAW,GAAQ;YACrB,MAAM,EAAE,OAAO,CAAC,EAAE;YAClB,OAAO,EAAE,MAAM;YACf,IAAI,EAAE;gBACF,OAAO,EAAE,EAAE;aACd;SACJ,CAAC;QAEF,IAAI,OAAO,OAAO,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;YACtC,WAAW,CAAC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;QAC/C,CAAC;aAAM,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YACxC,MAAM,SAAS,GAAa,EAAE,CAAC;YAC/B,IAAI,QAAQ,GAAG,KAAK,CAAC;YAErB,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;gBACjC,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;oBAC3B,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACzB,CAAC;qBAAM,CAAC;oBACJ,MAAM,OAAO,GAAG,IAAsB,CAAC;oBACvC,QAAQ,OAAO,CAAC,IAAI,EAAE,CAAC;wBACnB,KAAK,MAAM;4BACP,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC;4BACpE,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;4BAC5B,MAAM;wBAEV,KAAK,OAAO;4BACR,IAAI,CAAC,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;gCACpC,WAAW,CAAC,OAAO,GAAG,OAAO,CAAC;gCAC9B,WAAW,CAAC,KAAK,GAAG,EAAE,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;gCACvD,OAAO,WAAW,CAAC,IAAI,CAAC;gCACxB,QAAQ,GAAG,IAAI,CAAC;4BACpB,CAAC;4BACD,MAAM;wBAEV,KAAK,OAAO;4BACR,IAAI,CAAC,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;gCACpC,WAAW,CAAC,OAAO,GAAG,OAAO,CAAC;gCAC9B,WAAW,CAAC,KAAK,GAAG,EAAE,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;gCACvD,OAAO,WAAW,CAAC,IAAI,CAAC;gCACxB,QAAQ,GAAG,IAAI,CAAC;4BACpB,CAAC;4BACD,MAAM;wBAEV,KAAK,OAAO;4BACR,IAAI,CAAC,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;gCACpC,WAAW,CAAC,OAAO,GAAG,OAAO,CAAC;gCAC9B,WAAW,CAAC,KAAK,GAAG;oCAChB,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,OAAO;oCAC9B,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE;oCAC/B,WAAW,EAAE,OAAO,CAAC,IAAI,CAAC,WAAW,IAAI,EAAE;iCAC9C,CAAC;gCACF,OAAO,WAAW,CAAC,IAAI,CAAC;gCACxB,QAAQ,GAAG,IAAI,CAAC;4BACpB,CAAC;4BACD,MAAM;oBACd,CAAC;gBACL,CAAC;YACL,CAAC;YAED,IAAI,CAAC,QAAQ,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACpC,WAAW,CAAC,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACpD,CAAC;QACL,CAAC;QAED,OAAO,WAAW,CAAC;IACvB,CAAC;IAEO,KAAK,CAAC,kBAAkB,CAAC,SAAwB,EAAE,OAA+B;QACtF,cAAc;QACd,IAAI,SAAS,CAAC,OAAO,KAAK,OAAO,EAAE,CAAC;YAChC,QAAQ,SAAS,CAAC,KAAK,EAAE,CAAC;gBACtB,KAAK,WAAW;oBACZ,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,oBAAoB,SAAS,CAAC,YAAY,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;oBAC5H,OAAO,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;gBACnD,KAAK,aAAa;oBACd,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,sBAAsB,SAAS,CAAC,YAAY,EAAE,CAAC,CAAC;oBACjE,OAAO,EAAE,CAAC;gBACd,KAAK,MAAM;oBACP,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,oBAAoB,SAAS,CAAC,YAAY,YAAY,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC;oBAC7F,OAAO,EAAE,CAAC;gBACd,KAAK,UAAU;oBACX,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,kBAAkB,SAAS,CAAC,YAAY,SAAS,SAAS,CAAC,UAAU,SAAS,SAAS,CAAC,UAAU,EAAE,CAAC,CAAC;oBACxH,OAAO,EAAE,CAAC;gBACd,KAAK,OAAO;oBACR,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,eAAe,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC;oBACvD,OAAO,EAAE,CAAC;gBACd,KAAK,MAAM;oBACP,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,cAAc,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC;oBACtD,OAAO,EAAE,CAAC;YAClB,CAAC;QACL,CAAC;QAED,OAAO,EAAE,CAAC;IACd,CAAC;IAEO,cAAc,CAAC,SAAwB,EAAE,OAAe;QAC5D,MAAM,QAAQ,GAAG;YACb,GAAG,EAAE;gBACD,UAAU,EAAE,SAAS,CAAC,YAAY;gBAClC,YAAY,EAAE,SAAS,CAAC,UAAU;gBAClC,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;gBACzC,OAAO,EAAE,MAAM;gBACf,OAAO,EAAE,OAAO;aACnB;SACJ,CAAC;QAEF,MAAM,OAAO,GAAG,IAAI,MAAM,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;QACxE,OAAO,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IACzC,CAAC;IAEO,KAAK,CAAC,kBAAkB;QAC5B,MAAM,GAAG,GAAG,8EAA8E,IAAI,CAAC,OAAO,CAAC,KAAK,WAAW,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;QAEhJ,IAAI,CAAC;YACD,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,CAAgB,GAAG,CAAC,CAAC;YACrD,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;YAE3B,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;gBACpB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC;gBACrC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC,UAAU;gBAC9E,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC;YAC5D,CAAC;iBAAM,CAAC;gBACJ,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;YAClD,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,iCAAiC,EAAE,KAAK,CAAC,CAAC;YAC5D,MAAM,KAAK,CAAC;QAChB,CAAC;IACL,CAAC;IAEO,iBAAiB,CAAkC;IAEnD,sBAAsB;QAC1B,qBAAqB;QACrB,IAAI,CAAC,iBAAiB,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE;YAC5C,IAAI,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;gBACrC,IAAI,CAAC;oBACD,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAC;gBACpC,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACb,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,0CAA0C,EAAE,KAAK,CAAC,CAAC;gBACzE,CAAC;YACL,CAAC;QACL,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,MAAM;IACvB,CAAC;IAED,SAAS;IACT,KAAK,CAAC,WAAW,CAAC,MAAc;QAC5B,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACpB,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAC;QACpC,CAAC;QAED,MAAM,GAAG,GAAG,4DAA4D,IAAI,CAAC,WAAW,WAAW,MAAM,aAAa,CAAC;QAEvH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACtC,OAAO,QAAQ,CAAC,IAAI,CAAC;IACzB,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,WAAW,CACb,IAA2C,EAC3C,MAAc,EACd,QAAiB;QAEjB,IAAI,CAAC;YACD,sBAAsB;YACtB,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;gBACpB,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAC;YACpC,CAAC;YACD,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC;YAC/B,MAAM,GAAG,GAAG,+DAA+D,KAAK,SAAS,IAAI,EAAE,CAAC;YAEhG,cAAc;YACd,MAAM,IAAI,GAAG,IAAI,QAAQ,EAAE,CAAC;YAE5B,cAAc;YACd,MAAM,GAAG,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAClD,MAAM,aAAa,GAAG,QAAQ,IAAI,SAAS,GAAG,EAAE,CAAC;YAEjD,iBAAiB;YACjB,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE;gBACzB,QAAQ,EAAE,aAAa;gBACvB,WAAW,EAAE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC;aACzC,CAAC,CAAC;YAEH,SAAS;YACT,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE;gBACzC,OAAO,EAAE;oBACL,GAAG,IAAI,CAAC,UAAU,EAAE;iBACvB;gBACD,aAAa,EAAE,QAAQ;gBACvB,gBAAgB,EAAE,QAAQ;aAC7B,CAAC,CAAC;YAEH,IAAI,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;gBACxB,MAAM,IAAI,KAAK,CACX,aAAa,QAAQ,CAAC,IAAI,CAAC,MAAM,UAAU,QAAQ,CAAC,IAAI,CAAC,OAAO,GAAG,CACtE,CAAC;YACN,CAAC;YAED,OAAO,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC;QAClC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;YACtC,MAAM,KAAK,CAAC;QAChB,CAAC;IACL,CAAC;IAED;;OAEG;IACK,gBAAgB,CAAC,IAAY,EAAE,QAAiB;QACpD,IAAI,QAAQ,EAAE,CAAC;YACX,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;YAC3C,IAAI,KAAK;gBAAE,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC;QAC/B,CAAC;QAED,QAAQ;QACR,MAAM,UAAU,GAA2B;YACvC,KAAK,EAAE,KAAK;YACZ,KAAK,EAAE,KAAK;YACZ,KAAK,EAAE,KAAK;YACZ,KAAK,EAAE,KAAK;SACf,CAAC;QAEF,OAAO,UAAU,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC;IACrC,CAAC;IAED;;OAEG;IACK,cAAc,CAAC,IAAY;QAC/B,MAAM,YAAY,GAA2B;YACzC,KAAK,EAAE,YAAY;YACnB,KAAK,EAAE,YAAY;YACnB,KAAK,EAAE,WAAW;YAClB,KAAK,EAAE,YAAY;SACtB,CAAC;QAEF,OAAO,YAAY,CAAC,IAAI,CAAC,IAAI,0BAA0B,CAAC;IAC5D,CAAC;IAED,kDAAkD;IAE1C,SAAS;QACb,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,cAAe,CAAC;QACzC,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,EAAE,QAAQ,CAAC,CAAC;IAC5C,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,cAAc,CACxB,YAAoB,EACpB,YAAoB,EACpB,SAAiB,EACjB,KAAa;QAEb,wBAAwB;QACxB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;QACxD,MAAM,OAAO,GAAI,MAAc,EAAE,OAAO,CAAC;QACzC,IAAI,CAAC,OAAO;YAAE,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;QAE5E,mBAAmB;QACnB,MAAM,QAAQ,GAAG,UAAU,CAAC,MAAM,CAAC;aAC9B,MAAM,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;aACvE,MAAM,CAAC,KAAK,CAAC,CAAC;QACnB,IAAI,QAAQ,KAAK,YAAY,EAAE,CAAC;YAC5B,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;QACzD,CAAC;QAED,iBAAiB;QACjB,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAChC,MAAM,EAAE,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAClC,MAAM,QAAQ,GAAG,gBAAgB,CAAC,aAAa,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;QAC7D,QAAQ,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QAE/B,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC;YAC5B,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;YAC/C,QAAQ,CAAC,KAAK,EAAE;SACnB,CAAC,CAAC;QAEH,eAAe;QACf,MAAM,GAAG,GAAG,SAAS,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC5C,MAAM,OAAO,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC,EAAE,SAAS,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC;QAE9D,qEAAqE;QACrE,MAAM,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;QACxC,MAAM,UAAU,GAAG,OAAO,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,GAAG,MAAM,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QACtE,MAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,CAAC,EAAE,GAAG,MAAM,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAE7D,IAAI,KAAK,KAAK,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YAC/B,MAAM,IAAI,KAAK,CAAC,4BAA4B,IAAI,CAAC,OAAO,CAAC,KAAK,SAAS,KAAK,EAAE,CAAC,CAAC;QACpF,CAAC;QAED,OAAO,UAAU,CAAC;IACtB,CAAC;IAED;;OAEG;IACK,cAAc,CAAC,QAAgB;QACnC,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAChC,MAAM,EAAE,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAElC,uDAAuD;QACvD,MAAM,MAAM,GAAG,WAAW,CAAC,EAAE,CAAC,CAAC;QAC/B,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAC7C,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QACzD,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC/B,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAEvC,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;QAEpE,YAAY;QACZ,MAAM,SAAS,GAAG,EAAE,CAAC;QACrB,MAAM,MAAM,GAAG,SAAS,GAAG,CAAC,SAAS,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;QAC1D,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC5C,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC;QAElD,iBAAiB;QACjB,MAAM,MAAM,GAAG,cAAc,CAAC,aAAa,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;QACzD,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QAC7B,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QACzE,MAAM,UAAU,GAAG,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAEhD,KAAK;QACL,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;QAC3D,MAAM,KAAK,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC7C,MAAM,SAAS,GAAG,UAAU,CAAC,MAAM,CAAC;aAC/B,MAAM,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;aAC1E,MAAM,CAAC,KAAK,CAAC,CAAC;QAEnB,OAAO;YACH,OAAO;YACP,qBAAqB,UAAU,eAAe;YAC9C,0BAA0B,SAAS,oBAAoB;YACvD,cAAc,SAAS,cAAc;YACrC,mBAAmB,KAAK,aAAa;YACrC,QAAQ;SACX,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACjB,CAAC;CACJ;AAED,eAAe"}
1
+ {"version":3,"file":"bot.js","sourceRoot":"","sources":["../src/bot.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zhin.js/adapter-wechat-mp",
3
- "version": "0.1.69",
3
+ "version": "0.1.71",
4
4
  "type": "module",
5
5
  "description": "Zhin.js adapter for WeChat Official Account (微信公众号)",
6
6
  "main": "./lib/index.js",
@@ -11,15 +11,15 @@
11
11
  "form-data": "^4.0.0"
12
12
  },
13
13
  "peerDependencies": {
14
- "@zhin.js/http": "1.0.74",
15
- "zhin.js": "1.0.81"
14
+ "zhin.js": "1.0.83",
15
+ "@zhin.js/http": "1.0.76"
16
16
  },
17
17
  "devDependencies": {
18
18
  "@types/xml2js": "^0.4.14",
19
19
  "@types/koa": "^2.15.0",
20
20
  "@types/node": "^25.8.0",
21
21
  "typescript": "^6.0.3",
22
- "zhin.js": "1.0.81"
22
+ "zhin.js": "1.0.83"
23
23
  },
24
24
  "keywords": [
25
25
  "zhin",
package/src/bot.ts CHANGED
@@ -6,9 +6,8 @@ import * as xml2js from "xml2js";
6
6
  import { createHash, createDecipheriv, createCipheriv, randomBytes } from "crypto";
7
7
  import { EventEmitter } from "events";
8
8
  import FormData from "form-data";
9
- import { Bot, Message, SendOptions, SendContent, MessageSegment, segment } from "zhin.js";
10
- import type { Context } from "koa";
11
- import type { Router } from "@zhin.js/http";
9
+ import { formatCompact, Bot, Message, MessageSegment, segment, SendContent, SendOptions } from 'zhin.js';
10
+ import { registerFetchRoute, type Router, type RouterContext } from "@zhin.js/http/router";
12
11
  import type { WeChatMPConfig, WeChatMessage, WeChatAPIResponse, TokenResponse } from "./types.js";
13
12
  import type { WeChatMPAdapter } from "./adapter.js";
14
13
 
@@ -41,13 +40,13 @@ export class WeChatMPBot extends EventEmitter implements Bot<WeChatMPConfig, WeC
41
40
  const path = this.$config.path;
42
41
 
43
42
  // 微信服务器验证 (GET)
44
- this.router.get(path, (ctx: Context) => {
43
+ registerFetchRoute(this.router, "GET", path, (ctx: RouterContext) => {
45
44
  this.handleVerification(ctx);
46
45
  });
47
46
 
48
47
  // 接收微信消息 (POST)
49
- this.router.post(path, (ctx: Context) => {
50
- this.handleMessage(ctx);
48
+ registerFetchRoute(this.router, "POST", path, (ctx: RouterContext) => {
49
+ void this.handleMessage(ctx);
51
50
  });
52
51
  }
53
52
 
@@ -62,8 +61,8 @@ export class WeChatMPBot extends EventEmitter implements Bot<WeChatMPConfig, WeC
62
61
  // 定期刷新access_token
63
62
  this.startTokenRefreshTimer();
64
63
 
65
- this.logger.info(`WeChat MP bot connected: ${this.$config.name}`);
66
- this.logger.info(`Webhook URL: ${this.$config.path}`);
64
+ this.logger.info(formatCompact({ bot: this.$config.name }));
65
+ this.logger.info(formatCompact( { op: "webhook", path: this.$config.path }));
67
66
  this.$connected= true;
68
67
  } catch (error) {
69
68
  this.logger.error('Failed to connect WeChat MP bot:', error);
@@ -77,10 +76,10 @@ export class WeChatMPBot extends EventEmitter implements Bot<WeChatMPConfig, WeC
77
76
  this.tokenRefreshTimer = undefined;
78
77
  }
79
78
  this.$connected = false;
80
- this.logger.info('WeChat MP bot disconnected');
79
+ this.logger.info(formatCompact( { op: "disconnect", bot: this.$config.name }));
81
80
  }
82
81
 
83
- private handleVerification(ctx: Context): void {
82
+ private handleVerification(ctx: RouterContext): void {
84
83
  const { signature, timestamp, nonce, echostr } = ctx.query;
85
84
 
86
85
  if (this.verifySignature(
@@ -88,7 +87,7 @@ export class WeChatMPBot extends EventEmitter implements Bot<WeChatMPConfig, WeC
88
87
  timestamp as string,
89
88
  nonce as string
90
89
  )) {
91
- this.logger.info('WeChat verification successful');
90
+ this.logger.info(formatCompact( { op: "verify" }));
92
91
  ctx.body = echostr;
93
92
  } else {
94
93
  this.logger.error('WeChat verification failed');
@@ -97,7 +96,7 @@ export class WeChatMPBot extends EventEmitter implements Bot<WeChatMPConfig, WeC
97
96
  }
98
97
  }
99
98
 
100
- private async handleMessage(ctx: Context): Promise<void> {
99
+ private async handleMessage(ctx: RouterContext): Promise<void> {
101
100
  try {
102
101
  const { signature, timestamp, nonce, msg_signature, encrypt_type } = ctx.query;
103
102
 
@@ -114,8 +113,7 @@ export class WeChatMPBot extends EventEmitter implements Bot<WeChatMPConfig, WeC
114
113
  }
115
114
 
116
115
  // 获取原始XML数据
117
- let xmlBody = (ctx as any).request.rawBody || (ctx as any).body;
118
- let xmlString = xmlBody?.toString() || '';
116
+ let xmlString = typeof ctx.request.body === 'string' ? ctx.request.body : '';
119
117
 
120
118
  // AES 加密模式:先解密
121
119
  if (this.$config.encrypt && encrypt_type === 'aes' && this.$config.encodingAESKey) {
@@ -380,13 +378,13 @@ export class WeChatMPBot extends EventEmitter implements Bot<WeChatMPConfig, WeC
380
378
  if (wechatMsg.MsgType === 'event') {
381
379
  switch (wechatMsg.Event) {
382
380
  case 'subscribe':
383
- this.logger.info(`User subscribed: ${wechatMsg.FromUserName}${wechatMsg.EventKey ? `, scene: ${wechatMsg.EventKey}` : ''}`);
381
+ this.logger.info(formatCompact( { op: "subscribe", user: wechatMsg.FromUserName, scene: wechatMsg.EventKey }));
384
382
  return this.buildTextReply(wechatMsg, '感谢关注!');
385
383
  case 'unsubscribe':
386
- this.logger.info(`User unsubscribed: ${wechatMsg.FromUserName}`);
384
+ this.logger.info(formatCompact( { op: "unsubscribe", user: wechatMsg.FromUserName }));
387
385
  return '';
388
386
  case 'SCAN':
389
- this.logger.info(`User scanned QR: ${wechatMsg.FromUserName}, scene: ${wechatMsg.EventKey}`);
387
+ this.logger.info(formatCompact( { op: "scan", user: wechatMsg.FromUserName, scene: wechatMsg.EventKey }));
390
388
  return '';
391
389
  case 'LOCATION':
392
390
  this.logger.debug(`User location: ${wechatMsg.FromUserName}, lat=${wechatMsg.Location_X}, lng=${wechatMsg.Location_Y}`);
@@ -428,7 +426,7 @@ export class WeChatMPBot extends EventEmitter implements Bot<WeChatMPConfig, WeC
428
426
  if (data.access_token) {
429
427
  this.accessToken = data.access_token;
430
428
  this.tokenExpireTime = Date.now() + (data.expires_in - 300) * 1000; // 提前5分钟刷新
431
- this.logger.info('Access token refreshed successfully');
429
+ this.logger.debug(formatCompact( { op: "token_refresh" }));
432
430
  } else {
433
431
  throw new Error('Failed to get access token');
434
432
  }