finej3 1.0.15 → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (47) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +171 -111
  3. package/dist/cjs/clients/client.d.ts +94 -0
  4. package/dist/cjs/clients/client.js +52 -51
  5. package/dist/cjs/clients/client.js.map +1 -1
  6. package/dist/cjs/clients/main.d.ts +442 -0
  7. package/dist/cjs/clients/main.js +270 -331
  8. package/dist/cjs/clients/main.js.map +1 -1
  9. package/dist/cjs/clients/search.d.ts +101 -0
  10. package/dist/cjs/clients/search.js +39 -48
  11. package/dist/cjs/clients/search.js.map +1 -1
  12. package/dist/cjs/core/http.d.ts +43 -0
  13. package/dist/cjs/core/http.js +41 -21
  14. package/dist/cjs/core/http.js.map +1 -1
  15. package/dist/cjs/index.d.ts +48 -0
  16. package/dist/cjs/index.js +4 -2
  17. package/dist/cjs/index.js.map +1 -1
  18. package/dist/cjs/types/client.d.ts +239 -0
  19. package/dist/cjs/types/main.d.ts +1270 -0
  20. package/dist/cjs/types/search.d.ts +331 -0
  21. package/dist/esm/clients/client.d.ts +76 -60
  22. package/dist/esm/clients/client.d.ts.map +1 -1
  23. package/dist/esm/clients/client.js +52 -51
  24. package/dist/esm/clients/client.js.map +1 -1
  25. package/dist/esm/clients/main.d.ts +358 -463
  26. package/dist/esm/clients/main.d.ts.map +1 -1
  27. package/dist/esm/clients/main.js +270 -331
  28. package/dist/esm/clients/main.js.map +1 -1
  29. package/dist/esm/clients/search.d.ts +81 -66
  30. package/dist/esm/clients/search.d.ts.map +1 -1
  31. package/dist/esm/clients/search.js +39 -48
  32. package/dist/esm/clients/search.js.map +1 -1
  33. package/dist/esm/core/http.d.ts +24 -42
  34. package/dist/esm/core/http.d.ts.map +1 -1
  35. package/dist/esm/core/http.js +40 -21
  36. package/dist/esm/core/http.js.map +1 -1
  37. package/dist/esm/index.d.ts +11 -10
  38. package/dist/esm/index.d.ts.map +1 -1
  39. package/dist/esm/index.js +2 -1
  40. package/dist/esm/index.js.map +1 -1
  41. package/dist/esm/types/client.d.ts +217 -117
  42. package/dist/esm/types/client.d.ts.map +1 -1
  43. package/dist/esm/types/main.d.ts +916 -1034
  44. package/dist/esm/types/main.d.ts.map +1 -1
  45. package/dist/esm/types/search.d.ts +287 -236
  46. package/dist/esm/types/search.d.ts.map +1 -1
  47. package/package.json +48 -43
@@ -1,1092 +1,912 @@
1
- /**
2
- * 主站(seasun.nicemoe.cn)响应类型。
3
- * 全部字段依据 2026-07-20 对线上接口的实测采样推导;
4
- * 标注「未实测」的类型来自文档描述,字段可能不完整,均带 index signature 以便访问额外字段。
5
- */
6
- export interface ActiveCalendarParams {
7
- /** 天数偏移(单日)或区间半径(list),0-15,默认 0 */
8
- num?: number;
9
- /** 'day' 单日 / 'list' 前后区间,默认 'day' */
10
- mode?: 'day' | 'list';
11
- }
12
- /**
13
- * 单日日常活动的公共字段。
14
- *
15
- * `draw` / `leader` 是**按星期出现的可选字段**(实测两周数据,与 num 大小无关,只取决于该日星期):
16
- * - `draw`:周三 / 周五 / 周六 / 周日 出现
17
- * - `leader`:周三 / 周五 出现
18
- *
19
- * 访问前务必判空,例如 `data.draw?.length`。
20
- */
21
- export interface ActiveCalendarEntry {
22
- /** 日期,如 "2026-07-21" */
23
- date: string;
24
- /** 星期中文单字,如 "二" */
25
- week: string;
26
- /** 大战。注意 mode=day 带 "大战!" 前缀(如 "大战!英雄不染窟"),mode=list 不带(如 "英雄风砂旧垒") */
27
- war: string;
28
- /** 战场 */
1
+ /** 新版 HTTP 接口响应类型:依据官方 schema 及 2026-11-13 多角色、多参数实测;保留原始字段名。 */
2
+ /** 单日日常;可选字段由一周内不同日期的响应确认。 */
3
+ export interface ActiveCalendarDay {
29
4
  battle: string;
30
- /** 矿车 */
5
+ card: Array<string>;
6
+ date: string;
7
+ draw?: Array<string>;
8
+ leader?: Array<string>;
9
+ lucky: Array<string>;
31
10
  orecar: string;
32
- /** 驰援 */
33
11
  rescue: string;
34
- /** 帮会跑商 */
35
- card: string[];
36
- /** 门派日常 */
37
12
  school: string;
38
- /** 福缘 */
39
- lucky: string[];
40
- /** 美人图,仅周三 / 五 / 六 / 日 返回 */
41
- draw?: string[];
42
- /** 阵营首领,仅周三 / 五 返回 */
43
- leader?: string[];
44
- }
45
- /** mode=day 的单日日常活动,比 mode=list 的条目多一个 weekly 字段 */
46
- export interface ActiveCalendarDay extends ActiveCalendarEntry {
47
- /** 每周秘境 / 团本(仅 mode=day 返回) */
13
+ war: string;
14
+ week: string;
48
15
  weekly: {
49
- conn: string[];
50
- raid: string[];
16
+ conn: Array<string>;
17
+ raid: Array<string>;
51
18
  };
52
19
  }
53
- /** mode=list 的区间日常。条目不含 weekly 字段 */
20
+ /** 多日日常。 */
54
21
  export interface ActiveCalendarList {
55
22
  today: {
56
23
  date: string;
24
+ day: string;
25
+ month: string;
57
26
  week: string;
58
27
  year: string;
59
- month: string;
60
- day: string;
61
28
  };
62
- /** 前后区间内的每日活动,不含 weekly */
63
- total: ActiveCalendarEntry[];
29
+ total: Array<{
30
+ battle: string;
31
+ card: Array<string>;
32
+ date: string;
33
+ draw?: Array<string>;
34
+ leader?: Array<string>;
35
+ lucky: Array<string>;
36
+ orecar: string;
37
+ rescue: string;
38
+ school: string;
39
+ war: string;
40
+ week: string;
41
+ }>;
64
42
  }
65
- /** 楚天社 / 云从社 / 披风会排期 */
43
+ /** 地图活动;依据新版接口实测响应。 */
66
44
  export interface CelebActivity {
67
- map: string;
68
- stage: string;
69
- site: string;
70
45
  desc: string;
71
46
  icon: string;
47
+ map: string;
48
+ site: string;
49
+ stage: string;
72
50
  time: string;
73
51
  }
52
+ /** 名剑排行;依据新版接口实测响应。 */
74
53
  export interface ArenaAwesomeItem {
75
- roleName: string;
76
- forceName: string;
77
54
  avatarUrl: string;
78
- /** 排名,字符串形式 */
55
+ forceName: string;
56
+ matchScore: string;
79
57
  rankNum: string;
80
- /** 排名变化 */
58
+ roleName: string;
81
59
  upNum: number;
82
- /** 胜率百分比整数 */
83
- winRate: number;
84
- /** 积分,字符串形式 */
85
- matchScore: string;
86
- }
87
- /** 某比赛模式下的战绩表现;该模式无记录时服务端返回空数组 */
88
- export interface ArenaPerformance {
89
- mmr: number;
90
- grade: number;
91
- ranking: string;
92
- winCount: number;
93
- totalCount: number;
94
- mvpCount: number;
95
- pvpType: string;
96
- winRate: number;
97
- }
98
- export interface ArenaHistoryItem {
99
- avgGrade: number;
100
- totalMmr: number;
101
- mmr: number;
102
- kungfu: string;
103
- pvpType: number;
104
- won: boolean;
105
- mvp: boolean;
106
- startTime: number;
107
- endTime: number;
108
- }
109
- export interface ArenaTrendItem {
110
- matchDate: number;
111
- mmr: number;
112
60
  winRate: number;
113
61
  }
62
+ /** 名剑战绩;依据新版接口实测响应。 */
114
63
  export interface ArenaRecentData {
115
- zoneName: string;
116
- serverName: string;
117
- roleName: string;
118
- roleId: string;
119
- globalId: string;
120
- forceName: string;
121
- forceId: number;
122
- bodyName: string;
123
64
  bodyId: number;
124
- tongName: string;
125
- tongId: number;
126
- campName: string;
65
+ bodyName: string;
127
66
  campId: number;
128
- /**
129
- * 各模式战绩表现,键为 '2v2' / '3v3' / '5v5'(不指定 mode 时三个都在,指定 mode 时仅该模式)。
130
- * 该模式无记录时值为空数组而非对象。
131
- */
132
- performance: Record<string, ArenaPerformance | [
133
- ]>;
134
- /** 历史对战记录 */
135
- history: ArenaHistoryItem[];
136
- /** 仅在指定 mode 时返回的趋势数据 */
137
- trend?: ArenaTrendItem[];
138
- }
139
- /** 名剑门派周统计 */
67
+ campName: string;
68
+ forceId: number;
69
+ forceName: string;
70
+ globalId: string;
71
+ history: Array<{
72
+ avgGrade: number;
73
+ endTime: number;
74
+ kungfu: string;
75
+ mmr: number;
76
+ mvp: boolean;
77
+ pvpType: number;
78
+ startTime: number;
79
+ totalMmr: number;
80
+ won: boolean;
81
+ }>;
82
+ performance: Record<string, [] | {
83
+ grade: number;
84
+ mmr: number;
85
+ mvpCount: number;
86
+ pvpType: string;
87
+ ranking: string;
88
+ totalCount: number;
89
+ winCount: number;
90
+ winRate: number;
91
+ }>;
92
+ roleId: string;
93
+ roleName: string;
94
+ serverName: string;
95
+ tongId: number;
96
+ tongName: string;
97
+ trend?: Array<{
98
+ matchDate: number;
99
+ mmr: number;
100
+ winRate: number;
101
+ }>;
102
+ zoneName: string;
103
+ }
104
+ /** 名剑统计;依据新版接口实测响应。 */
140
105
  export interface ArenaSchoolItem {
141
106
  forceName: string;
142
- thisWeek: number;
143
107
  lastWeek: number;
108
+ thisWeek: number;
144
109
  }
