@quukk/opencode-clawmessenger 0.2.0 → 1.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (106) hide show
  1. package/README.md +71 -623
  2. package/bin/opencode-clawmessenger +2 -2
  3. package/bin/opencode-clawmessenger-setup +5 -5
  4. package/dist/cli.d.ts +0 -1
  5. package/dist/cli.js +1 -288
  6. package/dist/core/auto-register.d.ts +0 -1
  7. package/dist/core/auto-register.js +1 -174
  8. package/dist/core/auto-serve.d.ts +13 -0
  9. package/dist/core/auto-serve.js +1 -0
  10. package/dist/core/config.d.ts +2 -3
  11. package/dist/core/config.js +1 -80
  12. package/dist/core/daemon.d.ts +0 -1
  13. package/dist/core/daemon.js +1 -77
  14. package/dist/core/dedup.d.ts +0 -1
  15. package/dist/core/dedup.js +1 -25
  16. package/dist/core/hook-manager.d.ts +0 -1
  17. package/dist/core/hook-manager.js +1 -33
  18. package/dist/core/logger.d.ts +0 -1
  19. package/dist/core/logger.js +1 -49
  20. package/dist/core/mac-address.d.ts +0 -1
  21. package/dist/core/mac-address.js +1 -43
  22. package/dist/core/message-handler.d.ts +1 -1
  23. package/dist/core/message-handler.js +1 -984
  24. package/dist/core/ops-assistant.d.ts +0 -1
  25. package/dist/core/ops-assistant.js +1 -270
  26. package/dist/core/qr-crypto.d.ts +0 -1
  27. package/dist/core/qr-crypto.js +1 -66
  28. package/dist/core/session-manager.d.ts +0 -1
  29. package/dist/core/session-manager.js +1 -144
  30. package/dist/core/types.d.ts +1 -2
  31. package/dist/core/types.js +1 -26
  32. package/dist/index.d.ts +0 -1
  33. package/dist/index.js +1 -16
  34. package/dist/openclaw/client.d.ts +0 -1
  35. package/dist/openclaw/client.js +1 -494
  36. package/dist/opencode/client.d.ts +0 -1
  37. package/dist/opencode/client.js +1 -279
  38. package/dist/opencode/event-handler.d.ts +0 -1
  39. package/dist/opencode/event-handler.js +1 -467
  40. package/dist/plugin.d.ts +0 -1
  41. package/dist/plugin.js +1 -148
  42. package/dist/rongcloud/client.d.ts +0 -1
  43. package/dist/rongcloud/client.js +1 -292
  44. package/dist/rongcloud/env-polyfill.d.ts +0 -1
  45. package/dist/rongcloud/env-polyfill.js +1 -107
  46. package/dist/rongcloud/server-api.d.ts +0 -1
  47. package/dist/rongcloud/server-api.js +1 -157
  48. package/dist/standalone.d.ts +0 -1
  49. package/dist/standalone.js +1 -229
  50. package/dist/types/plugin.d.ts +0 -1
  51. package/dist/types/plugin.js +1 -2
  52. package/dist/websocket/client.d.ts +0 -1
  53. package/dist/websocket/client.js +1 -88
  54. package/dist/websocket/server-client.d.ts +0 -1
  55. package/dist/websocket/server-client.js +1 -98
  56. package/package.json +83 -81
  57. package/dist/cli.d.ts.map +0 -1
  58. package/dist/cli.js.map +0 -1
  59. package/dist/core/auto-register.d.ts.map +0 -1
  60. package/dist/core/auto-register.js.map +0 -1
  61. package/dist/core/config.d.ts.map +0 -1
  62. package/dist/core/config.js.map +0 -1
  63. package/dist/core/daemon.d.ts.map +0 -1
  64. package/dist/core/daemon.js.map +0 -1
  65. package/dist/core/dedup.d.ts.map +0 -1
  66. package/dist/core/dedup.js.map +0 -1
  67. package/dist/core/hook-manager.d.ts.map +0 -1
  68. package/dist/core/hook-manager.js.map +0 -1
  69. package/dist/core/logger.d.ts.map +0 -1
  70. package/dist/core/logger.js.map +0 -1
  71. package/dist/core/mac-address.d.ts.map +0 -1
  72. package/dist/core/mac-address.js.map +0 -1
  73. package/dist/core/message-handler.d.ts.map +0 -1
  74. package/dist/core/message-handler.js.map +0 -1
  75. package/dist/core/ops-assistant.d.ts.map +0 -1
  76. package/dist/core/ops-assistant.js.map +0 -1
  77. package/dist/core/qr-crypto.d.ts.map +0 -1
  78. package/dist/core/qr-crypto.js.map +0 -1
  79. package/dist/core/session-manager.d.ts.map +0 -1
  80. package/dist/core/session-manager.js.map +0 -1
  81. package/dist/core/types.d.ts.map +0 -1
  82. package/dist/core/types.js.map +0 -1
  83. package/dist/index.d.ts.map +0 -1
  84. package/dist/index.js.map +0 -1
  85. package/dist/openclaw/client.d.ts.map +0 -1
  86. package/dist/openclaw/client.js.map +0 -1
  87. package/dist/opencode/client.d.ts.map +0 -1
  88. package/dist/opencode/client.js.map +0 -1
  89. package/dist/opencode/event-handler.d.ts.map +0 -1
  90. package/dist/opencode/event-handler.js.map +0 -1
  91. package/dist/plugin.d.ts.map +0 -1
  92. package/dist/plugin.js.map +0 -1
  93. package/dist/rongcloud/client.d.ts.map +0 -1
  94. package/dist/rongcloud/client.js.map +0 -1
  95. package/dist/rongcloud/env-polyfill.d.ts.map +0 -1
  96. package/dist/rongcloud/env-polyfill.js.map +0 -1
  97. package/dist/rongcloud/server-api.d.ts.map +0 -1
  98. package/dist/rongcloud/server-api.js.map +0 -1
  99. package/dist/standalone.d.ts.map +0 -1
  100. package/dist/standalone.js.map +0 -1
  101. package/dist/types/plugin.d.ts.map +0 -1
  102. package/dist/types/plugin.js.map +0 -1
  103. package/dist/websocket/client.d.ts.map +0 -1
  104. package/dist/websocket/client.js.map +0 -1
  105. package/dist/websocket/server-client.d.ts.map +0 -1
  106. package/dist/websocket/server-client.js.map +0 -1