110
+ /** 阵营拍卖;依据新版接口实测响应。 */
145
111
  export interface AuctionRecord {
146
- zone: string;
147
- server: string;
148
- roleName: string;
149
112
  campName: string;
150
- itemName: string;
151
113
  itemAmount: string;
114
+ itemName: string;
115
+ roleName: string;
116
+ server: string;
152
117
  time: number;
118
+ zone: string;
153
119
  }
120
+ /** 帮战记录;依据新版接口实测响应。 */
154
121
  export interface BattleRecord {
155
- type: string;
156
- declaringName: string;
157
122
  acceptingName: string;
158
- startTime: number;
123
+ declaringName: string;
159
124
  durationSeconds: number;
160
- /** 进行中的帮战为 0 */
161
- endTime: number;
162
- winnerName: string;
163
- winnerScore: string;
164
- [key: string]: unknown;
125
+ endTime: null | number;
126
+ startTime: number;
127
+ type: string;
128
+ winnerName?: null | string;
129
+ winnerScore?: null | string;
165
130
  }
131
+ /** 角色名片。 */
166
132
  export interface CardRecord {
167
- zoneName: string;
168
- serverName: string;
169
- roleName: string;
170
- roleId: string;
133
+ cacheTime: number;
134
+ fileName: string;
171
135
  globalRoleId: string;
172
- showLike: number;
136
+ roleId: string;
137
+ roleName: string;
138
+ serverName: string;
139
+ showActive: boolean;
140
+ showAvatar: string;
173
141
  showHash: string;
174
- showActive?: boolean;
175
142
  showIndex: number;
176
- showAvatar: string;
177
- fileName: string;
178
- cacheTime: number;
143
+ showLike: number;
144
+ zoneName: string;
179
145
  }
146
+ /** 名片详情;依据新版接口实测响应。 */
180
147
  export interface CardPreset {
181
148
  praiseTotalCount: number;
182
149
  showCardPresetUrl: string;
183
150
  }
184
- export interface CardRandom {
185
- zoneName: string;
186
- serverName: string;
187
- roleName: string;
188
- roleId: string;
189
- globalRoleId: string;
190
- showHash: string;
191
- showAvatar: string;
192
- fileName: string;
193
- }
151
+ /** 名片历史;依据新版接口实测响应。 */
194
152
  export interface CardHistoryItem {
195
- zoneName: string;
196
- serverName: string;
153
+ cacheTime: number;
154
+ fileName: string;
197
155
  globalRoleId: string;
156
+ roleId: string;
198
157
  roleName: string;
199
- fileName: string;
200
- showHash: string;
158
+ serverName: string;
201
159
  showActive: boolean;
202
- showIndex: number;
203
160
  showAvatar: string;
204
- lastEditTime: number;
161
+ showHash: string;
162
+ showIndex: number;
163
+ showLike: number;
164
+ zoneName: string;
205
165
  }