package/dist/plugin.js CHANGED
@@ -1,148 +1 @@
1
- import { ConfigManager } from './core/config.js';
2
- import { SessionManager } from './core/session-manager.js';
3
- import { MessageHandler } from './core/message-handler.js';
4
- import { RongCloudClient } from './rongcloud/client.js';
5
- import { OpenCodeClient } from './opencode/client.js';
6
- import { EventHandler } from './opencode/event-handler.js';
7
- import { createLogger } from './core/logger.js';
8
- import { getOrRegisterToken, loadAutoConfig, generateNodeId, getAppKey, getAppSecret } from './core/auto-register.js';
9
- const log = createLogger('plugin');
10
- const ClawMessengerPlugin = {
11
- id: 'clawmessenger',
12
- server: async (input) => {
13
- const { client, project, directory, serverUrl } = input;
14
- log.info('Initializing ClawMessenger plugin...');
15
- // 加载配置(融云 token、appKey 等)
16
- const configManager = new ConfigManager();
17
- const config = configManager.load();
18
- // Step 1: 自动注册节点(如果缺少 token)
19
- if (!config.token) {
20
- log.info('Token missing, auto-registering node...');
21
- const token = await getOrRegisterToken(config.serverUrl, undefined, log);
22
- if (!token) {
23
- const errorMsg = [
24
- 'ClawMessenger 自动注册失败。',
25
- '',
26
- '可能的原因:',
27
- ' 1. 无法连接到 ClawMessenger 注册服务器',
28
- ' 2. 网络受限或代理配置问题',
29
- '',
30
- '解决方案:',
31
- ' 1. 检查网络连接',
32
- ` 2. 确认服务器地址可访问: ${config.serverUrl}`,
33
- ' 3. 或使用独立模式手动注册: npx opencode-clawmessenger setup',
34
- '',
35
- '你也可以通过环境变量配置已有 token:',
36
- ' export CLAW_TOKEN=your_token',
37
- ' export CLAW_ACCOUNT_ID=your_account_id',
38
- ].join('\n');
39
- throw new Error(errorMsg);
40
- }
41
- config.token = token;
42
- config.accountId = (await loadAutoConfig())?.nodeId || generateNodeId();
43
- log.info({ accountId: config.accountId }, 'Auto-registration successful');
44
- }
45
- // Step 2: 从服务端获取融云 AppKey
46
- log.info('Fetching RongCloud AppKey...');
47
- const fetchedAppKey = await getAppKey(config.serverUrl);
48
- if (fetchedAppKey) {
49
- config.appKey = fetchedAppKey;
50
- log.info({ appKey: fetchedAppKey }, 'AppKey fetched');
51
- }
52
- else {
53
- log.warn('Failed to fetch AppKey from server, using fallback');
54
- }
55
- // Step 3: 从服务端获取融云 AppSecret(用于流式消息)
56
- log.info('Fetching RongCloud AppSecret...');
57
- const fetchedAppSecret = await getAppSecret(config.serverUrl, config.token, config.accountId);
58
- if (fetchedAppSecret) {
59
- config.appSecret = fetchedAppSecret;
60
- log.info('AppSecret fetched, streaming messages enabled');
61
- }
62
- else {
63
- log.warn('Failed to fetch AppSecret, streaming messages will be disabled');
64
- }
65
- // 插件模式下,使用 OpenCode 提供的服务器地址(而非配置文件中的)
66
- const opencodeUrl = serverUrl ? serverUrl.toString() : config.opencodeUrl;
67
- // 插件模式下,使用 OpenCode 当前项目目录
68
- const workingDir = directory || project?.root || process.cwd();
69
- log.info({
70
- accountId: config.accountId,
71
- opencodeUrl,
72
- workingDir,
73
- hasPassword: !!config.opencodePassword,
74
- }, 'Configuration loaded');
75
- // 创建 OpenCode 客户端(用于 session 操作)
76
- const opencode = new OpenCodeClient({
77
- baseUrl: opencodeUrl,
78
- directory: workingDir,
79
- password: config.opencodePassword,
80
- });
81
- // 测试连接
82
- try {
83
- await opencode.listSessions();
84
- log.info('OpenCode connection verified');
85
- }
86
- catch (err) {
87
- log.error({ err: err.message }, 'Failed to connect to OpenCode');
88
- throw new Error(`OpenCode 连接失败: ${err.message}`);
89
- }
90
- const sessionManager = new SessionManager(opencode);
91
- const rongClient = new RongCloudClient({
92
- appKey: config.appKey,
93
- token: config.token,
94
- accountId: config.accountId,
95
- }, log);
96
- const messageHandler = new MessageHandler(config, sessionManager, rongClient, opencode);
97
- // 启动 SSE 事件监听(使用 OpenCode 提供的 client)
98
- let eventHandler;
99
- try {
100
- const events = client.event?.subscribe
101
- ? await client.event.subscribe({})
102
- : await client.global.event({});
103
- eventHandler = new EventHandler(sessionManager, rongClient, opencode, config);
104
- eventHandler.start(events).catch((err) => {
105
- log.error({ err }, 'Event stream error');
106
- });
107
- log.info('SSE event stream started');
108
- }
109
- catch (err) {
110
- log.warn({ err }, 'Failed to start event stream');
111
- }
112
- // 连接融云
113
- const connected = await rongClient.connect((msg) => {
114
- messageHandler.handleMessage(msg).catch((err) => {
115
- log.error({ err }, 'Message handling failed');
116
- });
117
- });
118
- if (!connected)
119
- throw new Error('融云连接失败');
120
- log.info('RongCloud connected');
121
- log.info('ClawMessenger plugin started successfully');
122
- return {
123
- cleanup: async () => {
124
- log.info('Cleaning up ClawMessenger plugin...');
125
- if (eventHandler)
126
- eventHandler.stop();
127
- rongClient.disconnect();
128
- await sessionManager.cleanup();
129
- log.info('ClawMessenger plugin cleaned up');
130
- },
131
- /**
132
- * 发送消息给指定用户或群组
133
- * @param targetId 目标用户ID或群组ID
134
- * @param content 消息内容(纯文本或JSON字符串)
135
- * @param options 可选参数:conversationType(1=私聊,3=群聊,默认1)、extra(额外JSON字段)
136
- * @returns { success: boolean, messageUId?: string, error?: string }
137
- *
138
- * 使用示例:
139
- * - 私聊:await plugin.sendToUser('user123', '你好')
140
- * - 群聊:await plugin.sendToUser('group456', '大家好', { conversationType: 3 })
141
- * - 带额外数据:await plugin.sendToUser('admin', '需要添加知识库', { extra: { category: 'knowledge' } })
142
- */
143
- sendToUser: (targetId, content, options) => messageHandler.sendToUser(targetId, content, options),
144
- };
145
- },
146
- };
147
- export default ClawMessengerPlugin;
148
- //# sourceMappingURL=plugin.js.map
1
+ const a0_0x13e6f1=a0_0x527e;(function(_0x6b9d57,_0x272e1d){const _0x6f6108=a0_0x527e,_0x5e1e1b=_0x6b9d57();while(!![]){try{const _0x3713a5=-parseInt(_0x6f6108(0xf9))/0x1+-parseInt(_0x6f6108(0x104))/0x2+parseInt(_0x6f6108(0xe3))/0x3*(parseInt(_0x6f6108(0xeb))/0x4)+parseInt(_0x6f6108(0xec))/0x5+-parseInt(_0x6f6108(0xf3))/0x6*(-parseInt(_0x6f6108(0x105))/0x7)+parseInt(_0x6f6108(0xd3))/0x8+-parseInt(_0x6f6108(0xf1))/0x9;if(_0x3713a5===_0x272e1d)break;else _0x5e1e1b['push'](_0x5e1e1b['shift']());}catch(_0x5df935){_0x5e1e1b['push'](_0x5e1e1b['shift']());}}}(a0_0x5a62,0x366b2));function a0_0x527e(_0x2fe0a0,_0xdc4a04){_0x2fe0a0=_0x2fe0a0-0xc0;const _0x5a625e=a0_0x5a62();let _0x527e89=_0x5a625e[_0x2fe0a0];if(a0_0x527e['KQfgZl']===undefined){var _0xb408c2=function(_0xbfe4e7){const _0x2e87e7='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x16d6a0='',_0x35deb1='';for(let _0x181d57=0x0,_0x3a7be4,_0x31c220,_0x547259=0x0;_0x31c220=_0xbfe4e7['charAt'](_0x547259++);~_0x31c220&&(_0x3a7be4=_0x181d57%0x4?_0x3a7be4*0x40+_0x31c220:_0x31c220,_0x181d57++%0x4)?_0x16d6a0+=String['fromCharCode'](0xff&_0x3a7be4>>(-0x2*_0x181d57&0x6)):0x0){_0x31c220=_0x2e87e7['indexOf'](_0x31c220);}for(let _0x574be3=0x0,_0x13368=_0x16d6a0['length'];_0x574be3<_0x13368;_0x574be3++){_0x35deb1+='%'+('00'+_0x16d6a0['charCodeAt'](_0x574be3)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x35deb1);};a0_0x527e['RHZvzh']=_0xb408c2,a0_0x527e['nEdfic']={},a0_0x527e['KQfgZl']=!![];}const _0x375cfc=_0x5a625e[0x0],_0x26c8ea=_0x2fe0a0+_0x375cfc,_0x439be2=a0_0x527e['nEdfic'][_0x26c8ea];return!_0x439be2?(_0x527e89=a0_0x527e['RHZvzh'](_0x527e89),a0_0x527e['nEdfic'][_0x26c8ea]=_0x527e89):_0x527e89=_0x439be2,_0x527e89;}import{ConfigManager}from'./core/config.js';import{SessionManager}from'./core/session-manager.js';import{MessageHandler}from'./core/message-handler.js';import{RongCloudClient}from'./rongcloud/client.js';import{OpenCodeClient}from'./opencode/client.js';import{EventHandler}from'./opencode/event-handler.js';import{createLogger}from'./core/logger.js';import{getOrRegisterToken,loadAutoConfig,generateNodeId,getAppKey,getAppSecret}from'./core/auto-register.js';const log=createLogger(a0_0x13e6f1(0x108)),ClawMessengerPlugin={'id':a0_0x13e6f1(0xdd),'server':async _0x503940=>{const _0x212ae7=a0_0x13e6f1,_0xb3de18={'RdQvK':_0x212ae7(0xfa),'dDhom':_0x212ae7(0xce),'aImzF':'Cleaning\x20up\x20ClawMessenger\x20plugin...','jLNjA':_0x212ae7(0xe8),'RYxhm':function(_0x55c059,_0x5d7c88,_0x31a36d,_0x2b5239){return _0x55c059(_0x5d7c88,_0x31a36d,_0x2b5239);},'YwXbe':_0x212ae7(0xf2),'yrDvS':_0x212ae7(0xcb),'UoRlo':_0x212ae7(0xdb),'WYgXX':_0x212ae7(0x103),'LTmqa':'\x20\x20export\x20CLAW_TOKEN=your_token','PRCdl':function(_0x567af5){return _0x567af5();},'RWROg':function(_0x1cd88d){return _0x1cd88d();},'pXnAx':'Auto-registration\x20successful','kQxAc':function(_0x49d9e8,_0x57ec76){return _0x49d9e8(_0x57ec76);},'cUkTB':'AppKey\x20fetched','mQKUb':function(_0x57176f,_0x48fc65){return _0x57176f===_0x48fc65;},'PouQo':_0x212ae7(0xfd),'WBCBL':_0x212ae7(0xc3),'aORrO':function(_0x4fd953,_0x2b5356,_0x139686,_0x4200a7){return _0x4fd953(_0x2b5356,_0x139686,_0x4200a7);},'GoDQb':_0x212ae7(0xea),'iZzoh':_0x212ae7(0xd9),'bzPHB':'Configuration\x20loaded','JBOzD':_0x212ae7(0xe4),'XpcDD':'FEPme','RICJX':_0x212ae7(0xc9),'RqPVy':'融云连接失败','TMROK':_0x212ae7(0x113)},{client:_0x19a58f,project:_0x6ad41c,directory:_0x5e608a,serverUrl:_0x375916}=_0x503940;log[_0x212ae7(0xe5)](_0xb3de18[_0x212ae7(0xd7)]);const _0x3b133e=new ConfigManager(),_0x1ccb4a=_0x3b133e[_0x212ae7(0xff)]();if(!_0x1ccb4a[_0x212ae7(0xde)]){log[_0x212ae7(0xe5)](_0x212ae7(0xcc));const _0x42fdb9=await _0xb3de18['RYxhm'](getOrRegisterToken,_0x1ccb4a[_0x212ae7(0xc0)],undefined,log);if(!_0x42fdb9){const _0x9b1b96=[_0x212ae7(0xe0),'','可能的原因:',_0xb3de18[_0x212ae7(0x100)],_0x212ae7(0xd5),'','解决方案:',_0xb3de18[_0x212ae7(0xdf)],'\x20\x202.\x20确认服务器地址可访问:\x20'+_0x1ccb4a[_0x212ae7(0xc0)],_0xb3de18[_0x212ae7(0xcd)],'',_0xb3de18[_0x212ae7(0xe9)],_0xb3de18['LTmqa'],_0x212ae7(0x110)][_0x212ae7(0xfe)]('\x0a');throw new Error(_0x9b1b96);}_0x1ccb4a[_0x212ae7(0xde)]=_0x42fdb9,_0x1ccb4a[_0x212ae7(0xc7)]=(await _0xb3de18['PRCdl'](loadAutoConfig))?.[_0x212ae7(0x10b)]||_0xb3de18['RWROg'](generateNodeId),log[_0x212ae7(0xe5)]({'accountId':_0x1ccb4a[_0x212ae7(0xc7)]},_0xb3de18[_0x212ae7(0xf5)]);}log[_0x212ae7(0xe5)]('Fetching\x20RongCloud\x20AppKey...');const _0x574996=await _0xb3de18[_0x212ae7(0xf8)](getAppKey,_0x1ccb4a['serverUrl']);if(_0x574996)_0x1ccb4a[_0x212ae7(0xda)]=_0x574996,log[_0x212ae7(0xe5)]({'appKey':_0x574996},_0xb3de18[_0x212ae7(0xf0)]);else{if(_0xb3de18[_0x212ae7(0xd0)](_0xb3de18[_0x212ae7(0xc5)],_0x212ae7(0xfd)))log['warn'](_0x212ae7(0xe2));else{_0x4b3e38['error']({'err':_0x4b2eac[_0x212ae7(0xc8)]},_0xb3de18[_0x212ae7(0xd2)]);throw new _0x5aaa36('OpenCode\x20连接失败:\x20'+_0x390068['message']);}}log[_0x212ae7(0xe5)](_0xb3de18[_0x212ae7(0xe6)]);const _0x2781d5=await _0xb3de18['aORrO'](getAppSecret,_0x1ccb4a[_0x212ae7(0xc0)],_0x1ccb4a['token'],_0x1ccb4a[_0x212ae7(0xc7)]);_0x2781d5?(_0x1ccb4a[_0x212ae7(0x10e)]=_0x2781d5,log[_0x212ae7(0xe5)](_0xb3de18[_0x212ae7(0xfb)])):log[_0x212ae7(0x106)](_0xb3de18[_0x212ae7(0x10c)]);const _0xa3d5dd=_0x375916?_0x375916[_0x212ae7(0x102)]():_0x1ccb4a[_0x212ae7(0xc1)],_0x5e1611=_0x5e608a||_0x6ad41c?.[_0x212ae7(0x112)]||process['cwd']();log[_0x212ae7(0xe5)]({'accountId':_0x1ccb4a[_0x212ae7(0xc7)],'opencodeUrl':_0xa3d5dd,'workingDir':_0x5e1611,'hasPassword':!!_0x1ccb4a[_0x212ae7(0xef)]},_0xb3de18['bzPHB']);if(!_0xa3d5dd)throw new Error(_0xb3de18[_0x212ae7(0xd6)]);const _0x17db4f=new OpenCodeClient({'baseUrl':_0xa3d5dd,'directory':_0x5e1611,'password':_0x1ccb4a[_0x212ae7(0xef)]});try{_0xb3de18[_0x212ae7(0xc4)]===_0xb3de18[_0x212ae7(0xc4)]?(await _0x17db4f[_0x212ae7(0xf7)](),log[_0x212ae7(0xe5)](_0x212ae7(0xd8))):_0x4ae04c[_0x212ae7(0x101)]({'err':_0x55b3dd},'Message\x20handling\x20failed');}catch(_0x495cab){log[_0x212ae7(0x101)]({'err':_0x495cab['message']},_0xb3de18['RdQvK']);throw new Error('OpenCode\x20连接失败:\x20'+_0x495cab[_0x212ae7(0xc8)]);}const _0x4fd629=new SessionManager(_0x17db4f),_0x121cf4=new RongCloudClient({'appKey':_0x1ccb4a[_0x212ae7(0xda)],'token':_0x1ccb4a[_0x212ae7(0xde)],'accountId':_0x1ccb4a[_0x212ae7(0xc7)]},log),_0x51633c=new MessageHandler(_0x1ccb4a,_0x4fd629,_0x121cf4,_0x17db4f);let _0x506006;try{const _0x201d47=_0x19a58f[_0x212ae7(0x10d)]?.['subscribe']?await _0x19a58f[_0x212ae7(0x10d)][_0x212ae7(0x10f)]({}):await _0x19a58f[_0x212ae7(0xe7)][_0x212ae7(0x10d)]({});_0x506006=new EventHandler(_0x4fd629,_0x121cf4,_0x17db4f,_0x1ccb4a),_0x506006['start'](_0x201d47)[_0x212ae7(0xee)](_0x558c99=>{const _0x27c904=_0x212ae7;log[_0x27c904(0x101)]({'err':_0x558c99},_0x27c904(0xc2));}),log[_0x212ae7(0xe5)](_0xb3de18[_0x212ae7(0x111)]);}catch(_0x4fced6){log[_0x212ae7(0x106)]({'err':_0x4fced6},_0x212ae7(0xe1));}const _0x46d94c=await _0x121cf4['connect'](_0x327826=>{const _0x5907b3=_0x212ae7,_0x33a7f7={'ApkjK':_0x5907b3(0x109)};_0x51633c[_0x5907b3(0xf4)](_0x327826)['catch'](_0x1db2eb=>{const _0x26c831=_0x5907b3;log[_0x26c831(0x101)]({'err':_0x1db2eb},_0x33a7f7[_0x26c831(0xd1)]);});});if(!_0x46d94c)throw new Error(_0xb3de18[_0x212ae7(0x10a)]);return log[_0x212ae7(0xe5)](_0xb3de18[_0x212ae7(0xdc)]),log[_0x212ae7(0xe5)](_0x212ae7(0xf6)),{'cleanup':async()=>{const _0x4e51a2=_0x212ae7,_0x5959a3=_0xb3de18[_0x4e51a2(0xcf)]['split']('|');let _0x17d897=0x0;while(!![]){switch(_0x5959a3[_0x17d897++]){case'0':log['info'](_0x4e51a2(0xd4));continue;case'1':_0x121cf4[_0x4e51a2(0xed)]();continue;case'2':log['info'](_0xb3de18[_0x4e51a2(0x107)]);continue;case'3':await _0x4fd629[_0x4e51a2(0xc6)]();continue;case'4':if(_0x506006)_0x506006[_0x4e51a2(0xfc)]();continue;}break;}},'sendToUser':(_0x9c8d93,_0x311953,_0x57e9d3)=>_0x51633c[_0x212ae7(0xca)](_0x9c8d93,_0x311953,_0x57e9d3)};}};export default ClawMessengerPlugin;function a0_0x5a62(){const _0x509779=['5l2G5lMF5y+V5lUL6ycA6l+h546V5Akd5y+y6yEp6ywn572U5BEY5PYjihrVA2vU77YA','ode4mJq4CeTxrhj1','nZiXwwX6DfLb','D2fYBG','yuLTEKy','CgX1z2LU','twvZC2fNzsbOyw5KBgLUzYbMywLSzwq','uNfqvNK','BM9KzuLK','AvP6B2G','zxzLBNq','yxbWu2vJCMv0','C3vIC2nYAwjL','icbLEhbVCNqGq0Xbv19bq0npvu5ux0LepxLVDxjFywnJB3vUDf9Pza','uKLdsLG','CM9VDa','uM9Uz0nSB3vKignVBM5Ly3rLza','C2vYDMvYvxjS','B3bLBMnVzgvvCMW','rxzLBNqGC3rYzwfTigvYCM9Y','rMv0y2HPBMCGuM9Uz0nSB3vKiefWCfnLy3jLDc4UlG','whbJreq','ug91uw8','y2XLyw51Ca','ywnJB3vUDeLK','BwvZC2fNzq','u1nfigv2zw50ihn0CMvHBsbZDgfYDgvK','C2vUzfrVvxnLCG','icaXlIdMO4dMN6xNVzhNU5ZOV57MJQu','vg9Rzw4GBwLZC2LUzYWGyxv0BY1YzwDPC3rLCMLUzYbUB2rLlI4U','vw9sBg8','mNW0Fdf8m3WW','zerOB20','Bvflvwi','qxbRAKS','uMrrDKS','mtmWndmZnKXVru9Ptq','q2XHD01LC3nLBMDLCIbWBhvNAw4Gy2XLyw5Lzcb1Ca','icaYlIdNVzhNU5ZLJ5FPMzdMIjBKU6pNKiBPHy3NVA7PL67POPG','sKjpEKq','AKXoAKe','t3bLBKnVzguGy29UBMvJDgLVBIb2zxjPzMLLza','rMfPBgvKihrVigzLDgnOiefWCfnLy3jLDcWGC3rYzwfTAw5Nig1LC3nHz2vZihDPBgWGyMuGzgLZywjSzwq','yxbWs2v5','icaZlIdMIjBKVB/NLkJNI6ZNQ4VMQkhLVi/MIyVLIQJMS6JLHOW6ig5WEcbVCgvUy29Kzs1JBgf3BwvZC2vUz2vYihnLDhvW','ve1st0S','y2XHD21LC3nLBMDLCG','Dg9Rzw4','ExjeDLm','q2XHD01LC3nLBMDLCIdOH6RLIQJMS6JLHOZLPlhOTkxJGii','rMfPBgvKihrVihn0yxj0igv2zw50ihn0CMvHBq','rMfPBgvKihrVigzLDgnOiefWCeTLEsbMCM9TihnLCNzLCIWGDxnPBMCGzMfSBgjHy2S','mtaWmdq3m0vYuNjPAa','t3bLBKnVzguGvvjmioACQUMfJEE9RU+8MUIVT+wCQoApKUs7TUMfJEE9RUs4REIUVUE9RIbVCgvUy29KzvvYBo+8JoAiLUEHRUs/NsbpCgvUq29KzsdOV5dOOyZML7BMJ5dKVPVKUOyGC2vYDMvYvxjS','Aw5MBW','v0jdqKW','z2XVyMfS','sw5PDgLHBgL6Aw5NienSyxDnzxnZzw5NzxiGCgX1z2LUlI4U','v1LNwfG','qxbWu2vJCMv0igzLDgnOzwqSihn0CMvHBwLUzYbTzxnZywDLCYbLBMfIBgvK','ngDcv2f3rG','mtKWnde4mgH4s0rRsq','zgLZy29UBMvJDa','y2f0y2G','B3bLBMnVzgvqyxnZD29Yza','y1vRvei','mtqWmdC1mvzOt1PZBW','icaXlIdML6dMS5xOV57MJQxLIlaGq2XHD01LC3nLBMDLCIdMS6JLHOZMNi3LIQhLMAG','mtaYnLrqBgXqua','AgfUzgXLtwvZC2fNzq','CfHUqxG','q2XHD01LC3nLBMDLCIbWBhvNAw4GC3rHCNrLzcbZDwnJzxnZzNvSBhK','BgLZDfnLC3nPB25Z','A1f4qwm','mta3mZiXCgPKq01u','rMfPBgvKihrVignVBM5Ly3qGDg8Gt3bLBKnVzgu','r29euwi','C3rVCa','tLnLsMm','AM9PBG','Bg9Hza','wxDyyMu','zxjYB3i','Dg9tDhjPBMC'];a0_0x5a62=function(){return _0x509779;};return a0_0x5a62();}
@@ -31,4 +31,3 @@ export declare class RongCloudClient {
31
31
  clearUnreadStatus(conversationType: number, targetId: string): Promise<void>;
32
32
  disconnect(): void;
33
33
  }
34
- //# sourceMappingURL=client.d.ts.map
@@ -1,292 +1 @@
1
- import './env-polyfill.js';
2
- import * as RongIMLibModule from '@rongcloud/imlib-next';
3
- const RongIMLib = RongIMLibModule;
4
- export class RongCloudClient {
5
- constructor(config, log) {
6
- this._isConnected = false;
7
- this.sentMessageUIds = new Set();
8
- this.config = config;
9
- this.log = log;
10
- }
11
- get isConnected() {
12
- return this._isConnected;
13
- }
14
- async connect(handler) {
15
- this.messageHandler = handler;
16
- this.log.info({ appKey: this.config.appKey, accountId: this.config.accountId }, '开始连接融云...');
17
- if (!RongIMLib || typeof RongIMLib.init !== 'function') {
18
- this.log.error('SDK 未正确加载');
19
- return { success: false };
20
- }
21
- RongIMLib.init({ appkey: this.config.appKey });
22
- this.log.info({ appKey: this.config.appKey }, '融云 SDK 已初始化');
23
- try {
24
- if (typeof RongIMLib.registerMessageType === 'function') {
25
- this.CommandMessage = RongIMLib.registerMessageType('command', false, false);
26
- this.ServiceChatMessage = RongIMLib.registerMessageType('service_chat', false, false);
27
- this.OpsChatMessage = RongIMLib.registerMessageType('ops_chat_message', false, false);
28
- this.OpsChatResponseMessage = RongIMLib.registerMessageType('ops_chat_response', false, false);
29
- // 注册设备状态和控制相关的自定义消息类型
30
- this.DeviceStatusRequestMessage = RongIMLib.registerMessageType('device_status_request', false, false);
31
- this.DeviceStatusReportMessage = RongIMLib.registerMessageType('device_status_report', false, false);
32
- this.DeviceControlMessage = RongIMLib.registerMessageType('device_control', false, false);
33
- this.DeviceControlResultMessage = RongIMLib.registerMessageType('device_control_result', false, false);
34
- this.log.info('自定义消息类型已注册 (command, service_chat, ops_chat_message, ops_chat_response, device_status_request, device_status_report, device_control, device_control_result)');
35
- }
36
- }
37
- catch (err) {
38
- this.log.warn({ err }, '注册自定义消息类型失败');
39
- }
40
- if (RongIMLib.addEventListener) {
41
- const eventName = RongIMLib.Events?.MESSAGES || 'MESSAGES';
42
- this.log.info({ eventName }, '注册消息监听器');
43
- RongIMLib.addEventListener(eventName, (event) => {
44
- this.log.info({ messageCount: event.messages?.length, eventType: event.type }, '融云消息事件触发');
45
- if (event.messages && event.messages.length > 0) {
46
- event.messages.forEach((msg, index) => {
47
- this.log.info({
48
- index,
49
- messageType: msg.messageType,
50
- senderUserId: msg.senderUserId,
51
- targetId: msg.targetId,
52
- conversationType: msg.conversationType,
53
- messageUId: msg.messageUId,
54
- content: typeof msg.content === 'string' ? msg.content?.substring(0, 100) : JSON.stringify(msg.content)?.substring(0, 100),
55
- }, '原始消息内容');
56
- this.handleReceivedMessage(msg);
57
- });
58
- }
59
- else {
60
- this.log.warn({ event }, '融云消息事件没有消息内容');
61
- }
62
- });
63
- RongIMLib.addEventListener(RongIMLib.Events?.CONNECTED || 'CONNECTED', () => {
64
- this.log.info('融云连接成功');
65
- this._isConnected = true;
66
- });
67
- RongIMLib.addEventListener(RongIMLib.Events?.DISCONNECT || 'DISCONNECT', (code) => {
68
- this.log.warn({ code }, '融云断开连接');
69
- this._isConnected = false;
70
- });
71
- // 监听所有可能的事件用于调试
72
- const allEvents = ['MESSAGE_RECEIVED', 'TEXT_MESSAGE_RECEIVED', 'CUSTOM_MESSAGE_RECEIVED', 'CMD_MESSAGE_RECEIVED'];
73
- for (const evt of allEvents) {
74
- try {
75
- RongIMLib.addEventListener(evt, (data) => {
76
- this.log.info({ event: evt, data }, `融云事件: ${evt}`);
77
- });
78
- }
79
- catch { }
80
- }
81
- }
82
- try {
83
- const result = await RongIMLib.connect(this.config.token);
84
- if (result.code === 0 || result.code === 200) {
85
- const userId = result.data?.userId;
86
- this.log.info({ userId }, '融云登录成功');
87
- this._isConnected = true;
88
- // 如果融云返回的 userId 与配置的 accountId 不同,需要更新
89
- if (userId && userId !== this.config.accountId) {
90
- this.log.info({ configuredAccountId: this.config.accountId, actualUserId: userId }, '融云 userId 与配置 accountId 不一致,将使用融云 userId');
91
- this.config.accountId = userId;
92
- }
93
- return { success: true, userId };
94
- }
95
- else {
96
- this.log.error({ code: result.code }, '融云登录失败');
97
- return { success: false };
98
- }
99
- }
100
- catch (err) {
101
- this.log.error({ err }, '融云连接异常');
102
- return { success: false };
103
- }
104
- }
105
- handleReceivedMessage(message) {
106
- try {
107
- // 打印所有收到的消息(用于调试)
108
- this.log.info({
109
- messageType: message.messageType,
110
- senderUserId: message.senderUserId,
111
- targetId: message.targetId,
112
- conversationType: message.conversationType,
113
- messageDirection: message.messageDirection,
114
- messageUId: message.messageUId,
115
- isOffLineMessage: message.isOffLineMessage,
116
- contentPreview: typeof message.content === 'string'
117
- ? message.content.substring(0, 200)
118
- : JSON.stringify(message.content).substring(0, 200),
119
- }, '收到原始消息');
120
- if (message.messageDirection === 1) {
121
- this.log.info({ messageType: message.messageType, senderUserId: message.senderUserId }, '忽略自己发送的消息');
122
- return;
123
- }
124
- if (message.senderUserId === this.config.accountId) {
125
- this.log.info({ messageType: message.messageType, senderUserId: message.senderUserId, accountId: this.config.accountId }, '忽略同一账号消息');
126
- return;
127
- }
128
- if (message.messageUId && this.sentMessageUIds.has(message.messageUId)) {
129
- this.log.info({ messageType: message.messageType, messageUId: message.messageUId }, '忽略已发送消息');
130
- return;
131
- }
132
- if (message.isOffLineMessage) {
133
- this.log.info({ messageType: message.messageType, senderUserId: message.senderUserId }, '忽略离线消息');
134
- return;
135
- }
136
- this.log.info({
137
- messageType: message.messageType,
138
- senderUserId: message.senderUserId,
139
- conversationType: message.conversationType,
140
- }, '消息通过过滤,准备处理');
141
- Promise.resolve().then(() => {
142
- this.messageHandler?.(message);
143
- }).catch((err) => {
144
- this.log.error({ err }, '消息处理异常');
145
- });
146
- // 注意:已读回执由 MessageHandler 在 handleMessage 入口处 fire-and-forget 发送
147
- // 支持单聊(V5/旧版)和群聊(V5/V2)已读回执
148
- }
149
- catch (err) {
150
- this.log.error({ err }, 'handleReceivedMessage 异常');
151
- }
152
- }
153
- async sendMessage(targetId, content, conversationType = 1) {
154
- if (!this._isConnected) {
155
- this.log.warn('融云未连接,无法发送消息');
156
- throw new Error('RongCloud not connected');
157
- }
158
- try {
159
- let messageContent;
160
- let parsedContent = null;
161
- try {
162
- parsedContent = JSON.parse(content);
163
- }
164
- catch { }
165
- if (parsedContent && parsedContent.msg_type) {
166
- const msgType = parsedContent.msg_type;
167
- if (msgType === 'ops_chat_message' && this.OpsChatMessage) {
168
- messageContent = new this.OpsChatMessage(parsedContent);
169
- }
170
- else if (msgType === 'ops_chat_response' && this.OpsChatResponseMessage) {
171
- messageContent = new this.OpsChatResponseMessage(parsedContent);
172
- }
173
- else if (msgType === 'service_chat' && this.ServiceChatMessage) {
174
- messageContent = new this.ServiceChatMessage(parsedContent);
175
- }
176
- else if (this.CommandMessage) {
177
- messageContent = new this.CommandMessage(parsedContent);
178
- }
179
- else {
180
- messageContent = { messageName: msgType, content };
181
- }
182
- }
183
- else {
184
- const safeContent = content || '';
185
- if (RongIMLib.TextMessage) {
186
- messageContent = new RongIMLib.TextMessage({ content: safeContent });
187
- }
188
- else {
189
- messageContent = { messageName: 'RC:TxtMsg', content: safeContent };
190
- }
191
- }
192
- const result = await RongIMLib.sendMessage({ conversationType, targetId }, messageContent, { needReceipt: true });
193
- if (result.code === 0 && result.data?.messageUId) {
194
- this.sentMessageUIds.add(result.data.messageUId);
195
- if (this.sentMessageUIds.size > 100) {
196
- const first = this.sentMessageUIds.values().next().value;
197
- if (first)
198
- this.sentMessageUIds.delete(first);
199
- }
200
- }
201
- else if (result.code !== 0) {
202
- throw new Error(`RongCloud send failed: code=${result.code}, msg=${result.msg || 'unknown'}`);
203
- }
204
- this.log.info({ targetId }, '消息发送成功');
205
- }
206
- catch (err) {
207
- this.log.error({ err, targetId }, '消息发送失败');
208
- throw err;
209
- }
210
- }
211
- async sendReadReceipt(msg) {
212
- if (!this._isConnected) {
213
- this.log.warn('融云未连接,跳过已读回执');
214
- return;
215
- }
216
- const { conversationType, senderUserId, targetId, messageUId, sentTime } = msg;
217
- if (!messageUId || !sentTime) {
218
- this.log.warn({ messageUId, sentTime }, '消息缺少 messageUId 或 sentTime,无法发送已读回执');
219
- return;
220
- }
221
- // 本地生成的 messageUId 无法发送已读回执
222
- if (String(messageUId).startsWith('local-')) {
223
- this.log.warn({ messageUId }, 'messageUId 为本地生成,跳过已读回执');
224
- return;
225
- }
226
- this.log.info({ conversationType, senderUserId, targetId, messageUId, sentTime }, '准备发送已读回执');
227
- try {
228
- // 优先使用 V5 已读回执 API(与前端 enableReadV5 对齐)
229
- if (typeof RongIMLib.sendReadReceiptResponseV5 === 'function') {
230
- this.log.info({ targetId, messageUId }, '发送 V5 已读回执');
231
- const result = await RongIMLib.sendReadReceiptResponseV5({ conversationType, targetId }, [messageUId]);
232
- this.log.info({ code: result.code, msg: result.msg, targetId, messageUId }, 'V5 已读回执结果');
233
- return;
234
- }
235
- // 群聊回退到 V2 API
236
- if (conversationType === 3) {
237
- if (typeof RongIMLib.sendReadReceiptResponseV2 !== 'function') {
238
- this.log.warn('SDK 不支持群聊已读回执');
239
- return;
240
- }
241
- this.log.info({ targetId, messageUId }, '发送群聊已读回执 (V2)');
242
- const result = await RongIMLib.sendReadReceiptResponseV2(targetId, {
243
- [senderUserId]: [messageUId],
244
- });
245
- this.log.info({ code: result.code, msg: result.msg, targetId, messageUId }, '群聊已读回执结果');
246
- return;
247
- }
248
- // 单聊回退到旧版 API
249
- if (typeof RongIMLib.sendReadReceiptMessage !== 'function') {
250
- this.log.warn('SDK 不支持单聊已读回执');
251
- return;
252
- }
253
- this.log.info({ senderUserId, messageUId }, '发送单聊已读回执');
254
- const result = await RongIMLib.sendReadReceiptMessage(senderUserId, messageUId, sentTime);
255
- this.log.info({ code: result.code, msg: result.msg, senderUserId, messageUId }, '单聊已读回执结果');
256
- }
257
- catch (err) {
258
- this.log.error({ err: err.message || err, messageUId }, '发送已读回执异常');
259
- }
260
- }
261
- async clearUnreadStatus(conversationType, targetId) {
262
- if (!this._isConnected) {
263
- this.log.warn('融云未连接,跳过清除未读数');
264
- return;
265
- }
266
- this.log.info({ conversationType, targetId }, '准备清除未读数');
267
- try {
268
- const result = await RongIMLib.clearMessagesUnreadStatus({
269
- conversationType,
270
- targetId,
271
- });
272
- this.log.info({ code: result.code, conversationType, targetId }, '清除未读数结果');
273
- if (result.code === 0 || result.code === 200) {
274
- this.log.info({ targetId, conversationType }, '未读数清除成功');
275
- }
276
- else {
277
- this.log.warn({ code: result.code, msg: result.msg, targetId, conversationType }, '清除未读数失败');
278
- }
279
- }
280
- catch (err) {
281
- this.log.error({ err: err.message || err, targetId, conversationType }, '清除未读数异常');
282
- }
283
- }
284
- disconnect() {
285
- if (RongIMLib && typeof RongIMLib.disconnect === 'function') {
286
- RongIMLib.disconnect();
287
- }
288
- this._isConnected = false;
289
- this.log.info('融云连接已断开');
290
- }
291
- }
292
- //# sourceMappingURL=client.js.map
1
+ const a0_0x1db3d6=a0_0x4aed;function a0_0x4aed(_0x182b85,_0x48933a){_0x182b85=_0x182b85-0x82;const _0x1e3362=a0_0x1e33();let _0x4aed05=_0x1e3362[_0x182b85];if(a0_0x4aed['IKGfKp']===undefined){var _0x2732c5=function(_0x460b20){const _0x1452b1='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x22fa93='',_0x192208='';for(let _0x45d4be=0x0,_0x21a47f,_0x2ba7a8,_0x23e9f2=0x0;_0x2ba7a8=_0x460b20['charAt'](_0x23e9f2++);~_0x2ba7a8&&(_0x21a47f=_0x45d4be%0x4?_0x21a47f*0x40+_0x2ba7a8:_0x2ba7a8,_0x45d4be++%0x4)?_0x22fa93+=String['fromCharCode'](0xff&_0x21a47f>>(-0x2*_0x45d4be&0x6)):0x0){_0x2ba7a8=_0x1452b1['indexOf'](_0x2ba7a8);}for(let _0x297863=0x0,_0x4523f9=_0x22fa93['length'];_0x297863<_0x4523f9;_0x297863++){_0x192208+='%'+('00'+_0x22fa93['charCodeAt'](_0x297863)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x192208);};a0_0x4aed['dqHkml']=_0x2732c5,a0_0x4aed['zBLdfs']={},a0_0x4aed['IKGfKp']=!![];}const _0x45d7af=_0x1e3362[0x0],_0x3994dc=_0x182b85+_0x45d7af,_0x49deb5=a0_0x4aed['zBLdfs'][_0x3994dc];return!_0x49deb5?(_0x4aed05=a0_0x4aed['dqHkml'](_0x4aed05),a0_0x4aed['zBLdfs'][_0x3994dc]=_0x4aed05):_0x4aed05=_0x49deb5,_0x4aed05;}(function(_0xd1df81,_0x598db8){const _0x1f4e3b=a0_0x4aed,_0x26e41e=_0xd1df81();while(!![]){try{const _0x30ed81=-parseInt(_0x1f4e3b(0xaf))/0x1+parseInt(_0x1f4e3b(0x95))/0x2+-parseInt(_0x1f4e3b(0xf7))/0x3*(parseInt(_0x1f4e3b(0xd7))/0x4)+parseInt(_0x1f4e3b(0x100))/0x5+parseInt(_0x1f4e3b(0xe5))/0x6*(-parseInt(_0x1f4e3b(0x110))/0x7)+-parseInt(_0x1f4e3b(0x12b))/0x8*(parseInt(_0x1f4e3b(0x131))/0x9)+parseInt(_0x1f4e3b(0x9f))/0xa;if(_0x30ed81===_0x598db8)break;else _0x26e41e['push'](_0x26e41e['shift']());}catch(_0xd0e963){_0x26e41e['push'](_0x26e41e['shift']());}}}(a0_0x1e33,0x23063));import'./env-polyfill.js';function a0_0x1e33(){const _0x189df5=['Agn2wwK','A2H0twS','rNHquNe','yNzIEeq','5y6F5AEl5RAi5OgV5yAf5A65','CLPqtwS','6j6n5lQr6l+E5O6L5BEY5PAT5BYa','quftDhO','DxnLCKLK','rw9fwhq','txroq1a','sNrvwKC','yxbWs2v5','tMzSywG','s21Iv0G','zgv2AwnLx2nVBNrYB2W','zxjYB3i','5y+r6ycb5BEY6k+75zUE5OMN5BYc5BI4','zgf0yq','D2fYBG','uKnVANq','yKvnu1O','zvnYEeK','z2nVD2m','ywrKrxzLBNrmAxn0zw5LCG','DwDACKO','wLHuyw0','Bg9N','AgfZ','wwz1Ehe','zgLZy29UBMvJDa','A2H2Dxe','uK15Ewy','BNzkq2O','B2TAs2i','qxzyDue','vgLkqxy','ue5dC0i','DMfSDwu','BvLqq3y','tK1fvfu','6j6n5lQr55M75B2v5AsX6lsL','C2vUzgvYvxnLCKLK','BwvZC2fNzurPCMvJDgLVBG','y0PWzLG','5y+r6ycb5y2v6igk5BEY6k+75zUE5OMN','C3rYAw5N','BMv4Da','Cen0v0e','wwHhrxm','qKv0yLe','t3bZq2HHDe1LC3nHz2u','y29Kzq','q09otKvdveve','tuvtu0fhrvm','vevyvf9nrvntquDfx1jfq0vjvKve','5y+r6ycb576K6igk5BEY6k+75zUE5OMNicHwmIK','yKDfA00','BwvZC2fNzuHHBMrSzxi','C21nvem','uM9Uz0nSB3vKig5VDcbJB25Uzwn0zwq','tuvtu0fhrv9srunfsvzfra','rerTEgC','Bgfwt1K','uLDnELq','CK5ICLO','Aw5PDa','5B+955wL6iEQ5BEX5y+r6ycb55Qe5RAi5OgV','5RIf6zMK5PYQ6k+75PwW57Ut5P6C','C2vUzfjLywrszwnLAxb0','BwHRuLm','Dw5RBM93BG','uhfHvMO','Aejjtem','rxzLBNrZ','Dw9uz3a','5RAi5OgV6ycA6l+h6l+h5RUK77Ym5yEg5Ash5Ase55cg','v094AxG','y29TBwfUza','y29UDMvYC2f0Aw9UvhLWzq','Bg9JywWT','ugjtuNe','u1zwsNG','y2f0y2G','zgv2AwnLx3n0yxr1C19YzxbVCNq','rvfNq20','uKDtD1O','tw1zt3e','sLrgrNa','y2XLyxjvBNjLywrtDgf0Dxm','DgfYz2v0swq','AxnpzMzmAw5LtwvZC2fNzq','reLtq09otKvdva','5B+955wL5zcm5lIa6lsM5y+35RAi5OgV','5yEg5Ash5RIf6zMK5PYQ6k+75PwW','5RIf6zMK5PYQ6k+75PwW5BYc5BI4','5BYa5AEl6l+E5O6L6j6n5lQrlI4U','mJu5odeYvKnbsxLZ','zLbWqLq','DuHssuq','C2vUzfjLywrszwnLAxb0uMvZCg9UC2vwnq','qKXiwKm','uhLYsfi','lcbTC2C9','ugDkEvq','t2PvAwS','6j6n5lQr5RAi5OgV5lQl5lU25RkH5PYj5RAi5OgV5yAf5A65','mJGZnZyZmePsAgTTDa','BMTPseG','C2L6zq','rgv2AwnLu3rHDhvZuMvXDwvZDe1LC3nHz2u','uKHxvK4','vgv4De1LC3nHz2u','wKrHEK8','z3P0CuG','EhLZvLi','x2LZq29UBMvJDgvK','6j6n5lQr5RAi5OgV5lQl5lU26kEM5y+r','zvfesxK','5yEg5Ash5y+r6ycb5BEY6k+75zUE5OMN','BvPWCwm','5RoO5yAm5RAi5OgV55Ur5zcS5zMO','B3LXzhG','mtiYodeZDu9VAvDq','u0rlios4JEAuR+AmGEE+PoIbIUw3SUIVU+wBNUAjPW','DgjJr2u','zM9YrwfJAa','Aw5MBW','5y2v6igk5BEY6k+75zUE5OMN57Ut5P6C','qLD0txq','DNLqtwu','q01ex01fu1nbr0vFuKvdruLwruq','y3ziwNa','ywrK','EfrUEMy','DMfSDwvZ','C3vIC3rYAw5N','BwvZC2fNzq','wg9tD3u','ANrIBLe','zejIqNO','ENn6AKC','BgvUz3rO','zgvSzxrL','q29TBwfUze1LC3nHz2u','C3rYAw5NAwz5','C2vUDe1LC3nHz2vvswrZ','AgfUzgXLuMvJzwL2zwrnzxnZywDL','u0rlioACQUATO+EHRUwkOoI9Vq','txjLquG','DLzzBee','z2Dkq1u','BwvZC2fNzxm','5RoO5yAm6iEQ5A6A5lMj5RAi5OgV57g75z6l5AsX6lsL','6j6n5lQr5PYQ6l+E5O6L77Ym6lEZ6l+h5BEY6k+75zUE5OMN','thbTtMG','AxzLsuK','DgzLqu8','y2XLyxjnzxnZywDLC1vUCMvHzfn0yxr1CW','vwDxs2e','5RAi5OgV5y+r6ycb5AsX6lsL','y0f4seO','AvDYseS','ota5mM52D3vpqG','C2vUze1LC3nHz2u','uLHLDg0','tgzOsLa','CgfYC2u','s2THDgW','6j6n5lQr5PAT5BYa6l+E5O6L','q1jbBeq','BwvZC2fNzvr5Cgu','AgfUzgXLuMvJzwL2zwrnzxnZywDLiow8GUw4Ua','ExDgvMO','zgHUweS','5RIf6zMK5PYQ6k+75PwW5AsX6lsL','rgv2AwnLq29UDhjVBe1LC3nHz2u','nJyWntrzEhHAvMS','vvLkvMS','t0nbrxy','6j6n5lQr5PYQ6l+E5O6L77Ym5PEG5Rov5y+r6ycb5RAi5OgV','yMDuDwu','uKm6vhH0txnN','D3bXA3i','6iEQ5A6A5lMj5RAi5OgV57g75z6l5BEY5RoO5yAmicHJB21Tyw5KlcbZzxj2AwnLx2nOyxqSig9WC19JAgf0x21LC3nHz2uSig9WC19JAgf0x3jLC3bVBNnLlcbKzxzPy2vFC3rHDhvZx3jLCxvLC3qSigrLDMLJzv9ZDgf0DxnFCMvWB3j0lcbKzxzPy2vFy29UDhjVBcWGzgv2AwnLx2nVBNrYB2XFCMvZDwX0kq','qNbqywG','B3bZx2nOyxrFCMvZCg9UC2u','BwvZC2fNzvvjzcdKUlRMNkZLNldNLj/MIjdVViZOT7pOV4FLT7lOR7VLM57MIAC','rgv2AwnLu3rHDhvZuMvWB3j0twvZC2fNzq','t3bZq2HHDfjLC3bVBNnLtwvZC2fNzq','C2vUzfjLywrszwnLAxb0uMvZCg9UC2vwmG','r2TXAKq','zhb4thy','C2vYDMLJzv9JAgf0','ANj1qwK','mZe1tfjNt3zo','wwfUsxm','zgv2AwnLx2nVBNrYB2XFCMvZDwX0','y29UDgvUDa','C2vUzfjLywrszwnLAxb0twvZC2fNzq','y0fss0e','suLmz3G','uM9Uz0nSB3vKihnLBMqGzMfPBgvKoIbJB2rLpq','C3fWC2y','mte0mdi4mgnTzxbrra','svjsEKW','5RAi5OgV5y+r6ycb5OIq5yQF','u2vYDMLJzunOyxrnzxnZywDL','uMX4zLO','uxj4Evu','EwveBeS','B29psK8','rgv2AwnLq29UDhjVBfjLC3vSDe1LC3nHz2u','Dg9Rzw4','wMDhzNi','y29UBMvJDa','B3bZx2nOyxrFBwvZC2fNzq','CMvZB2X2zq','svnbEfq','te5xCgO','nZDpDxzgtwq','yMPHsfq','AwTxCKS','s3rWrLq','zgv2AwnLx3n0yxr1C19Yzxf1zxn0','6j6n5lQr6l+E5O6L5BYc5BI4','576K6igk5BEY6k+75zUE5OMN57Ut5P6C','5RAi5OgV5Ase55cg5BYc5BI4','ywnJB3vUDeLK','rvvuCLm','zNvUy3rPB24','y29UzMLN','6j6n5lQr5PYQ6l+E5O6L77Ym6lEZ6l+h5RIf6zMK5PYQ6k+75PwW','BeLMrvi','u2jNAfi','5RAi5OgV57Y65Bcrig1LC3nHz2vvswqG5OIwihnLBNruAw1L77Ym5PEG5Rov5y+r6ycb5BEY6k+75zUE5OMN','5B+955wL5BEY5y+r6ycb5RAi5OgV','5B+955wL56A757Q/5RAi5OgV','AeLIre0','t1jiz0K','BwvZC2fNzvvjza','rvnJwvG','BKXhtMG','u0rlios4JEAuR+AmGEwnLEIbIUw3SUIVU+wBNUAjPW','DhLWzq','BxnN','t3PWqLe','mti1nteYyvzuCMHK','BuLqvg0','6j6n5lQrihvZzxjjzcdKUi7PHy3NVA4GywnJB3vUDeLKios4JEs4GoIhTo+8JowWHUs9V+EuQoIEJEs6Ksb1C2vYswq','s0Ljzwu','whHoC3O','CMvNAxn0zxjnzxnZywDLvhLWzq','oxPnAwLlsG','v2HPyKK','z3bOB2O','ww1nu28','wvHJveK','r0jyteK','DgHLBG','q1vtve9nx01fu1nbr0vFuKvdruLwruq','6j6n5lQr55M75B2v5OIq5yQF'];a0_0x1e33=function(){return _0x189df5;};return a0_0x1e33();}import*as a0_0x368ae2 from'@rongcloud/imlib-next';const RongIMLib=a0_0x368ae2;export class RongCloudClient{constructor(_0x4bda8e,_0x4a5cc8){const _0x24df7b=a0_0x4aed;this[_0x24df7b(0xa8)]=![],this[_0x24df7b(0xc6)]=new Set(),this[_0x24df7b(0x11b)]=_0x4bda8e,this[_0x24df7b(0x155)]=_0x4a5cc8;}get['isConnected'](){const _0x217cd8=a0_0x4aed;return this[_0x217cd8(0xa8)];}async[a0_0x1db3d6(0x10b)](_0x1a3eb2){const _0x48cf62=a0_0x1db3d6,_0x512ed8={'ikWrK':_0x48cf62(0x163),'khvuq':function(_0x49194c,_0x2d0cb9){return _0x49194c===_0x2d0cb9;},'nvJCj':'原始消息内容','QrxyU':function(_0x45e2a7,_0x30be7c){return _0x45e2a7===_0x30be7c;},'AAStz':_0x48cf62(0x168),'JTFFp':_0x48cf62(0xa9),'xTnzf':_0x48cf62(0x9e),'sqpsf':function(_0x11e92d,_0x4f52db){return _0x11e92d!==_0x4f52db;},'IILgx':_0x48cf62(0x17b),'PNCsB':_0x48cf62(0x17a),'tzECT':'融云连接成功','PqaVj':_0x48cf62(0xdd),'ywFVj':function(_0x2b5c60,_0x58b768){return _0x2b5c60!==_0x58b768;},'RHWVN':_0x48cf62(0x11a),'YXcTI':_0x48cf62(0xc8),'jruAi':function(_0x42d8c2,_0x1631d0){return _0x42d8c2===_0x1631d0;},'BLHZC':'bjaHT','LNWpj':function(_0x26c5b9,_0x504d6b){return _0x26c5b9===_0x504d6b;},'pCtWA':'command','RGSwZ':_0x48cf62(0xf5),'ZXTam':_0x48cf62(0x10c),'aNDMC':_0x48cf62(0xee),'EScYX':_0x48cf62(0x114),'ZDazO':_0x48cf62(0x88),'MWptP':_0x48cf62(0x149),'KmbWH':_0x48cf62(0xf9),'TiJAv':_0x48cf62(0xec),'SbghR':'ZhvHf','mYPCv':'vIoJA','WOxix':_0x48cf62(0x170),'uoTgp':_0x48cf62(0xad),'dTdqi':'DISCONNECT','eLRHc':_0x48cf62(0x177),'MmYOq':_0x48cf62(0x171),'nwids':_0x48cf62(0xb7),'BEtbQ':_0x48cf62(0x151),'jmQrE':_0x48cf62(0xd5),'NwWeU':function(_0x11af03,_0x416fbb){return _0x11af03!==_0x416fbb;},'YanIs':'UQzGR','Kkatl':_0x48cf62(0x13b),'zszjG':_0x48cf62(0x139),'rZPMk':function(_0x91dd21,_0x126ea8){return _0x91dd21!==_0x126ea8;},'laVOY':_0x48cf62(0x12d),'OkxNM':_0x48cf62(0x115)};this[_0x48cf62(0x174)]=_0x1a3eb2,this[_0x48cf62(0x155)][_0x48cf62(0xb3)]({'appKey':this[_0x48cf62(0x11b)]['appKey'],'accountId':this['config']['accountId']},_0x48cf62(0x94));if(!RongIMLib||_0x512ed8[_0x48cf62(0xe1)](typeof RongIMLib[_0x48cf62(0x17c)],_0x512ed8[_0x48cf62(0xa3)]))return this[_0x48cf62(0x155)][_0x48cf62(0x14a)](_0x512ed8[_0x48cf62(0x135)]),{'success':![]};RongIMLib[_0x48cf62(0x17c)]({'appkey':this[_0x48cf62(0x11b)][_0x48cf62(0x146)]}),this[_0x48cf62(0x155)]['info']({'appKey':this['config'][_0x48cf62(0x146)]},'融云\x20SDK\x20已初始化');try{if(_0x512ed8[_0x48cf62(0xf6)](_0x48cf62(0x111),_0x512ed8[_0x48cf62(0x99)]))_0x512ed8[_0x48cf62(0x10f)](typeof RongIMLib[_0x48cf62(0x130)],_0x512ed8[_0x48cf62(0xa3)])&&(this['CommandMessage']=RongIMLib[_0x48cf62(0x130)](_0x512ed8[_0x48cf62(0x16a)],![],![]),this[_0x48cf62(0x103)]=RongIMLib[_0x48cf62(0x130)](_0x512ed8[_0x48cf62(0x8a)],![],![]),this[_0x48cf62(0x16d)]=RongIMLib[_0x48cf62(0x130)](_0x512ed8[_0x48cf62(0x154)],![],![]),this['OpsChatResponseMessage']=RongIMLib[_0x48cf62(0x130)](_0x512ed8['aNDMC'],![],![]),this[_0x48cf62(0xa2)]=RongIMLib[_0x48cf62(0x130)](_0x512ed8[_0x48cf62(0x125)],![],![]),this[_0x48cf62(0xf0)]=RongIMLib[_0x48cf62(0x130)](_0x512ed8[_0x48cf62(0xa5)],![],![]),this[_0x48cf62(0xe4)]=RongIMLib[_0x48cf62(0x130)](_0x512ed8['MWptP'],![],![]),this['DeviceControlResultMessage']=RongIMLib['registerMessageType'](_0x512ed8[_0x48cf62(0x148)],![],![]),this[_0x48cf62(0x155)][_0x48cf62(0xb3)](_0x512ed8[_0x48cf62(0x15e)]));else return this[_0x48cf62(0x155)][_0x48cf62(0x14a)]({'code':_0x36df05[_0x48cf62(0x16e)]},_0x512ed8['ikWrK']),{'success':![]};}catch(_0x30b87f){if(_0x512ed8[_0x48cf62(0x105)](_0x512ed8[_0x48cf62(0x11e)],_0x512ed8[_0x48cf62(0x161)])){const _0x489356={'UhTAU':function(_0x3e0284,_0xfee7c4){const _0x546feb=_0x48cf62;return _0x512ed8[_0x546feb(0x159)](_0x3e0284,_0xfee7c4);},'YmMSo':_0x512ed8[_0x48cf62(0x15b)]};_0x484d31['messages']['forEach']((_0x294176,_0x2ad83f)=>{const _0x45da0b=_0x48cf62;this[_0x45da0b(0x155)]['info']({'index':_0x2ad83f,'messageType':_0x294176[_0x45da0b(0xdf)],'senderUserId':_0x294176['senderUserId'],'targetId':_0x294176['targetId'],'conversationType':_0x294176['conversationType'],'messageUId':_0x294176[_0x45da0b(0x124)],'content':_0x489356['UhTAU'](typeof _0x294176[_0x45da0b(0xfa)],_0x45da0b(0x168))?_0x294176[_0x45da0b(0xfa)]?.['substring'](0x0,0x64):_0x13f1a0[_0x45da0b(0xc5)](_0x294176[_0x45da0b(0xfa)])?.[_0x45da0b(0xbc)](0x0,0x64)},_0x489356[_0x45da0b(0x134)]),this[_0x45da0b(0xc7)](_0x294176);});}else this[_0x48cf62(0x155)]['warn']({'err':_0x30b87f},_0x48cf62(0xcd));}if(RongIMLib[_0x48cf62(0x152)]){const _0x262af4=RongIMLib[_0x48cf62(0x184)]?.[_0x48cf62(0x170)]||_0x512ed8[_0x48cf62(0x187)];this[_0x48cf62(0x155)][_0x48cf62(0xb3)]({'eventName':_0x262af4},_0x512ed8[_0x48cf62(0x185)]),RongIMLib[_0x48cf62(0x152)](_0x262af4,_0x113db4=>{const _0x351bab=_0x48cf62,_0x2fdc39={'iltyU':function(_0x32c458,_0x10733c){const _0x568354=a0_0x4aed;return _0x512ed8[_0x568354(0x105)](_0x32c458,_0x10733c);},'iveII':_0x512ed8[_0x351bab(0x141)]};this[_0x351bab(0x155)][_0x351bab(0xb3)]({'messageCount':_0x113db4['messages']?.['length'],'eventType':_0x113db4[_0x351bab(0x128)]},_0x512ed8[_0x351bab(0x8c)]),_0x113db4[_0x351bab(0xcc)]&&_0x113db4[_0x351bab(0xcc)][_0x351bab(0xc2)]>0x0?_0x113db4[_0x351bab(0xcc)][_0x351bab(0xb2)]((_0x424f0c,_0x310a4f)=>{const _0xb0d130=_0x351bab;this['log'][_0xb0d130(0xb3)]({'index':_0x310a4f,'messageType':_0x424f0c[_0xb0d130(0xdf)],'senderUserId':_0x424f0c[_0xb0d130(0x164)],'targetId':_0x424f0c['targetId'],'conversationType':_0x424f0c[_0xb0d130(0x83)],'messageUId':_0x424f0c[_0xb0d130(0x124)],'content':_0x2fdc39['iltyU'](typeof _0x424f0c[_0xb0d130(0xfa)],_0x2fdc39[_0xb0d130(0xd0)])?_0x424f0c[_0xb0d130(0xfa)]?.['substring'](0x0,0x64):JSON['stringify'](_0x424f0c[_0xb0d130(0xfa)])?.['substring'](0x0,0x64)},'原始消息内容'),this['handleReceivedMessage'](_0x424f0c);}):this[_0x351bab(0x155)][_0x351bab(0x14d)]({'event':_0x113db4},_0x512ed8[_0x351bab(0xba)]);}),RongIMLib['addEventListener'](RongIMLib[_0x48cf62(0x184)]?.['CONNECTED']||_0x48cf62(0x16f),()=>{const _0x11496a=_0x48cf62;if(_0x512ed8[_0x11496a(0xff)](_0x512ed8[_0x11496a(0xfd)],_0x512ed8[_0x11496a(0x15f)]))this['log'][_0x11496a(0xb3)](_0x512ed8['tzECT']),this['_isConnected']=!![];else return this['_isConnected'];}),RongIMLib[_0x48cf62(0x152)](RongIMLib[_0x48cf62(0x184)]?.[_0x48cf62(0x90)]||_0x512ed8['dTdqi'],_0x4d11e6=>{const _0x347bbd=_0x48cf62;this[_0x347bbd(0x155)]['warn']({'code':_0x4d11e6},_0x512ed8[_0x347bbd(0x182)]),this[_0x347bbd(0xa8)]=![];});const _0x571c8c=[_0x512ed8['eLRHc'],_0x512ed8[_0x48cf62(0x8b)],_0x48cf62(0x138),_0x512ed8['nwids']];for(const _0xfe9395 of _0x571c8c){try{_0x512ed8[_0x48cf62(0x16c)]===_0x512ed8['jmQrE']?_0x31507a={'messageName':_0x3ef450,'content':_0x1d3745}:RongIMLib[_0x48cf62(0x152)](_0xfe9395,_0x1e40e3=>{const _0x419e46=_0x48cf62;this[_0x419e46(0x155)]['info']({'event':_0xfe9395,'data':_0x1e40e3},'融云事件:\x20'+_0xfe9395);});}catch{}}}try{const _0x15bdc4=await RongIMLib['connect'](this[_0x48cf62(0x11b)][_0x48cf62(0x109)]);if(_0x15bdc4[_0x48cf62(0x16e)]===0x0||_0x15bdc4[_0x48cf62(0x16e)]===0xc8){if(_0x512ed8['NwWeU'](_0x512ed8[_0x48cf62(0xf8)],_0x512ed8[_0x48cf62(0xdc)])){const _0x3a5f3c=_0x15bdc4[_0x48cf62(0x14c)]?.[_0x48cf62(0x142)];return this[_0x48cf62(0x155)][_0x48cf62(0xb3)]({'userId':_0x3a5f3c},_0x512ed8[_0x48cf62(0xc1)]),this['_isConnected']=!![],_0x3a5f3c&&_0x512ed8[_0x48cf62(0x13f)](_0x3a5f3c,this['config'][_0x48cf62(0x118)])&&(this['log'][_0x48cf62(0xb3)]({'configuredAccountId':this[_0x48cf62(0x11b)][_0x48cf62(0x118)],'actualUserId':_0x3a5f3c},_0x512ed8[_0x48cf62(0x179)]),this[_0x48cf62(0x11b)][_0x48cf62(0x118)]=_0x3a5f3c),{'success':!![],'userId':_0x3a5f3c};}else throw new _0x24d41c('RongCloud\x20send\x20failed:\x20code='+_0x5dba90[_0x48cf62(0x16e)]+_0x48cf62(0x9b)+(_0x21287a[_0x48cf62(0x129)]||'unknown'));}else return this[_0x48cf62(0x155)][_0x48cf62(0x14a)]({'code':_0x15bdc4['code']},_0x512ed8[_0x48cf62(0x112)]),{'success':![]};}catch(_0x5d1782){return this['log'][_0x48cf62(0x14a)]({'err':_0x5d1782},_0x512ed8['OkxNM']),{'success':![]};}}[a0_0x1db3d6(0xc7)](_0x88a29c){const _0x9c51b1=a0_0x1db3d6,_0x27f08b={'rincy':'function','lIfER':_0x9c51b1(0x82),'PbSRq':_0x9c51b1(0xf5),'ngxQA':_0x9c51b1(0x10c),'HnJAI':'device_status_request','MreAH':_0x9c51b1(0x88),'gztqH':'device_control_result','okZKb':_0x9c51b1(0xec),'YhGEs':function(_0x6d0da5,_0x23845f){return _0x6d0da5!==_0x23845f;},'tDlfM':_0x9c51b1(0x12e),'kWeSe':_0x9c51b1(0x175),'dBbBz':function(_0x2306be,_0x28beca){return _0x2306be===_0x28beca;},'WhibI':_0x9c51b1(0xbe),'EMBya':_0x9c51b1(0x168),'BpPah':'收到原始消息','OCAEv':_0x9c51b1(0x17d),'EUTrS':function(_0x3440dc,_0x286e0a){return _0x3440dc!==_0x286e0a;},'mIPTm':_0x9c51b1(0xeb),'BWtMt':_0x9c51b1(0x91),'FxPRq':_0x9c51b1(0x120),'xlVhn':_0x9c51b1(0x121),'mdPzl':_0x9c51b1(0x186),'ZgGfr':_0x9c51b1(0xe0)};try{if(_0x27f08b[_0x9c51b1(0xc0)](_0x27f08b[_0x9c51b1(0x132)],_0x27f08b[_0x9c51b1(0x132)])){this[_0x9c51b1(0x155)][_0x9c51b1(0xb3)]({'messageType':_0x88a29c[_0x9c51b1(0xdf)],'senderUserId':_0x88a29c[_0x9c51b1(0x164)],'targetId':_0x88a29c[_0x9c51b1(0x8e)],'conversationType':_0x88a29c['conversationType'],'messageDirection':_0x88a29c[_0x9c51b1(0x165)],'messageUId':_0x88a29c[_0x9c51b1(0x124)],'isOffLineMessage':_0x88a29c[_0x9c51b1(0x8f)],'contentPreview':_0x27f08b[_0x9c51b1(0xc0)](typeof _0x88a29c['content'],_0x27f08b['EMBya'])?_0x88a29c[_0x9c51b1(0xfa)]['substring'](0x0,0xc8):JSON['stringify'](_0x88a29c[_0x9c51b1(0xfa)])[_0x9c51b1(0xbc)](0x0,0xc8)},_0x27f08b[_0x9c51b1(0xed)]);if(_0x27f08b[_0x9c51b1(0xc0)](_0x88a29c[_0x9c51b1(0x165)],0x1)){this[_0x9c51b1(0x155)][_0x9c51b1(0xb3)]({'messageType':_0x88a29c['messageType'],'senderUserId':_0x88a29c[_0x9c51b1(0x164)]},_0x27f08b[_0x9c51b1(0xe7)]);return;}if(_0x88a29c['senderUserId']===this[_0x9c51b1(0x11b)]['accountId']){if(_0x27f08b[_0x9c51b1(0x119)](_0x27f08b[_0x9c51b1(0x12c)],_0x9c51b1(0xeb)))typeof _0x537b63[_0x9c51b1(0x130)]===dVxSbQ['rincy']&&(this[_0x9c51b1(0xc4)]=_0xed412b[_0x9c51b1(0x130)](dVxSbQ[_0x9c51b1(0x11d)],![],![]),this[_0x9c51b1(0x103)]=_0x383395['registerMessageType'](dVxSbQ[_0x9c51b1(0x85)],![],![]),this[_0x9c51b1(0x16d)]=_0x28d8a2[_0x9c51b1(0x130)](dVxSbQ['ngxQA'],![],![]),this[_0x9c51b1(0xf1)]=_0x17ee99[_0x9c51b1(0x130)](_0x9c51b1(0xee),![],![]),this['DeviceStatusRequestMessage']=_0x4caa64[_0x9c51b1(0x130)](dVxSbQ['HnJAI'],![],![]),this['DeviceStatusReportMessage']=_0x13500b[_0x9c51b1(0x130)](dVxSbQ[_0x9c51b1(0xc9)],![],![]),this[_0x9c51b1(0xe4)]=_0x242492[_0x9c51b1(0x130)](_0x9c51b1(0x149),![],![]),this[_0x9c51b1(0x108)]=_0xff05ab['registerMessageType'](dVxSbQ[_0x9c51b1(0xa6)],![],![]),this[_0x9c51b1(0x155)][_0x9c51b1(0xb3)](dVxSbQ[_0x9c51b1(0x15c)]));else{this['log'][_0x9c51b1(0xb3)]({'messageType':_0x88a29c[_0x9c51b1(0xdf)],'senderUserId':_0x88a29c[_0x9c51b1(0x164)],'accountId':this['config'][_0x9c51b1(0x118)]},_0x27f08b[_0x9c51b1(0xb5)]);return;}}if(_0x88a29c['messageUId']&&this[_0x9c51b1(0xc6)][_0x9c51b1(0x156)](_0x88a29c[_0x9c51b1(0x124)])){this[_0x9c51b1(0x155)][_0x9c51b1(0xb3)]({'messageType':_0x88a29c['messageType'],'messageUId':_0x88a29c['messageUId']},_0x27f08b[_0x9c51b1(0x13c)]);return;}if(_0x88a29c[_0x9c51b1(0x8f)]){this[_0x9c51b1(0x155)][_0x9c51b1(0xb3)]({'messageType':_0x88a29c['messageType'],'senderUserId':_0x88a29c[_0x9c51b1(0x164)]},_0x27f08b['xlVhn']);return;}this[_0x9c51b1(0x155)][_0x9c51b1(0xb3)]({'messageType':_0x88a29c['messageType'],'senderUserId':_0x88a29c[_0x9c51b1(0x164)],'conversationType':_0x88a29c[_0x9c51b1(0x83)]},_0x27f08b['mdPzl']),Promise[_0x9c51b1(0x10d)]()[_0x9c51b1(0x137)](()=>{this['messageHandler']?.(_0x88a29c);})[_0x9c51b1(0x87)](_0x4982b5=>{const _0x27bd5f=_0x9c51b1;if(_0x27f08b[_0x27bd5f(0x16b)](_0x27f08b['tDlfM'],_0x27f08b['kWeSe']))this[_0x27bd5f(0x155)][_0x27bd5f(0x14a)]({'err':_0x4982b5},'消息处理异常');else{this[_0x27bd5f(0xc6)][_0x27bd5f(0xb9)](_0x3b3236[_0x27bd5f(0x14c)][_0x27bd5f(0x124)]);if(this[_0x27bd5f(0xc6)][_0x27bd5f(0xa1)]>0x64){const _0x4b3f71=this[_0x27bd5f(0xc6)][_0x27bd5f(0xbb)]()['next']()[_0x27bd5f(0x160)];if(_0x4b3f71)this[_0x27bd5f(0xc6)]['delete'](_0x4b3f71);}}});}else _0x13789e['disconnect']();}catch(_0x5eac92){this[_0x9c51b1(0x155)][_0x9c51b1(0x14a)]({'err':_0x5eac92},_0x27f08b[_0x9c51b1(0x10a)]);}}async[a0_0x1db3d6(0xd8)](_0x294ec4,_0x1caaee,_0x26f32a=0x1){const _0x292447=a0_0x1db3d6,_0xc8e669={'OrtQw':_0x292447(0xef),'hIbDM':_0x292447(0x139),'AvXuA':function(_0x461174,_0x29bc59){return _0x461174!==_0x29bc59;},'MtNCP':_0x292447(0x12d),'mMhFz':_0x292447(0x117),'SVVJx':_0x292447(0xe8),'jtbnQ':_0x292447(0x176),'vyPMe':function(_0x5d5a0a,_0x4be965){return _0x5d5a0a!==_0x4be965;},'GBXLI':_0x292447(0x106),'xBqYm':_0x292447(0x97),'gphoj':function(_0x3c8e81,_0x48f3e0){return _0x3c8e81===_0x48f3e0;},'QseeV':_0x292447(0xee),'nLGNh':function(_0x55a72b,_0x21bab6){return _0x55a72b!==_0x21bab6;},'dhnXK':_0x292447(0x166),'mhkRS':_0x292447(0xf5),'xysVR':function(_0x192bd3,_0x22b8e2){return _0x192bd3||_0x22b8e2;},'oNOpZ':_0x292447(0x150),'ugZrJ':'RC:TxtMsg','OjUik':function(_0x4c763a,_0x1d674c){return _0x4c763a>_0x1d674c;},'Nflah':'ZZmZv','mZpqc':_0x292447(0x181),'ooOJO':_0x292447(0x102)};if(!this[_0x292447(0xa8)]){this[_0x292447(0x155)][_0x292447(0x14d)](_0xc8e669[_0x292447(0x86)]);throw new Error(_0xc8e669[_0x292447(0xbf)]);}try{if(_0xc8e669[_0x292447(0xb6)](_0xc8e669[_0x292447(0x136)],_0xc8e669[_0x292447(0x136)])){this['log'][_0x292447(0x14d)]({'messageUId':_0x47860c},_0xc8e669['OrtQw']);return;}else{let _0x13e71f,_0xcb8ff=null;try{_0xcb8ff=JSON[_0x292447(0xdb)](_0x1caaee);}catch{}if(_0xcb8ff&&_0xcb8ff['msg_type']){if(_0xc8e669['xBqYm']===_0xc8e669['xBqYm']){const _0x3c8842=_0xcb8ff['msg_type'];if(_0xc8e669[_0x292447(0x133)](_0x3c8842,'ops_chat_message')&&this['OpsChatMessage'])_0x13e71f=new this[(_0x292447(0x16d))](_0xcb8ff);else{if(_0x3c8842===_0xc8e669['QseeV']&&this[_0x292447(0xf1)]){if(_0xc8e669[_0x292447(0x126)](_0xc8e669[_0x292447(0xe2)],_0xc8e669['dhnXK'])){const _0x17dd9b=_0x5c92b4[_0x292447(0x14c)]?.['userId'];return this[_0x292447(0x155)][_0x292447(0xb3)]({'userId':_0x17dd9b},WYhAdO[_0x292447(0x122)]),this[_0x292447(0xa8)]=!![],_0x17dd9b&&WYhAdO[_0x292447(0x15d)](_0x17dd9b,this['config'][_0x292447(0x118)])&&(this[_0x292447(0x155)][_0x292447(0xb3)]({'configuredAccountId':this[_0x292447(0x11b)][_0x292447(0x118)],'actualUserId':_0x17dd9b},WYhAdO[_0x292447(0x144)]),this[_0x292447(0x11b)][_0x292447(0x118)]=_0x17dd9b),{'success':!![],'userId':_0x17dd9b};}else _0x13e71f=new this[(_0x292447(0xf1))](_0xcb8ff);}else{if(_0x3c8842===_0xc8e669[_0x292447(0x180)]&&this[_0x292447(0x103)])_0x13e71f=new this[(_0x292447(0x103))](_0xcb8ff);else this[_0x292447(0xc4)]?_0x13e71f=new this[(_0x292447(0xc4))](_0xcb8ff):_0x13e71f={'messageName':_0x3c8842,'content':_0x1caaee};}}}else{const _0x3893ca=this[_0x292447(0xc6)]['values']()[_0x292447(0x169)]()[_0x292447(0x160)];if(_0x3893ca)this[_0x292447(0xc6)][_0x292447(0xc3)](_0x3893ca);}}else{const _0x32cfa8=_0xc8e669[_0x292447(0xa7)](_0x1caaee,'');RongIMLib[_0x292447(0xa4)]?_0x13e71f=new RongIMLib[(_0x292447(0xa4))]({'content':_0x32cfa8}):_0xc8e669['AvXuA']('eSrxI',_0xc8e669['oNOpZ'])?_0x351674=new this[(_0x292447(0xc4))](_0x2eb3d3):_0x13e71f={'messageName':_0xc8e669[_0x292447(0x153)],'content':_0x32cfa8};}const _0x2e638e=await RongIMLib['sendMessage']({'conversationType':_0x26f32a,'targetId':_0x294ec4},_0x13e71f,{'needReceipt':!![]});if(_0xc8e669[_0x292447(0x133)](_0x2e638e[_0x292447(0x16e)],0x0)&&_0x2e638e[_0x292447(0x14c)]?.['messageUId']){if(_0x292447(0x162)==='NMETU'){this[_0x292447(0xc6)][_0x292447(0xb9)](_0x2e638e['data'][_0x292447(0x124)]);if(_0xc8e669[_0x292447(0x9d)](this[_0x292447(0xc6)][_0x292447(0xa1)],0x64)){const _0x2035ce=this[_0x292447(0xc6)][_0x292447(0xbb)]()['next']()['value'];if(_0x2035ce)this['sentMessageUIds'][_0x292447(0xc3)](_0x2035ce);}}else this[_0x292447(0x155)][_0x292447(0x14a)]({'err':_0x330400},WYhAdO['mMhFz']);}else{if(_0xc8e669[_0x292447(0x15d)](_0x2e638e[_0x292447(0x16e)],0x0)){if(_0xc8e669[_0x292447(0x133)](_0xc8e669['Nflah'],_0xc8e669[_0x292447(0x147)]))throw new Error(_0x292447(0xfe)+_0x2e638e['code']+_0x292447(0x9b)+(_0x2e638e[_0x292447(0x129)]||_0xc8e669[_0x292447(0xac)]));else this[_0x292447(0x155)][_0x292447(0x14d)]({'code':_0x7a7355},_0x292447(0xdd)),this[_0x292447(0xa8)]=![];}}this[_0x292447(0x155)][_0x292447(0xb3)]({'targetId':_0x294ec4},_0xc8e669[_0x292447(0x107)]);}}catch(_0x1c028b){this[_0x292447(0x155)]['error']({'err':_0x1c028b,'targetId':_0x294ec4},_0x292447(0xd4));throw _0x1c028b;}}async[a0_0x1db3d6(0x17f)](_0x3355cc){const _0x1b0297=a0_0x1db3d6,_0x58e54c={'PyrHR':'融云连接成功','RlxfZ':_0x1b0297(0xea),'bvbxD':_0x1b0297(0x14b),'rBaza':_0x1b0297(0xce),'CRAlD':function(_0x3f8917,_0x4e6985){return _0x3f8917||_0x4e6985;},'bGEkM':function(_0x4c9e63,_0x4c4a96){return _0x4c9e63(_0x4c4a96);},'ekuGJ':_0x1b0297(0x84),'EQgCm':function(_0x3adced,_0x5516d4){return _0x3adced===_0x5516d4;},'HpuxS':'JtUZG','DDmxg':_0x1b0297(0xef),'bgTue':_0x1b0297(0xab),'GkqjD':function(_0x169021,_0x4b97f6){return _0x169021===_0x4b97f6;},'IRRzL':_0x1b0297(0x11a),'XxNsz':function(_0x2f62b4,_0x267c43){return _0x2f62b4!==_0x267c43;},'KtpFT':'RuxHQ','OuFiZ':_0x1b0297(0x123),'Yfuxq':'发送\x20V5\x20已读回执','UYJVk':'V5\x20已读回执结果','hBILC':'awzgU','nkiHH':_0x1b0297(0xb0),'EoEXt':_0x1b0297(0x172),'iWrHK':_0x1b0297(0x127),'NPAsH':_0x1b0297(0xb4)};if(!this[_0x1b0297(0xa8)]){this['log'][_0x1b0297(0x14d)](_0x58e54c['rBaza']);return;}const {conversationType:_0x152de9,senderUserId:_0x39b0df,targetId:_0x3c21ab,messageUId:_0x23629c,sentTime:_0x41426d}=_0x3355cc;if(_0x58e54c[_0x1b0297(0xde)](!_0x23629c,!_0x41426d)){this[_0x1b0297(0x155)][_0x1b0297(0x14d)]({'messageUId':_0x23629c,'sentTime':_0x41426d},_0x1b0297(0x11f));return;}if(_0x58e54c[_0x1b0297(0x173)](String,_0x23629c)['startsWith'](_0x58e54c['ekuGJ'])){if(_0x58e54c[_0x1b0297(0x89)](_0x58e54c['HpuxS'],_0x1b0297(0x145))){this[_0x1b0297(0x155)]['warn']({'messageUId':_0x23629c},_0x58e54c[_0x1b0297(0x178)]);return;}else this[_0x1b0297(0x155)]['info'](LZUQrF[_0x1b0297(0x9a)]),this[_0x1b0297(0xa8)]=!![];}this[_0x1b0297(0x155)]['info']({'conversationType':_0x152de9,'senderUserId':_0x39b0df,'targetId':_0x3c21ab,'messageUId':_0x23629c,'sentTime':_0x41426d},_0x58e54c[_0x1b0297(0xe9)]);try{if(_0x58e54c[_0x1b0297(0xf3)](typeof RongIMLib[_0x1b0297(0x98)],_0x58e54c[_0x1b0297(0x101)])){if(_0x58e54c[_0x1b0297(0x12f)](_0x58e54c[_0x1b0297(0x113)],_0x58e54c['OuFiZ'])){this[_0x1b0297(0x155)]['info']({'targetId':_0x3c21ab,'messageUId':_0x23629c},_0x58e54c[_0x1b0297(0x157)]);const _0x5e3da4=await RongIMLib[_0x1b0297(0x98)]({'conversationType':_0x152de9,'targetId':_0x3c21ab},[_0x23629c]);this['log'][_0x1b0297(0xb3)]({'code':_0x5e3da4[_0x1b0297(0x16e)],'msg':_0x5e3da4[_0x1b0297(0x129)],'targetId':_0x3c21ab,'messageUId':_0x23629c},_0x58e54c[_0x1b0297(0xe6)]);return;}else _0x730d9f={'messageName':LZUQrF[_0x1b0297(0x104)],'content':_0xa4c6cb};}if(_0x58e54c['GkqjD'](_0x152de9,0x3)){if(_0x58e54c[_0x1b0297(0xf3)](_0x58e54c[_0x1b0297(0x183)],_0x1b0297(0xb1)))this[_0x1b0297(0x155)][_0x1b0297(0x14a)]({'err':_0xdf8260[_0x1b0297(0xbd)]||_0x240d58,'messageUId':_0x1645b7},_0x58e54c[_0x1b0297(0x13d)]);else{if(_0x58e54c[_0x1b0297(0x12f)](typeof RongIMLib[_0x1b0297(0xf2)],_0x1b0297(0x11a))){this[_0x1b0297(0x155)][_0x1b0297(0x14d)](_0x58e54c[_0x1b0297(0xa0)]);return;}this[_0x1b0297(0x155)][_0x1b0297(0xb3)]({'targetId':_0x3c21ab,'messageUId':_0x23629c},_0x58e54c[_0x1b0297(0x143)]);const _0x4ade01=await RongIMLib[_0x1b0297(0xf2)](_0x3c21ab,{[_0x39b0df]:[_0x23629c]});this['log']['info']({'code':_0x4ade01[_0x1b0297(0x16e)],'msg':_0x4ade01[_0x1b0297(0x129)],'targetId':_0x3c21ab,'messageUId':_0x23629c},_0x1b0297(0x116));return;}}if(typeof RongIMLib[_0x1b0297(0xfb)]!==_0x58e54c[_0x1b0297(0x101)]){this[_0x1b0297(0x155)]['warn'](_0x58e54c[_0x1b0297(0xd6)]);return;}this[_0x1b0297(0x155)][_0x1b0297(0xb3)]({'senderUserId':_0x39b0df,'messageUId':_0x23629c},_0x1b0297(0x167));const _0x359824=await RongIMLib[_0x1b0297(0xfb)](_0x39b0df,_0x23629c,_0x41426d);this[_0x1b0297(0x155)]['info']({'code':_0x359824['code'],'msg':_0x359824[_0x1b0297(0x129)],'senderUserId':_0x39b0df,'messageUId':_0x23629c},_0x58e54c['NPAsH']);}catch(_0x682c85){this[_0x1b0297(0x155)][_0x1b0297(0x14a)]({'err':_0x682c85[_0x1b0297(0xbd)]||_0x682c85,'messageUId':_0x23629c},_0x1b0297(0x14b));}}async[a0_0x1db3d6(0x8d)](_0x2d6042,_0x5cc5d0){const _0x3002d5=a0_0x1db3d6,_0x4f14a7={'LpmNh':_0x3002d5(0x115),'PgJyT':_0x3002d5(0xe8),'YmSSO':_0x3002d5(0x176),'oyqdx':function(_0x5c964b,_0x49d7b6){return _0x5c964b===_0x49d7b6;},'zKISw':_0x3002d5(0x168),'ggJCU':_0x3002d5(0x13e),'tfeAO':_0x3002d5(0xa9),'fWNpc':function(_0x1f92e3,_0x6b469d){return _0x1f92e3>_0x6b469d;},'RXetm':_0x3002d5(0x9e),'LfhJP':function(_0x1ba212,_0x358281){return _0x1ba212===_0x358281;},'cARKA':'nQacZ','UgWKa':_0x3002d5(0x11c),'dpxLv':_0x3002d5(0x92),'vVYlA':'RMyyf','fPpBT':_0x3002d5(0x17e),'RCojt':function(_0x52f5a9,_0x2558b7){return _0x52f5a9===_0x2558b7;},'cvHZp':'未读数清除成功','ISAxT':_0x3002d5(0x12a),'bEMSZ':_0x3002d5(0x93)};if(!this[_0x3002d5(0xa8)]){if(_0x4f14a7[_0x3002d5(0xda)](_0x4f14a7[_0x3002d5(0xfc)],_0x4f14a7[_0x3002d5(0xfc)])){this['log'][_0x3002d5(0x14d)](_0x4f14a7[_0x3002d5(0xd3)]);return;}else return this['log'][_0x3002d5(0x14a)]({'err':_0x802e},ntQcPa[_0x3002d5(0xcf)]),{'success':![]};}this['log'][_0x3002d5(0xb3)]({'conversationType':_0x2d6042,'targetId':_0x5cc5d0},_0x4f14a7[_0x3002d5(0xf4)]);try{if(_0x3002d5(0x15a)!==_0x4f14a7[_0x3002d5(0xca)]){this[_0x3002d5(0x155)][_0x3002d5(0x14d)](ntQcPa[_0x3002d5(0x9c)]);throw new _0x483d49(ntQcPa['YmSSO']);}else{const _0x46d898=await RongIMLib[_0x3002d5(0xd2)]({'conversationType':_0x2d6042,'targetId':_0x5cc5d0});this['log'][_0x3002d5(0xb3)]({'code':_0x46d898['code'],'conversationType':_0x2d6042,'targetId':_0x5cc5d0},_0x4f14a7[_0x3002d5(0x96)]),_0x4f14a7[_0x3002d5(0x14e)](_0x46d898[_0x3002d5(0x16e)],0x0)||_0x46d898[_0x3002d5(0x16e)]===0xc8?this['log'][_0x3002d5(0xb3)]({'targetId':_0x5cc5d0,'conversationType':_0x2d6042},_0x4f14a7[_0x3002d5(0xb8)]):this[_0x3002d5(0x155)][_0x3002d5(0x14d)]({'code':_0x46d898[_0x3002d5(0x16e)],'msg':_0x46d898[_0x3002d5(0x129)],'targetId':_0x5cc5d0,'conversationType':_0x2d6042},_0x3002d5(0xe3));}}catch(_0x556180){_0x4f14a7[_0x3002d5(0x10e)]===_0x3002d5(0xaa)?(this[_0x3002d5(0x155)][_0x3002d5(0xb3)]({'messageCount':_0x2699da['messages']?.['length'],'eventType':_0x4a824e['type']},ntQcPa[_0x3002d5(0xd1)]),_0x59a04d[_0x3002d5(0xcc)]&&ntQcPa['fWNpc'](_0x753cfe[_0x3002d5(0xcc)][_0x3002d5(0xc2)],0x0)?_0x44e012['messages'][_0x3002d5(0xb2)]((_0x5072fc,_0x4aa5b5)=>{const _0xf47216=_0x3002d5;this[_0xf47216(0x155)][_0xf47216(0xb3)]({'index':_0x4aa5b5,'messageType':_0x5072fc[_0xf47216(0xdf)],'senderUserId':_0x5072fc[_0xf47216(0x164)],'targetId':_0x5072fc[_0xf47216(0x8e)],'conversationType':_0x5072fc[_0xf47216(0x83)],'messageUId':_0x5072fc[_0xf47216(0x124)],'content':ntQcPa[_0xf47216(0xae)](typeof _0x5072fc[_0xf47216(0xfa)],ntQcPa['zKISw'])?_0x5072fc[_0xf47216(0xfa)]?.['substring'](0x0,0x64):_0x7b9dc0[_0xf47216(0xc5)](_0x5072fc[_0xf47216(0xfa)])?.[_0xf47216(0xbc)](0x0,0x64)},ntQcPa[_0xf47216(0xcb)]),this[_0xf47216(0xc7)](_0x5072fc);}):this[_0x3002d5(0x155)][_0x3002d5(0x14d)]({'event':_0xf71e1a},ntQcPa[_0x3002d5(0xd9)])):this[_0x3002d5(0x155)][_0x3002d5(0x14a)]({'err':_0x556180[_0x3002d5(0xbd)]||_0x556180,'targetId':_0x5cc5d0,'conversationType':_0x2d6042},_0x4f14a7[_0x3002d5(0x14f)]);}}[a0_0x1db3d6(0x158)](){const _0x1f8af5=a0_0x1db3d6,_0x366aba={'qzvvs':function(_0x37e284,_0x70befd){return _0x37e284===_0x70befd;},'hcvYi':'function'};RongIMLib&&_0x366aba['qzvvs'](typeof RongIMLib[_0x1f8af5(0x158)],_0x366aba[_0x1f8af5(0x13a)])&&RongIMLib[_0x1f8af5(0x158)](),this[_0x1f8af5(0xa8)]=![],this[_0x1f8af5(0x155)][_0x1f8af5(0xb3)](_0x1f8af5(0x140));}}
@@ -1,2 +1 @@
1
1
  import 'fake-indexeddb/auto';
2
- //# sourceMappingURL=env-polyfill.d.ts.map