206
- export interface CastleStatusGroup {
207
- server: string;
208
- data: Array<{
209
- zone: string;
166
+ /** 角色聊天;依据新版接口实测响应。 */
167
+ export interface ChatRecordsData {
168
+ list: Array<{
169
+ channel: string;
170
+ globalId: string;
171
+ message: string;
172
+ roleId: string;
173
+ roleName: string;
210
174
  server: string;
211
- leader: string;
212
- campName: string;
213
- castle: string;
214
- status: number;
215
- statusText: string;
216
- startTime: number;
217
- endTime: number;
175
+ time: number;
176
+ zone: string;
218
177
  }>;
178
+ total: number;
219
179
  }
220
- /** 今日赤兔记录,与本周赤兔共用记录结构 */
221
- export interface ChituRecord extends ChituWeekRecord {
222
- }
223
- /** 本周赤兔记录 */
180
+ /** 合并补充记录后的聊天内容,部分记录包含来源字段。 */
181
+ export type ChatContentItem = ChatRecordsData['list'][number] & {
182
+ source?: string;
183
+ };
184
+ /** 本周赤兔;time 和 window 的可空性依据官方响应 schema。 */
224
185
  export interface ChituWeekRecord {
225
- server: string;
226
- mapName: string;
227
- horse: string;
228
- /** 日期,格式 YYYY-MM-DD */
229
186
  date: string;
230
- /** 秒级时间戳,无具体时间时为 null */
231
- time: number | null;
187
+ horse: string;
188
+ mapName: string;
189
+ server: string;
232
190
  status: string;
233
- /** 预计刷新时间段,如 "21:07~21:12";无时间段时为 null */
191
+ time: number | null;
234
192
  window: string | null;
193
+ }
194
+ /** 今日赤兔:用户确认业务数据结构沿用旧版,仅外层响应信封变更。 */
195
+ export interface ChituRecord extends ChituWeekRecord {
235
196
  note: string | null;
236
197
  }
237
- /** 本周赤兔记录列表 */
238
198
  export type ChituWeekRecords = ChituWeekRecord[];
239
- /** 聊天内容:合并去重后的单条记录(2026-10-24 梦江南「马男」实测) */
240
- export interface ChatContentItem {
241
- zone: string;
242
- server: string;
243
- roleName: string;
244
- roleId: string;
245
- globalId: string;
246
- channel: string;
247
- message: string;
248
- /** 秒级时间戳 */
249
- time: number;
250
- /** 记录来源,部分记录不返回此字段 */
251
- source?: string;
252
- }
253
- export interface DuowanStatisticsGroup {
254
- server: string;
199
+ /** 答案之书;依据新版接口实测响应。 */
200
+ export interface ChoiceAnswerData {
201
+ answer: string;
202
+ hearten: string;
203
+ }
204
+ /** 喝什么;依据新版接口实测响应。 */
205
+ export type ChoiceDrinkData = Array<string>;
206
+ /** 吃什么;依据新版接口实测响应。 */
207
+ export type ChoiceFoodData = Array<string>;
208
+ /** 编辑器;依据新版接口实测响应。 */
209
+ export interface EditorSearchData {
210
+ code: number;
255
211
  data: Array<{
256
- sid: number;
257
- logoUrl: string;
258
- users: number;
259
- snick: string;
260
- limit: number;
261
- logo: number;
262
- asid: number;
263
- esid: string;
264
- campName: string;
212
+ aliases_json: string;
213
+ bodies_json: string;
214
+ category: string;
215
+ code_key: string;
216
+ code_raw: string;
217
+ confidence: number;
218
+ display_name: string;
219
+ form_id: string;
220
+ id: number;
221
+ img: string;
222
+ item_image: string;
223
+ matched_beichen_ids_json: string;
224
+ name: string;
225
+ part: string;
226
+ primary_name: string;
227
+ raw_source: string;
228
+ review_status: string;
229
+ side: string;
230
+ source_raw_id: string;
231
+ type: string;
232
+ type_image: string;
265
233
  }>;
234
+ pagination: {
235
+ current_page: number;
236
+ page_size: number;
237
+ total: number;
238
+ total_pages: number;
239
+ };
240
+ source: string;
241
+ source_priority: string;
266
242
  }
243
+ /** 奇遇汇总;依据新版接口实测响应。 */
267
244
  export interface EventCollectItem {
268
- zone: string;
269
- server: string;
270
- event: string;
271
245
  count: number;
246
+ event: string;
272
247
  last: {
273
248
  name: string;
274
249
  time: number;
275
- } | null;
276
- }
277
- export interface EventMissingItem {
278
- name: string;
279
- type: string;
280
- level: number;
250
+ };
251
+ server: string;
252
+ zone: string;
281
253
  }
254
+ /** 近期奇遇;依据新版接口实测响应。 */
282
255
  export interface EventRecentItem {
283
- zone: string;
284
- server: string;
285
256
  event: string;
286
257
  name: string;
258
+ server: string;
287
259
  source: number;
288
260
  status: number;
289
261
  time: number;
262
+ zone: string;
290
263
  }
264
+ /** 奇遇记录;source、status 和 time 的可空性依据官方响应 schema。 */
291
265
  export interface EventRecordItem {
292
- zone: string;
293
- server: string;
294
- name: string;
295
266
  event: string;
296
267
  level: number;
297
- status: number;
298
- source: number;
299
- time: number;
268
+ name: string;
269
+ server: string;
270
+ source: number | null;
271
+ status: number | null;
272
+ time: number | null;
273
+ zone: string;
300
274
  }
275
+ /** 奇遇统计;依据新版接口实测响应。 */
301
276
  export interface EventStatisticsItem {
302
- zone: string;
303
- server: string;
304
277
  event: string;
305
278
  name: string;
279
+ server: string;
306
280
  source: number;
307
281
  status: number;
308
282
  time: number;
283
+ zone: string;
309
284
  }
285
+ /** 奇遇攻略;依据新版接口实测响应。 */
310
286
  export interface EventStrategy {
311
287
  box: number;
312
- type: string;
313
- name: string;
314
288
  level: number;
315
- [key: string]: unknown;
289
+ name: string;
290
+ type: string;
316
291
  }
292
+ /** 科举答案;依据新版接口实测响应。 */
317
293
  export interface ExamAnswer {
318
- question: string;
319
294
  answer: string;
320
- correctness: number;
295
+ correctness: null | number;
321
296
  index: number;
297
+ question: string;
322
298
  }
323
- export interface FenxianRecord {
324
- fenxianName: string;
325
- seizeTime: number;
326
- campName: string;
327
- friendName: string;
328
- roleName: string;
329
- }
330
- /** 烟花记录 */
299
+ /** 烟花记录;依据新版接口实测响应。 */
331
300
  export interface FireworkRecord {
332
- zone: string;
333
- server: string;
334
- mapName: string;
335
- sender: string;
336
- receiver: string;
337
301
  firework: string;
302
+ mapName: string;
338
303
  matched: number;
304
+ receiver: string;
305
+ sender: string;
306
+ server: string;
339
307
  status: number;
340
- /** 秒级时间戳 */
341
308
  time: number;
309
+ zone: string;
342
310
  }
311
+ /** 小吃小药;依据新版接口实测响应。 */
343
312
  export interface FoodItem {
344
- school: string;
345
- kungfu: string;
346
- color: string;
313
+ boost: string;
347
314
  class: string;
315
+ color: string;
316
+ kungfu: string;
348
317
  name: string;
349
- boost: string;
318
+ school: string;
350
319
  }
351
- /** 骗子记录(来自贴吧曝光帖) */
320
+ /** 骗子查询;依据新版接口实测响应。 */
352
321
  export interface FraudRecord {
353
- tid: number;
354
322
  author: string;
355
323
  commented: boolean;
356
324
  content: string;
357
325
  created: number;
358
326
  pid: number;
359
327
  status: number;
328
+ tid: number;
360
329
  tieba: string;
361
330
  title: string;
362
- uid: number;
331
+ uid: number | string;
363
332
  }
364
- export interface FlowerPrice {
333
+ /** 家园鲜花;依据新版接口实测响应。 */
334
+ export type HomeFlowerData = Record<string, Array<{
335
+ color: null | string;
336
+ line: Array<string>;
365
337
  name: string;
366
- color: string;
367
338
  price: number;
368
- line: string[];
369
- }
370
- /** 键为地图名(如「枫叶泊·天苑」) */
371
- export type HomeFlowerData = Record<string, FlowerPrice[]>;
372
- /**
373
- * 家园装饰 / 器物条目。`/home/furniture` 与 `/home/travel` 返回结构完全一致。
374
- *
375
- * 注意:数值型字段服务端一律返回**字符串**(如 `"1000"`),需要计算时自行 `Number()` 转换。
376
- * 两个接口都要求完整精确的名称,模糊名会返回 `code: 400 参数不正确`。
377
- */
378
- export interface HomeFurniture {
379
- /** 装饰名称 */
380
- name: string;
381
- /** 装饰类型 ID,数字字符串 */
382
- type: string;
383
- /** 颜色 ID,数字字符串 */
384
- color: string;
385
- /** 获取来源,如 "大水南方令" */
386
- source: string;
387
- /** 是否为建筑,数字字符串("0" / "1") */
388
- architecture: string;
389
- /** 可摆放上限,数字字符串 */
390
- limit: string;
391
- /** 装饰度,数字字符串 */
392
- quality: string;
393
- /** 观赏值,数字字符串 */
394
- view: string;
395
- /** 实用值,数字字符串 */
396
- practical: string;
397
- /** 坚固值,数字字符串 */
398
- hard: string;
399
- /** 风水值,数字字符串 */
400
- geomantic: string;
401
- /** 趣味值,数字字符串 */
402
- interesting: string;
403
- /**
404
- * 产出来源,如 `"万花"`(宠物游历产出的器物);无产出时为 null(多数家园装饰)。
405
- */
406
- produce: string | null;
407
- /** 图标图片 URL */
408
- image: string;
409
- /** 描述文案。装饰多为诗句,器物多为 "产出地图:xxx" */
410
- tip: string;
411
- }
412
- /** 器物图谱条目,与 {@link HomeFurniture} 结构完全一致 */
413
- export type HomeTravelItem = HomeFurniture;
339
+ }>>;
340
+ /** 秘境方位;依据新版接口实测响应。 */
414
341
  export interface MechDecrypt {
415
- nowTime: string;
416
- nowNode: string;
417
- nowResult: string;
342
+ intervalTime: string;
418
343
  nextNode: string;
419
344
  nextResult: string;
420
- intervalTime: string;
345
+ nowNode: string;
346
+ nowResult: string;
347
+ nowTime: string;
421
348
  }
349
+ /** 师徒列表;依据新版接口实测响应。 */
422
350
  export interface MentorItem {
351
+ bodyId: number;
352
+ bodyName: string;
353
+ campId: number;
354
+ campName: string;
355
+ commentText: string;
423
356
  forceId: number;
357
+ forceName: string;
424
358
  mapId: number;
425
359
  miniAvatorId: number;
426
360
  roleId: number;
427
- roleType: number;
428
- tongId: number;
429
- campId: number;
430
361
  roleLevel: number;
431
- tongMemberCount: number;
432
- commentText: string;
433
362
  roleName: string;
363
+ tongId: number;
434
364
  tongMasterName: string;
365
+ tongMemberCount: number;
435
366
  tongName: string;
436
- [key: string]: unknown;
437
- }
438
- /** 百战单条技能(客户端原始字段) */
439
- export interface MonsterSkill {
440
- /** 是否已废弃 */
441
- bDeprecated: boolean;
442
- /** 内部技能 ID */
443
- dwInSkillID: number;
444
- /** 外部技能 ID */
445
- dwOutSkillID: number;
446
- /** 品质颜色档(0~7) */
447
- nColor: number;
448
- /** 消耗(精力/体力点数) */
449
- nCost: number;
450
- /** 技能等级。部分技能无此字段(实测 156 条中 130 条有) */
451
- nLevel?: number;
452
- /** 性别限制:0=通用 / 1=男 / 2=女 */
453
- nSex: number;
454
- /** 首领编号,数字字符串;部分技能为空串(如恶战/通用技能) */
455
- szBoss: string;
456
- /** 首领名称,多首领用「、」或「;」分隔(如 "钱宗龙、杜姬欣"、"恶战;上衫勇刀") */
457
- szBossName: string;
458
- /** 技能名称 */
459
- szSkillName: string;
460
- /** 技能类型标签,分号分隔的数字串(如 "1;3;10") */
461
- szType: string;
462
- }
463
- /** 角色百战技能配装 */
367
+ }
368
+ /** 角色百战;依据新版接口实测响应。 */
464
369
  export interface MonsterRecords {
465
- zone: string;
466
- server: string;
467
- roleName: string;
468
- roleId: string;
469
370
  globalId: string;
470
- /** 体力属性 */
471
- skillStamina: number;
472
- /** 精力属性 */
473
- skillEnergy: number;
474
- /** 有等级技能数(非 skillList 长度,实测 skillList 含无等级技能) */
371
+ roleId: string;
372
+ roleName: string;
373
+ server: string;
475
374
  skillCount: number;
476
- /** 技能列表 */
477
- skillList: MonsterSkill[];
478
- /** 数据更新时间戳(秒) */
375
+ skillEnergy: number;
376
+ skillList: Array<{
377
+ bDeprecated?: boolean;
378
+ dwInSkillID?: number;
379
+ dwOutSkillID?: number;
380
+ is_deprecated?: boolean;
381
+ leader_name?: string;
382
+ nColor?: number;
383
+ nCost?: number;
384
+ nLevel?: number;
385
+ nSex?: number;
386
+ skill_color?: number;
387
+ skill_cost?: number;
388
+ skill_level?: number;
389
+ skill_name?: string;
390
+ szBoss?: string;
391
+ szBossName?: string;
392
+ szSkillName?: string;
393
+ szType?: string;
394
+ }>;
395
+ skillStamina: number;
479
396
  updateTime: number;
397
+ zone: string;
480
398
  }
481
- /** 百战异闻录单层关卡 */
482
- export interface MonsterWeeklyLayer {
483
- /** 层数,从 1 起 */
484
- index: number;
485
- /** 该层怪物名称 */
486
- name: string;
487
- /** 该层怪物技能名列表(实测 3~8 个) */
488
- skill: string[];
489
- /**
490
- * 该层修罗之印效果。无特殊效果时为占位对象 `{ name: "无", list: [], desc: "无" }`,
491
- * 判断有无效果用 `data.name !== '无'`。
492
- */
493
- data: {
494
- /** 效果名称,如 "因陀罗的护佑";无效果时为 "无" */
495
- name: string;
496
- /** 效果标签列表,如 ["随机前进", "+100"];无效果时为空数组 */
497
- list: string[];
498
- /** 效果描述;无效果时为 "无" */
499
- desc: string;
500
- };
501
- }
502
- /** 本周百战异闻录(周常首领榜) */
399
+ /** 百战首领;依据新版接口实测响应。 */
503
400
  export interface MonsterWeekly {
504
- /** 游戏周序号,数字字符串,如 "30" */
505
- week: string;
506
- /** 本周开始时间戳(秒) */
507
- start: number;
508
- /** 本周结束时间戳(秒) */
509
- end: number;
510
- /** 本周首领名称 */
511
401
  boss: string;
512
- /** 100 层关卡列表 */
513
- list: MonsterWeeklyLayer[];
402
+ end: number;
403
+ list: Array<{
404
+ data: {
405
+ desc: string;
406
+ list: Array<string>;
407
+ name: string;
408
+ };
409
+ index: number;
410
+ name: string;
411
+ skill: Array<string>;
412
+ }>;
413
+ start: number;
414
+ week: string;
514
415
  }
416
+ /** 官方资讯;新闻与维护公告保留原始 desc 字段。 */
515
417
  export interface NewsItem {
516
418
  catid: string;
517
419
  date: string;
420
+ desc: {
421
+ app_allow_comment?: string;
422
+ app_is_recommended?: string;
423
+ asktime?: string;
424
+ author_live?: string;
425
+ author_live_icon?: string;
426
+ catid?: string;
427
+ check_is_live?: string;
428
+ content: string;
429
+ description?: string;
430
+ ext_data?: null;
431
+ id?: string;
432
+ inputtime: number | string;
433
+ islink?: string;
434
+ keywords?: string;
435
+ listorder?: string;
436
+ live_author?: string;
437
+ live_author_icon?: string;
438
+ live_status?: string;
439
+ oid?: string;
440
+ style?: string;
441
+ thumb?: string;
442
+ title: string;
443
+ top?: string;
444
+ updatetime?: string;
445
+ url?: string;
446
+ };
518
447
  title: string;
519
448
  type: string;
520
449
  url: string;
521
450
  }
522
- export interface RaidDropItem {
523
- id: string;
524
- name: string;
525
- icon: number;
526
- color: number;
527
- }
528
- export interface RaidDropData {
529
- /** awards[i] 为 boss[i] 的掉落物品列表 */
530
- awards: RaidDropItem[][];
531
- boss: string[];
532
- /** 副本名称,沿用上游字段拼写 */
533
- dugeon: string;
534
- boss_rules: string[];
535
- req_id: string;
536
- }
537
- export interface RaidFlipReward {
538
- v: RaidDropItem;
539
- count: number;
540
- }
541
- export interface RaidFlipData {
542
- /** 模板名,例如 "shilian" */
543
- tpl: string;
544
- /** 依次按试炼层、翻牌、奖励条目索引 */
545
- result: RaidFlipReward[][][];
546
- data: {
547
- valids: number[];
548
- level: number;
549
- attacks: string;
550
- };
551
- req_id: string;
552
- }
553
- export interface RaidProgress {
554
- mapName: string;
555
- mapId: number;
556
- bossCount: number;
557
- bossFinished: number;
558
- bossProgress: Array<{
559
- name: string;
560
- index: number;
561
- progressId: number;
562
- finished: boolean;
563
- }>;
564
- }
565
- /** 键为地图名,值为「下一匹 X 出世还有 N 分钟」推算出的预计时刻列表 */
566
- export type RanchChatData = Record<string, string[]>;
567
- /** 马场事件响应数据,位于主站响应信封的 `data` 字段 */
451
+ /** 马场预告;官方响应 schema 允许返回空数组。 */
452
+ export type RanchChatData = Record<string, Array<string>> | [];
453
+ /** 马场事件;依据新版接口实测响应。 */
568
454
  export interface RanchRecordsData {
569
- /** 大区名称,如 "双线区" */
570
- zone: string;
571
- /** 服务器名称,如 "破阵子" */
572
- server: string;
573
- /**
574
- * 键为地图名,可能包含进图时间,如 "龙泉府 / 进图(21:10)"。
575
- * 值为预告文本列表,如 ["的卢(10/16 21:15)"] 或 ["时间尚久,无法预知。"]。
576
- */
577
- data: Record<string, string[]>;
578
- /** 出世记录及提示文本,保留原始换行,如 "赤兔已出世·鲲鹏岛(10/07 21:52)\n\n数据仅供参考,请以游戏内为准。" */
455
+ data: Record<string, Array<string>>;
579
456
  note: string;
580
- }
581
- export interface RankArenaGroup {
582
- mode: number;
583
- name: string;
584
- server: string;
585
- data: Array<{
586
- centerId: number;
587
- corpsId: number;
588
- corpsName: string;
589
- corpsLevel: number;
590
- seasonWinCount: number;
591
- seasonLoseCount: number;
592
- seasonTotalCount: number;
593
- }>;
594
- time: number;
595
- }
596
- export interface RankChampionshipGroup {
597
- mode: number;
598
- name: string;
599
- server: string;
600
- data: Array<{
601
- centerId: number;
602
- tongId: number;
603
- tongName: string;
604
- masterName: string;
605
- campName: number;
606
- winCount: number;
607
- loseCount: number;
608
- totalScore: number;
609
- lastMatchTime: number;
610
- }>;
611
- time: number;
612
- }
613
- export interface RankBountyItem {
614
- name: string;
615
- tongName: string;
616
- playerId: number;
617
- forceId: number;
618
- camp: number;
619
- roleType: number;
620
- score: number;
621
- customValue0: number;
622
- customValue1: number;
623
- customValue2: number;
624
- customValue3: number;
625
- customValue4: number;
626
- customValue5: number;
627
- [key: string]: unknown;
628
- }
629
- /** 江湖浪客 / 捕快荣誉榜(bounty 合集,字段一致) */
630
- export interface RankBountyGroup {
631
- mode: number;
632
- name: string;
633
457
  server: string;
634
- data: RankBountyItem[];
635
- time: number;
636
- }
637
- export interface RankStatisticsGroup {
638
458
  zone: string;
639
- server: string;
640
- name: string;
641
- data: Array<{
642
- name: string;
643
- level: number;
644
- campName: string;
645
- tongName: string;
646
- forceName: string;
647
- totalScore: number;
648
- }>;
649
- time: number;
650
459
  }
651
- /** 试炼之地榜单条目 */
652
- export interface RankTrialsItem {
653
- /** 角色名。跨服角色带 "@原服务器" 后缀,如 "快雪似情@斗转星移" */
654
- roleName: string;
655
- /** 最高通关层数 */
656
- maxLevel: number;
657
- /** 总分 */
658
- totalScore: number;
659
- /** 装备分 */
660
- equipScore: number;
661
- }
662
- /**
663
- * 试炼之地榜(按心法分组)。
664
- * 注意接口的 `name` 参数是**心法名**(如 "花间游"),不是榜单名。
665
- */
666
- export interface RankTrialsGroup {
667
- /** 心法名称 */
668
- name: string;
669
- server: string;
460
+ /** /rank/battle 榜单原始条目。 */
461
+ export interface RankBattleItem {
462
+ ASSIST_KILL_COUNT: number;
463
+ AVRG_EQUIP_SCORE: number;
464
+ AVRG_LIVE_TIME: number;
465
+ BATTLE_ROUNDS: number;
466
+ BEST_ASSIST_KILL_COUNT: number;
467
+ BEST_EQUIP_SCORE: number;
468
+ COMBAT_KILL_COUNT: number;
469
+ CUSTOM_VALUE1: number;
470
+ CUSTOM_VALUE2: number;
471
+ CUSTOM_VALUE3: number;
472
+ INJURY: number;
473
+ KILL_COUNT: number;
474
+ LAST_ROUND_EQUIP_SCORE: number;
475
+ LAST_ROUND_LIVE_TIME: number;
476
+ MATCH_LEVEL: number;
477
+ SUM_ASSIST_KILL_COUNT: number;
478
+ SUM_KILL_COUNT: number;
479
+ SUM_LIVE_COUNT: number;
480
+ THERAPY: number;
481
+ TOP_COUNT: number;
482
+ TOTAL_DAMAGE: number;
483
+ byForceID: number;
484
+ byType: number;
485
+ dwMiniAvatarID: number;
486
+ nCenterID: number;
487
+ nRank: number;
488
+ szName: string;
489
+ szTongName: string;
490
+ uGlobalRoleID: string;
491
+ }
492
+ /** 指定服务器的榜单;未指定服务器时接口返回分组数组。 */
493
+ export interface RankGroup<T> {
670
494
  zone: string;
671
- data: RankTrialsItem[];
672
- /** 榜单数据的采集时间 */
673
- time: number;
674
- }
675
- export interface RankWantedGroup {
676
495
  server: string;
677
- mode: string;
678
- name: string;
679
- data: Array<{
680
- name: string;
681
- payerName: string;
682
- money: number;
683
- timeOut: number;
684
- forceId: number;
685
- forceName: string;
686
- campId: number | null;
687
- campName: string | null;
688
- mapId: number;
689
- tongId: number;
690
- tongName: string;
691
- roleType: number;
692
- }>;
496
+ label: string;
693
497
  time: number;
694
- }
695
- /** 赛季试炼信息 */
696
- export interface TrialSeason {
697
- /** 赛季名称,如 "暗影千机" */
698
- season: string;
699
- /** 最高层数 */
700
- maxFloor: number;
701
- /** 该赛季的首领名称列表 */
702
- bosses: string[];
703
- }
704
- /** 试炼秒伤——单个首领的血量与秒伤需求 */
705
- export interface TrialBossDps {
706
- /** 首领名称 */
707
- boss: string;
708
- /** 血量 */
709
- hp: number;
710
- /** 承伤分组,实测取值 "short"(短读条)/ "main"(本体)/ "clone"(分身) */
711
- group: string;
712
- /** 完美秒伤需求;无独立秒伤要求的首领(如分身)为 null */
713
- perfectDps: number | null;
714
- /** 通关秒伤需求;无独立秒伤要求的首领(如分身)为 null */
715
- clearDps: number | null;
716
- /** 备注,如 "仅计算本体承伤";无备注为 null */
717
- note: string | null;
718
- }
719
- /** 试炼秒伤:指定赛季 + 层数下各首领的血量与秒伤需求 */
720
- export interface TrialBosses {
721
- season: string;
722
- floor: number;
723
- /** 每层血量成长系数 */
724
- hpGrowth: number;
725
- bosses: TrialBossDps[];
726
- }
498
+ data: T[];
499
+ }
500
+ /** /rank/battle 的服务器分组。 */
501
+ export type RankBattleGroup = RankGroup<RankBattleItem>;
502
+ /** /rank/castle 榜单原始条目。 */
503
+ export interface RankCastleItem {
504
+ byForceID: number;
505
+ byLevel: number;
506
+ dwMiniAvatarID: number;
507
+ nContribution: number;
508
+ szName: string;
509
+ szTongName: string;
510
+ }
511
+ /** /rank/castle 的服务器分组。 */
512
+ export type RankCastleGroup = RankGroup<RankCastleItem>;
513
+ /** /rank/contest 榜单原始条目。 */
514
+ export interface RankContestItem {
515
+ dwCenterID: number;
516
+ dwTongID: number;
517
+ eCamp: number;
518
+ nLastMatchTime: number;
519
+ nLose: number;
520
+ nRank: number;
521
+ nScore: number;
522
+ nWin: number;
523
+ szMasterName: string;
524
+ szTongName: string;
525
+ }
526
+ /** /rank/contest 的服务器分组。 */
527
+ export type RankContestGroup = RankGroup<RankContestItem>;
528
+ /** /rank/guild 榜单原始条目。 */
529
+ export interface RankGuildItem {
530
+ dwID?: number;
531
+ dwTongID?: number;
532
+ nForceID?: number;
533
+ nKey?: number;
534
+ nMaxLimit?: number;
535
+ nMaxMemberCount?: number;
536
+ nMemberCount?: number;
537
+ nRoleType?: number;
538
+ nScore?: number;
539
+ nSupplyPoint?: number;
540
+ nTitlePoint?: number;
541
+ nTotalPoint?: number;
542
+ szCampName?: string;
543
+ szCastleName?: string;
544
+ szMasterName: string;
545
+ szTongName: string;
546
+ }
547
+ /** /rank/guild 的服务器分组。 */
548
+ export type RankGuildGroup = RankGroup<RankGuildItem>;
549
+ /** /rank/jianghu 榜单原始条目。 */
550
+ export interface RankJianghuItem {
551
+ dwCustomValue0: number;
552
+ dwCustomValue1: number;
553
+ dwCustomValue2: number;
554
+ dwCustomValue3: number;
555
+ dwCustomValue4: number;
556
+ dwCustomValue5: number;
557
+ dwForceID: number;
558
+ dwPlayerID: number;
559
+ eCamp: number;
560
+ nRank: number;
561
+ nRoleType: number;
562
+ nScore: number;
563
+ szName: string;
564
+ szTongName: string;
565
+ }
566
+ /** /rank/jianghu 的服务器分组。 */
567
+ export type RankJianghuGroup = RankGroup<RankJianghuItem>;
568
+ /** /rank/ladder 榜单原始条目。 */
569
+ export interface RankLadderItem {
570
+ dwCenterID: number;
571
+ dwCorpsID: number;
572
+ dwMobileSeasonTotalCount: number;
573
+ dwMobileSeasonWinCount: number;
574
+ dwSeasonLoseCount: number;
575
+ dwSeasonTotalCount: number;
576
+ dwSeasonWinCount: number;
577
+ nCorpsLevel: number;
578
+ nRank: number;
579
+ szCorpsName: string;
580
+ }
581
+ /** /rank/ladder 的服务器分组。 */
582
+ export type RankLadderGroup = RankGroup<RankLadderItem>;
583
+ /** /rank/records 榜单原始条目。 */
584
+ export interface RankRecordsItem {
585
+ dwID?: number;
586
+ dwMiniAvatarID?: number;
587
+ nKey?: number;
588
+ nLevel: number;
589
+ nRank?: number;
590
+ nRoleType?: number;
591
+ nScore: number;
592
+ szCampName?: string;
593
+ szForceName: string;
594
+ szName: string;
595
+ szTongName: string;
596
+ }
597
+ /** /rank/records 的服务器分组。 */
598
+ export type RankRecordsGroup = RankGroup<RankRecordsItem>;
599
+ /** /rank/trials 榜单原始条目。 */
600
+ export interface RankTrialsItem {
601
+ "1": string;
602
+ "2": number;
603
+ "3": number;
604
+ "4": number;
605
+ dwID: number;
606
+ nKey: number;
607
+ }
608
+ /** /rank/trials 的服务器分组。 */
609
+ export type RankTrialsGroup = RankGroup<RankTrialsItem>;
610
+ /** /rank/wanted 榜单原始条目。 */
611
+ export interface RankWantedItem {
612
+ dwForceID: number;
613
+ dwMapID: number;
614
+ dwTongID: number;
615
+ nMoney: number;
616
+ nRank: number;
617
+ nRoleType: number;
618
+ nTimeOut: number;
619
+ szName: string;
620
+ szPayerName: string;
621
+ szTongName: string;
622
+ }
623
+ /** /rank/wanted 的服务器分组。 */
624
+ export type RankWantedGroup = RankGroup<RankWantedItem>;
625
+ /** 团队招募;依据新版接口实测响应。 */
727
626
  export interface RecruitItem {
728
627
  activityId: string;
729
628
  activityName: string;
730
- typeName: string;
731
- subTypeName: string;
732
- miniAvatarId: number;
629
+ campId: number;
630
+ campName: string;
631
+ commentText: string;
733
632
  createTime: number;
734
633
  currentMemberCount: number;
634
+ flagBits: number;
735
635
  forceId: number;
636
+ kungfuId: number;
637
+ labelIdComment: string;
638
+ labelIdTable: Array<number>;
736
639
  lastModifyTime: number;
640
+ maxMemberCount: number;
641
+ miniAvatarId: number;
642
+ roleLevel: number;
737
643
  roleName: string;
738
644
  roleType: number;
739
- roleLevel: number;
740
- kungfuId: number;
741
- campId: number;
742
- flagBits: number;
743
- commentText: string;
744
- labelIdTable: number[];
745
- labelIdComment: string;
645
+ subTypeName: string;
646
+ typeName: string;
746
647
  variantInfo: {
747
648
  isSwitchServer: boolean;
748
649
  publisherId: number;
749
650
  pushId: number;
750
651
  roleId: number;
751
652
  };
752
- [key: string]: unknown;
753
653
  }
654
+ /** 掉落统计;依据新版接口实测响应。 */
754
655
  export interface RewardRecord {
755
- zone: string;
756
- server: string;
757
- roleName: string;
758
- mapName: string;
759
- itemName: string;
760
656
  itemAmount: number;
761
- time: number;
762
- }
763
- /** 成就关联的地图 */
764
- export interface AchievementMap {
765
- icon: string;
766
- id: number;
767
- name: string;
768
- type: string;
769
- }
770
- /** 成就奖励物品(无奖励时成就的 rewardItem 为 null) */
771
- export interface AchievementRewardItem {
772
- icon: string;
773
- /** 物品 ID,字符串(注意与成就自身的数字 id 不同) */
774
- id: string;
775
- name: string;
776
- }
777
- /** 子成就(成套成就的子项) */
778
- export interface AchievementSubItem {
779
- icon: string;
780
- id: number;
781
- isFinished: boolean;
782
- name: string;
783
- }
784
- /** 单条成就 */
785
- export interface Achievement {
786
- /** 大类,如 "江湖行" */
787
- class: string;
788
- /** 子类,如 "秘境" */
789
- subClass: string;
790
- /** 当前进度值 */
791
- currentValue: number;
792
- /** 达成所需的目标值 */
793
- triggerValue: number;
794
- /** 成就描述 */
795
- desc: string;
796
- /** 出处说明,如 "安史之乱·团队传说" */
797
- detail: string;
798
- /** 图标 URL */
799
- icon: string;
800
- /** 成就 ID */
801
- id: number;
802
- /** 该角色是否已完成 */
803
- isFinished: boolean;
804
- /** 是否已收藏 */
805
- isFav: boolean;
806
- /** 点赞数 */
807
- likes: number;
808
- /** 关联地图,无则为空数组 */
809
- maps: AchievementMap[];
810
- /** 成就名称 */
811
- name: string;
812
- /** 奖励物品,无奖励时为 null */
813
- rewardItem: AchievementRewardItem | null;
814
- /** 奖励成就点 */
815
- rewardPoint: number;
816
- /** 奖励前缀称号 */
817
- rewardPrefix: string;
818
- /** 奖励后缀称号 */
819
- rewardSuffix: string;
820
- /** 子成就列表,无则为空数组 */
821
- subset: AchievementSubItem[];
822
- /** 成就类型,如 "simple" */
823
- type: string;
824
- }
825
- /** 成就查询:角色名片 + 匹配到的成就列表(标记该角色完成情况) */
826
- export interface RoleAchievementData {
827
- zoneName: string;
828
- serverName: string;
657
+ itemName: string;
658
+ mapName: string;
829
659
  roleName: string;
830
- roleId: string;
831
- globalId: string;
832
- forceName: string;
833
- forceId: number;
834
- bodyName: string;
835
- bodyId: number;
836
- tongName: string;
837
- tongId: number;
838
- campName: string;
839
- campId: number;
840
- /** 按名称/分类/子类/详情模糊匹配到的成就 */
841
- data: Achievement[];
660
+ server: string;
661
+ time: number;
662
+ zone: string;
842
663
  }
664
+ /** 角色详情;依据新版接口实测响应。 */
843
665
  export interface RoleDetail {
844
- zoneName: string;
845
- serverName: string;
846
- roleName: string;
847
- roleId: string;
848
- globalId: string;
849
- forceName: string;
850
- forceId: number;
851
- bodyName: string;
852
666
  bodyId: number;
853
- tongName: string;
854
- tongId: number;
855
- campName: string;
667
+ bodyName: string;
856
668
  campId: number;
857
- /** history=1 时返回改名 / 帮会历史 */
669
+ campName: string;
670
+ forceId: number;
671
+ forceName: string;
672
+ globalId: string;
858
673
  roleHistory?: {
859
- roleNames: Array<{
674
+ TongNames: Array<{
860
675
  name: string;
861
676
  server: string;
862
677
  time: number;
863
678
  }>;
864
- TongNames: Array<{
679
+ roleNames: Array<{
865
680
  name: string;
866
681
  server: string;
867
682
  time: number;
868
683
  }>;
869
684
  };
685
+ roleId: string;
686
+ roleName: string;
687
+ serverName: string;
688
+ tongId: number;
689
+ tongName: string;
690
+ zoneName: string;
870
691
  }
871
- export interface SandRecordsData {
872
- zone: string;
692
+ /** 全服角色;依据新版接口实测响应。 */
693
+ export type RoleDetailsData = Array<{
694
+ _id: {
695
+ $oid: string;
696
+ };
697
+ body_id: number;
698
+ body_name: string;
699
+ camp_id: number;
700
+ camp_name: string;
701
+ created_at: string;
702
+ force_id: number;
703
+ force_name: string;
704
+ global_id: string;
705
+ role_id: string;
706
+ role_name: string;
873
707
  server: string;
874
- reset: number;
875
- update: number;
708
+ show_avatar: null | string;
709
+ show_count: null | number;
710
+ show_hash: null | string;
711
+ show_index: null | number;
712
+ tong_id: null | number;
713
+ tong_name: null | string;
714
+ updated_at: string;
715
+ zone: string;
716
+ }>;
717
+ /** 批量查询返回角色资料,省略数据库内部 _id。 */
718
+ export type RoleBatchItem = Omit<RoleDetailsData[number], '_id'>;
719
+ /** 沙盘据点;依据新版接口实测响应。 */
720
+ export interface SandRecordsData {
876
721
  data: Array<{
877
- tongId: number;
878
- tongName: string;
722
+ campId: number;
723
+ campName: string;
879
724
  castleId: number;
880
725
  castleName: string;
726
+ defendCount: number;
881
727
  masterId: number;
882
728
  masterName: string;
883
- campId: number;
884
- campName: string;
885
729
  ridePiece: number;
886
- defendCount: number;
730
+ tongId: number;
731
+ tongName: string;
887
732
  }>;
733
+ reset: number;
734
+ server: string;
735
+ update: number;
736
+ zone: string;
888
737
  }
889
- /** 分类语录,字段为 content */
738
+ /** 随机骚话;依据新版接口实测响应。 */
739
+ export interface SaohuaRandom {
740
+ text: string;
741
+ }
742
+ /** 分类语录;依据新版接口实测响应。 */
890
743
  export interface SaohuaContext {
891
744
  content: string;
892
745
  }
893
- /** 随机骚话 / 骚话小作文。注意字段是 `text`,与 {@link SaohuaContext} 的 `content` 不同 */
894
- export interface SaohuaRandom {
746
+ /** 渣男语录;依据新版接口实测响应。 */
747
+ export interface SaohuaZhananData {
895
748
  text: string;
896
749
  }
897
- export interface SchoolMatrix {
898
- name: string;
899
- skillName: string;
900
- data: Array<{
901
- desc: string;
902
- level: number;
903
- name: string;
904
- }>;
905
- }
750
+ /** 配装搜索;依据新版接口实测响应。 */
906
751
  export interface SchoolSearchItem {
907
- id: string;
908
- title: string;
752
+ commentCount: number;
909
753
  content: string;
910
- replyTimeUnix: number;
911
- publishTimeUnix: number;
754
+ equipShareId: string;
755
+ force: string;
756
+ id: string;
912
757
  kungfuId: string;
913
758
  kungfuName: string;
914
- score: number;
915
- force: string;
916
- equipShareId: string;
917
- commentCount: number;
918
759
  likeCount: number;
760
+ publishTimeUnix: number;
761
+ replyTimeUnix: number;
762
+ roleInfo: {
763
+ roleName: string;
764
+ schoolName: string;
765
+ serverName: string;
766
+ zoneName: string;
767
+ };
768
+ score: number;
919
769
  shareCount: number;
920
- tags: string[];
770
+ tags: Array<string>;
771
+ title: string;
921
772
  tuilanInfo: {
773
+ avatarUrl: string;
922
774
  nickname: string;
923
775
  personId: string;
924
- avatarUrl: string;
925
- };
926
- roleInfo: {
927
- zoneName: string;
928
- serverName: string;
929
- roleName: string;
930
- schoolName: string;
931
776
  };
932
- [key: string]: unknown;
933
777
  }
934
- /** 资历榜单条目(前 100 名) */
778
+ /** 资历榜单;依据新版接口实测响应。 */
935
779
  export interface SchoolSeniorityItem {
936
- zoneName: string;
937
- serverName: string;
938
- roleName: string;
939
- roleId: number;
940
- forceName: string;
941
- forceId: number;
942
- forceIcon: string;
943
780
  avatarUrl: string;
781
+ forceIcon: string;
782
+ forceId: number;
783
+ forceName: string;
784
+ roleId: number;
785
+ roleName: string;
944
786
  seniority: number;
787
+ serverName: string;
788
+ zoneName: string;
945
789
  }
946
- export interface SchoolSkillsGroup {
947
- class: string;
948
- data: Array<{
949
- name: string;
950
- simpleDesc: string;
951
- desc: string;
952
- specialDesc: string;
953
- interval: string;
954
- consumption: string;
955
- distance: string;
956
- icon: string;
957
- kind: string;
958
- subKind: string;
959
- releaseType: string;
960
- weapon: string;
961
- }>;
962
- }
963
- export interface SchoolTalentLevel {
964
- level: number;
965
- data: Array<{
966
- name: string;
967
- /** 1=招式 / 0=奇穴 */
968
- class: number;
969
- desc: string;
970
- icon: string;
971
- kind: string;
972
- subKind: string;
973
- }>;
790
+ /** 别名搜索;依据新版接口实测响应。 */
791
+ export interface ServerSearchData {
792
+ server: string;
974
793
  }
794
+ /** 开关服记录(type=1)。 */
975
795
  export interface ServerStatus {
976
- server: string;
977
- /** 上次开服时间(秒级时间戳) */
978
796
  lasttime: number;
979
- /** 上次维护 / 停服时间(秒级时间戳) */
797
+ server: string;
980
798
  shuttime: number;
981
- /** 0=正常 */
982
799
  status: number;
983
800
  zone: string;
984
801
  }
985
- export interface ShareStayItem {
986
- zone: string;
802
+ /** 官方在线状态(type 非 1)。 */
803
+ export interface ServerOnlineStatus {
987
804
  server: string;
988
- name: string;
805
+ status: string;
806
+ zone: string;
807
+ }
808
+ /** 游戏版本;依据新版接口实测响应。 */
809
+ export interface ServerVersionCheckData {
810
+ num: number;
811
+ size: string;
812
+ ver: string;
813
+ }
814
+ /** 蹲宠查询;依据新版接口实测响应。 */
815
+ export interface ShareStayItem {
989
816
  data: {
990
- npc_name: string;
991
817
  map_name: string;
992
- min_time: number;
993
818
  max_time: number;
819
+ min_time: number;
820
+ npc_name: string;
994
821
  };
822
+ name: string;
823
+ server: string;
995
824
  time: number;
825
+ zone: string;
996
826
  }
997
- export interface SiteIndex {
998
- title: string;
999
- version: string;
1000
- time: number;
1001
- }
827
+ /** 急速计算;依据新版接口实测响应。 */
1002
828
  export interface SkillCalculateItem {
1003
829
  duration: number;
1004
830
  hastePercent: number;
1005
831
  hastePercentLimit: number;
832
+ level: number;
1006
833
  nowFrame: number;
1007
- uNowFrame: number;
1008
834
  surplusNowFrame: number;
1009
- level: number;
835
+ uNowFrame: number;
1010
836
  }
1011
- /** 技改记录:一条武学调整公告 */
837
+ /** 技改记录;依据新版接口实测响应。 */
1012
838
  export interface SkillReworkItem {
1013
- /** 公告 ID */
1014
839
  id: number;
1015
- /** 公告标题 */
840
+ time: string;
1016
841
  title: string;
1017
- /** 官网公告链接 */
1018
842
  url: string;
1019
- /** 发布时间,格式 "YYYY-MM-DD HH:mm:ss" */
1020
- time: string;
1021
843
  }
1022
- export interface SoarNextItem {
1023
- zone: string;
844
+ /** 扶摇记录;status 和 time 的可空性依据官方响应 schema。 */
845
+ export interface SoarRecord {
1024
846
  server: string;
1025
- status: number;
1026
- time: number;
1027
- }
1028
- export interface SoundConverterParams {
1029
- /** 阿里云 appkey */
1030
- appkey: string;
1031
- /** 阿里云 AccessKeyId */
1032
- access: string;
1033
- /** 阿里云 AccessKeySecret */
1034
- secret: string;
1035
- /** 发音人,默认 Aitong */
1036
- voice?: string;
1037
- /** 音频编码,默认 mp3 */
1038
- format?: string;
1039
- /** 采样率,默认 16000 */
1040
- sample_rate?: number;
1041
- /** 音量,默认 "50" */
1042
- volume?: string;
1043
- /** 语速,默认 "0" */
1044
- speech_rate?: string;
1045
- /** 语调,默认 "0" */
1046
- pitch_rate?: string;
1047
- /** 语音内容 */
1048
- text: string;
1049
- }
1050
- /** 未实测:语音合成(需要用户自己的阿里云密钥) */
1051
- export interface SoundConverterData {
1052
- url?: string;
1053
- [key: string]: unknown;
847
+ status: number | null;
848
+ time: number | null;
849
+ zone: string;
1054
850
  }
851
+ /** 的卢记录;尚未拍卖的记录不含拍卖字段。 */
1055
852
  export interface SteedRecord {
1056
- zone: string;
1057
- server: string;
1058
- mapName: string;
1059
- refreshTime: number;
853
+ auctionAmount?: string;
854
+ auctionCampName?: string;
855
+ auctionRoleName?: string;
856
+ auctionTime?: number;
1060
857
  captureCampName: string;
1061
858
  captureRoleName: string;
1062
859
  captureTime: number;
1063
- auctionAmount: string;
1064
- auctionCampName: string;
1065
- auctionRoleName: string;
1066
- auctionTime: number;
1067
- }
1068
- export interface TiebaItemRecord {
860
+ mapName: string;
861
+ refreshTime: number;
862
+ server: string;
1069
863
  zone: string;
864
+ }
865
+ /** 全服各服务器最新的卢记录,无记录时 data 为 []。 */
866
+ export interface SteedServerRecord {
867
+ data: SteedRecord | [];
1070
868
  server: string;
1071
- name: string;
1072
- /** 帖子 tid */
1073
- url: number;
869
+ }
870
+ /** 外观记录;依据新版接口实测响应。 */
871
+ export interface TiebaItemRecord {
1074
872
  context: string;
1075
- reply: number;
1076
- token: string;
1077
873
  floor: number;
874
+ name: string;
875
+ reply: number;
876
+ server: string;
1078
877
  time: number;
878
+ token: string;
879
+ url: number;
880
+ zone: string;
1079
881
  }
882
+ /** 贴吧物价;依据新版接口实测响应。 */
883
+ export interface TiebaItemSalesData {
884
+ server: Array<{
885
+ date: string;
886
+ sale: number;
887
+ server: string;
888
+ value: number;
889
+ zone: string;
890
+ }>;
891
+ tieba: Array<{
892
+ date: string;
893
+ sale: number;
894
+ server: string;
895
+ value: number;
896
+ zone: string;
897
+ }>;
898
+ }
899
+ /** 随机帖子;依据新版接口实测响应。 */
1080
900
  export interface TiebaRandomItem {
1081
- zone: string;
1082
- server: string;
1083
- name: string;
1084
- /** 帖子 tid */
1085
- url: number;
1086
901
  date: string;
902
+ name: string;
903
+ server: string;
1087
904
  tags: string;
1088
905
  title: string;
906
+ url: number;
907
+ zone: string;
1089
908
  }
909
+ /** 用户确认沿用原字段类型;新版线上暂未取得成功响应,不声明任意扩展字段。 */
1090
910
  export interface TiebaSummary {
1091
911
  title: string;
1092
912
  category: string;
@@ -1094,296 +914,358 @@ export interface TiebaSummary {
1094
914
  characters: string[];
1095
915
  tl_dr: string;
1096
916
  summary: string;
1097
- [key: string]: unknown;
1098
917
  }
918
+ /** 金价行情;依据新版接口实测响应。 */
1099
919
  export interface TradeDemonItem {
1100
- zone: string;
920
+ "5173": null;
921
+ "7881": string;
922
+ date: string;
923
+ dd373: string;
1101
924
  server: string;
1102
925
  tieba: string;
1103
- wanbaolou: string;
1104
- dd373: string;
1105
926
  uu898: string;
1106
- '5173': string;
1107
- '7881': string;
927
+ wanbaolou: string;
928
+ zone: string;
929
+ }
930
+ /** 物品渠道价格;保留各渠道的可选字段。 */
931
+ export interface TradeItemRecords {
932
+ alias: string;
933
+ category: string;
1108
934
  date: string;
1109
- [key: string]: unknown;
935
+ desc: string;
936
+ list: Array<{
937
+ list: Array<{
938
+ date: string;
939
+ id?: string;
940
+ index?: string;
941
+ remainingTime?: number;
942
+ sale: number;
943
+ server: string;
944
+ source?: number;
945
+ status?: number;
946
+ token?: string;
947
+ value: number;
948
+ zone: string;
949
+ }>;
950
+ name: string;
951
+ }>;
952
+ name: string;
953
+ retail: number;
954
+ view: string;
1110
955
  }
956
+ /** 外观搜索;依据新版接口实测响应。 */
1111
957
  export interface TradeItemInfo {
958
+ alias: string;
1112
959
  category: string;
960
+ date: string;
961
+ desc: string;
1113
962
  name: string;
1114
- alias: string;
1115
963
  retail: number;
1116
- desc: string;
1117
- date: string;
1118
964
  view: string;
1119
965
  }
1120
- export interface TradeSaleRecord {
1121
- zone: string;
1122
- server: string;
1123
- date: string;
1124
- sale: number;
1125
- value: number;
1126
- }
1127
- /** 外观价格 / 物品价格:物品信息 + 按分区分组的历史成交 */
1128
- export interface TradeItemRecords extends TradeItemInfo {
1129
- list: Array<{
966
+ /** 成本计算;依据新版接口实测响应。 */
967
+ export interface TradeManufactureData {
968
+ costVigor: number;
969
+ createItemIndex: number;
970
+ createItemMax: number;
971
+ createItemMin: number;
972
+ exp: number;
973
+ iconId: number;
974
+ items: Array<{
975
+ genre: number;
976
+ iconId: number;
1130
977
  name: string;
1131
- list: TradeSaleRecord[];
978
+ price: number | {
979
+ avgPrice: number;
980
+ highestPrice: number;
981
+ lowestPrice: number;
982
+ sampleSize: number;
983
+ updatedAt: number;
984
+ };
985
+ quality: number;
986
+ quantity: number;
987
+ type: string;
1132
988
  }>;
1133
- }
1134
- export interface TradeManufactureData {
1135
- name: string;
1136
989
  level: number;
1137
- exp: number;
1138
- costVigor: number;
990
+ name: string;
991
+ price: {
992
+ avgPrice: number;
993
+ highestPrice: number;
994
+ lowestPrice: number;
995
+ sampleSize: number;
996
+ updatedAt: number;
997
+ };
1139
998
  quality: number;
1140
- iconId: number;
1141
- createItemMin: number;
1142
- createItemMax: number;
1143
- createItemIndex: number;
1144
999
  tipInfo: Array<{
1145
- text: string;
1146
- font: number;
1147
1000
  color: string;
1001
+ font: number;
1002
+ text: string;
1148
1003
  }>;
1149
- price: TradeManufacturePrice;
1150
1004
  total: {
1151
- subtotal: number;
1152
- lowestTotal: number;
1153
1005
  avgTotal: number;
1154
1006
  highestTotal: number;
1007
+ lowestTotal: number;
1008
+ subtotal: number;
1155
1009
  };
1156
- items: Array<{
1157
- type: string;
1158
- name: string;
1159
- quality: number;
1160
- genre: number;
1161
- iconId: number;
1162
- quantity: number;
1163
- price: TradeManufacturePrice;
1164
- }>;
1165
1010
  }
1166
- export interface TradeManufacturePrice {
1167
- lowestPrice: number;
1168
- avgPrice: number;
1169
- highestPrice: number;
1170
- sampleSize: number;
1171
- updatedAt: number;
1172
- }
1173
- /** 万宝楼编号搜索结果(字段按成功响应实测) */
1011
+ /** 编号搜索;依据新版接口实测响应。 */
1174
1012
  export interface TradeWanbaolouData {
1175
- /** 万宝楼编号,保留字符串以避免大整数精度丢失 */
1176
- id: string;
1177
- serverName: string;
1178
- roleName: string;
1179
- roleLevel: number;
1180
- followNum: number;
1181
- forceName: string;
1182
1013
  bodyName: string;
1183
- meetingNum: number;
1184
1014
  campName: string;
1185
- /** 装备评分,接口返回字符串 */
1186
1015
  equipScore: string;
1187
- seniorityNum: number;
1016
+ followNum: number;
1017
+ forceName: string;
1018
+ id: string;
1019
+ meetingNum: number;
1188
1020
  priceNum: number;
1189
- /** 交易状态码 */
1021
+ replyContent: string;
1022
+ replyTime: number;
1023
+ replyTitle: string;
1024
+ roleLevel: number;
1025
+ roleName: string;
1026
+ seniorityNum: number;
1027
+ serverName: string;
1190
1028
  tradeStatus: number;
1191
1029
  updatePrices: Array<{
1192
1030
  accoSeq: string;
1193
- /** 创建时间戳(毫秒) */
1194
1031
  createtime: number;
1195
1032
  updatePrice: number;
1196
- /** 调价时间戳(毫秒) */
1197
1033
  updateTime: number;
1198
1034
  zhanghaoId: string;
1199
1035
  }>;
1200
- replyTitle: string;
1201
- /** 交易说明,可能包含 HTML 标签 */
1202
- replyContent: string;
1203
- /** 时间戳(秒) */
1204
- replyTime: number;
1205
1036
  }
1206
- /** 万宝楼角色信息:保留上游 role_info2 的响应结构,位于主站信封的 data 中 */
1207
- export interface WanbaolouRoleData {
1208
- /** 上游业务码,成功为 200 */
1209
- code: number;
1210
- data: WanbaolouRoleItem[];
1037
+ /** 秒伤计算;依据新版接口实测响应。 */
1038
+ export interface TrialBosses {
1039
+ bosses: Array<{
1040
+ boss: string;
1041
+ clearDps: null | number;
1042
+ group: string;
1043
+ hp: number;
1044
+ note: null | string;
1045
+ perfectDps: null | number;
1046
+ }>;
1047
+ floor: number;
1048
+ hpGrowth: number;
1049
+ season: string;
1211
1050
  }
1212
- /** 万宝楼角色信息条目,字段保持上游原始命名 */
1213
- export interface WanbaolouRoleItem {
1214
- name: string;
1051
+ /** 赛季列表;依据新版接口实测响应。 */
1052
+ export interface TrialSeason {
1053
+ bosses: Array<string>;
1054
+ maxFloor: number;
1055
+ season: string;
1056
+ }
1057
+ /** 角色徽章;依据新版接口实测响应。 */
1058
+ export interface TuilanBadgeData {
1059
+ badge_data: Array<{
1060
+ icon: string;
1061
+ id: string;
1062
+ level: string;
1063
+ name: string;
1064
+ value: string;
1065
+ version: number;
1066
+ }>;
1067
+ }
1068
+ /** 统战语音;依据新版接口实测响应。 */
1069
+ export interface VoiceChannelGroup {
1070
+ data: Array<{
1071
+ asid: number;
1072
+ campName: string;
1073
+ esid?: string;
1074
+ limit: number;
1075
+ logo: number;
1076
+ logoUrl?: string;
1077
+ sid: number;
1078
+ snick?: string;
1079
+ users: number;
1080
+ }>;
1215
1081
  server: string;
1216
- roleid: string;
1082
+ }
1083
+ /** 角色信息;依据新版接口实测响应。 */
1084
+ export type WanbaolouRoleData = Array<{
1085
+ bodily: string;
1217
1086
  camp: string;
1218
- tong: string;
1219
- tongid: string;
1220
1087
  force: string;
1221
- bodily: string;
1222
1088
  globalid: string;
1223
- /** 改名 / 转服历史 */
1224
- name_history: Array<{
1089
+ guild_membership_observation: {
1090
+ camp: string;
1091
+ observed_at: number;
1092
+ roleid: string;
1225
1093
  server: string;
1094
+ tong: string;
1095
+ tongid: string;
1096
+ };
1097
+ name: string;
1098
+ name_history: Array<{
1226
1099
  name: string;
1227
- /** 秒级时间戳 */
1100
+ server: string;
1228
1101
  time: number;
1229
1102
  }>;
1230
- /** 帮会历史 */
1103
+ roleid: string;
1104
+ server: string;
1105
+ tong: string;
1231
1106
  tong_history: Array<{
1232
- /** 部分历史记录不返回服务器 */
1233
1107
  server?: string;
1234
- tongid: string;
1235
- tong: string;
1236
- /** 秒级时间戳 */
1237
1108
  time: number;
1109
+ tong: string;
1110
+ tongid: string;
1238
1111
  }>;
1239
- /** 秒级更新时间戳 */
1112
+ tongid: string;
1240
1113
  update_time: number;
1241
- /** 帮会成员身份观测信息 */
1242
- guild_membership_observation: {
1243
- server: string;
1244
- roleid: string;
1245
- tongid: string;
1246
- tong: string;
1247
- camp: string;
1248
- /** 秒级时间戳,可能含小数 */
1249
- observed_at: number;
1250
- };
1251
- /** 万宝楼角色匹配信息 */
1252
1114
  wbl_match: {
1253
- verified_identity: boolean;
1254
- verified_exact: boolean;
1115
+ explanation: string;
1116
+ match_percent: number;
1255
1117
  official_role_id: number;
1256
1118
  official_server: string;
1257
- match_percent: number;
1258
1119
  search_complete: boolean;
1259
- explanation: string;
1120
+ verified_exact: boolean;
1121
+ verified_identity: boolean;
1260
1122
  };
1261
- }
1262
- /** 万宝楼找人:订单详情与匹配角色列表 */
1123
+ }>;
1124
+ /** 搜索找人;依据新版接口实测响应。 */
1263
1125
  export interface WanbaolouOrderData {
1264
1126
  detail: {
1265
- /** 万宝楼订单编号,保留字符串以避免大整数精度丢失 */
1266
- order: string;
1267
- zoneName: string;
1268
- serverName: string;
1269
- roleName: string;
1270
- name: string;
1271
- forceName: string;
1272
1127
  bodyName: string;
1273
1128
  campName: string;
1129
+ endTime: number;
1130
+ ene: number;
1131
+ followedNum: number;
1132
+ forceName: string;
1133
+ name: string;
1134
+ order: string;
1135
+ price: number;
1136
+ pveScore: number;
1137
+ pvpScore: number;
1274
1138
  roleLevel: number;
1139
+ roleName: string;
1275
1140
  score: number;
1276
- pvpScore: number;
1277
- pveScore: number;
1278
1141
  seniority: number;
1279
- ene: number;
1142
+ serverName: string;
1280
1143
  sta: number;
1281
- price: number;
1282
1144
  state: number;
1283
- followedNum: number;
1284
- /** 结束时间戳(秒) */
1285
- endTime: number;
1145
+ tags: Array<string>;
1286
1146
  thumb: string;
1287
- tags: string[];
1147
+ zoneName: string;
1288
1148
  };
1289
1149
  result: Array<{
1290
- zoneName: string;
1291
- serverName: string;
1292
- roleName: string;
1293
- roleId: string;
1294
- globalId: string;
1295
- forceName: string;
1296
- forceId: number;
1297
- bodyName: string;
1298
1150
  bodyId: number;
1299
- tongName: string | null;
1300
- tongId: number | null;
1301
- campName: string | null;
1302
- campId: number | null;
1303
- ene: number | null;
1304
- sta: number | null;
1305
- /** 技能数据时间戳(秒),无数据时为 null */
1306
- skillTime: number | null;
1307
- deviation: number | null;
1308
- skillLearned: number | null;
1309
- skillSame: number | null;
1151
+ bodyName: string;
1152
+ campId: number;
1153
+ campName: string;
1310
1154
  confidence: number;
1311
- score: number;
1312
- scoreMatched: boolean;
1155
+ deviation: number;
1156
+ ene: number;
1157
+ forceId: number;
1158
+ forceName: string;
1159
+ globalId: string;
1160
+ roleId: string;
1161
+ roleName: string;
1162
+ score: null | number;
1163
+ scoreMatched: null | boolean;
1164
+ serverName: string;
1165
+ skillLearned: number;
1166
+ skillSame: number;
1167
+ skillTime: number;
1168
+ sta: number;
1169
+ tongId: number;
1170
+ tongName: null | string;
1171
+ zoneName: string;
1313
1172
  }>;
1314
1173
  }
1315
- /** 资历数量或资历点的完成进度 */
1316
- export interface TuilanAchievementProgress {
1317
- /** 该分组的总量 */
1318
- total: number;
1319
- /** 角色已完成 / 已获得的数量 */
1320
- speed: number;
1321
- }
1322
- /** 单个资历分组的成就数量与资历点进度 */
1323
- export interface TuilanAchievementStat {
1324
- /** 成就数量 */
1325
- pieces: TuilanAchievementProgress;
1326
- /** 资历点 */
1327
- seniority: TuilanAchievementProgress;
1328
- }
1329
- /** 未指定 subclass 时:资历大类 -> 资历子类 -> 进度 */
1330
- export type TuilanAchievementTotal = Record<string, Record<string, TuilanAchievementStat>>;
1331
- /** 指定 subclass 时:所选大类下的资历子类 -> 进度 */
1332
- export type TuilanAchievementFilteredTotal = Record<string, TuilanAchievementStat>;
1333
- /** 资历分布的分类汇总 */
1334
- export interface TuilanAchievementSummary<Total extends TuilanAchievementTotal | TuilanAchievementFilteredTotal = TuilanAchievementTotal> {
1335
- /** 按资历分类汇总;指定 subclass 后会移除最外层大类 */
1336
- total: Total;
1337
- /** 副本名 -> 难度 -> 进度 */
1338
- dungeons: Record<string, Record<string, TuilanAchievementStat>>;
1339
- /** 地图名 -> 进度 */
1340
- maps: Record<string, TuilanAchievementStat>;
1341
- /** 角色当前资历点 */
1342
- score: number;
1343
- /** 全部成就的总资历点 */
1344
- totalScore: number;
1174
+ /** 诛恶事件;依据新版接口实测响应。 */
1175
+ export interface WickedRecord {
1176
+ mapName: string;
1177
+ server: string;
1178
+ time: number;
1179
+ zone: string;
1345
1180
  }
1346
- /** 资历分布:角色名片 + 分类、副本及地图维度的完成进度 */
1347
- export interface TuilanAchievementData<Total extends TuilanAchievementTotal | TuilanAchievementFilteredTotal = TuilanAchievementTotal> {
1348
- zoneName: string;
1349
- serverName: string;
1350
- roleName: string;
1351
- roleId: string;
1352
- globalId: string;
1353
- forceName: string;
1354
- forceId: number;
1355
- bodyName: string;
1356
- bodyId: number;
1357
- tongName: string;
1358
- tongId: number;
1359
- campName: string;
1360
- campId: number;
1361
- data: TuilanAchievementSummary<Total>;
1181
+ /** 计算/模拟上游的错误明细,可能出现在外层 status=200 的响应中。 */
1182
+ export interface UpstreamErrorDetail {
1183
+ code: number;
1184
+ msg: string;
1185
+ req_id: string;
1362
1186
  }
1363
- export interface TuilanBadgeItem {
1364
- icon: string;
1187
+ /** 输出计算中的单项技能统计。 */
1188
+ export interface CalcdSkill {
1189
+ count: number;
1190
+ display_name: string;
1191
+ name: string;
1192
+ rate_crit: number;
1193
+ sts_name: string | null;
1194
+ value: number;
1195
+ }
1196
+ /** 木桩或副本场景的输出计算结果。 */
1197
+ export interface CalcdDamage {
1198
+ damage_second: number;
1199
+ damage_second_text: string;
1200
+ damage_total: number;
1201
+ error_msg: string;
1202
+ skills: CalcdSkill[];
1203
+ time_total: number;
1204
+ }
1205
+ /** DPS 计算成功明细,字段依据新版接口实测。 */
1206
+ export interface CalcdCalculateData {
1207
+ msg: string;
1208
+ req_id: string;
1209
+ data: {
1210
+ latest_attrs: Record<string, number>;
1211
+ attributeTypeCurrent: string;
1212
+ result_attributeType: string;
1213
+ dps: {
1214
+ all_cycles: Array<{
1215
+ name: string;
1216
+ qixue: string[];
1217
+ remark: string;
1218
+ tag: string;
1219
+ }>;
1220
+ author: string;
1221
+ buff_boss: Array<{
1222
+ name: string;
1223
+ value: number;
1224
+ }>;
1225
+ dps_boss: CalcdDamage;
1226
+ dps_target: CalcdDamage;
1227
+ name: string;
1228
+ panel: {
1229
+ 显示信息: Record<string, {
1230
+ 副本收益: string | number;
1231
+ 木桩收益: string | number;
1232
+ 面板: string | number;
1233
+ }>;
1234
+ 面板信息: Record<string, number>;
1235
+ };
1236
+ qixue: string[];
1237
+ score: number;
1238
+ };
1239
+ };
1240
+ }
1241
+ /** 模拟奖励中的物品。 */
1242
+ export interface RaidDropItem {
1365
1243
  id: string;
1366
- level: string;
1367
1244
  name: string;
1368
- /** 展示值,例如装备分 "11551" 或段位 "零段" */
1369
- value: string;
1370
- version: number;
1245
+ icon: number;
1246
+ color: number;
1371
1247
  }
1372
- export interface TuilanBadgeData {
1373
- badge_data: TuilanBadgeItem[];
1248
+ /** 副本掉落模拟成功明细,保留上游字段拼写 dugeon。 */
1249
+ export interface RaidDropData {
1250
+ awards: RaidDropItem[][];
1251
+ boss: string[];
1252
+ boss_rules: string[];
1253
+ dugeon: string;
1254
+ req_id: string;
1374
1255
  }
1375
- export interface UpdateCalendarParams {
1376
- /** 大战文本 */
1377
- szWar?: string;
1378
- /** 日常秘境(; 分隔) */
1379
- szCommon?: string;
1380
- /** 团队副本(; 分隔) */
1381
- szTeamDungeons?: string;
1256
+ export interface RaidFlipReward {
1257
+ v: RaidDropItem;
1258
+ count: number;
1382
1259
  }
1383
- export interface WickedRecord {
1384
- zone: string;
1385
- server: string;
1386
- mapName: string;
1387
- time: number;
1260
+ /** 试炼翻牌成功明细,result 按层、牌、奖励分组。 */
1261
+ export interface RaidFlipData {
1262
+ tpl: string;
1263
+ result: RaidFlipReward[][][];
1264
+ data: {
1265
+ attacks: string;
1266
+ level: number;
1267
+ valids: number[];
1268
+ };
1269
+ req_id: string;
1388
1270
  }
1389
1271
  //# sourceMappingURL=main.d.ts.map