dna-api 0.2.2 → 0.2.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/src/index.ts CHANGED
@@ -7,7 +7,7 @@ const LOGIN_LOG_URL = `${MAIN_URL}/user/login/log`
7
7
  const ROLE_LIST_URL = `${MAIN_URL}/role/list`
8
8
  const ROLE_FOR_TOOL_URL = `${MAIN_URL}/role/defaultRoleForTool`
9
9
  const ROLE_DETAIL_URL = `${MAIN_URL}/role/getCharDetail`
10
- const WEAPON_DETAIL_URL = `${MAIN_URL}/weapon/detail`
10
+ const WEAPON_DETAIL_URL = `${MAIN_URL}/role/getWeaponDetail`
11
11
  const SHORT_NOTE_URL = `${MAIN_URL}/role/getShortNoteInfo`
12
12
  const SIGN_CALENDAR_URL = `${MAIN_URL}/encourage/signin/show`
13
13
  const GAME_SIGN_URL = `${MAIN_URL}/encourage/signin/signin`
@@ -15,12 +15,13 @@ const BBS_SIGN_URL = `${MAIN_URL}/user/signIn`
15
15
  const HAVE_SIGN_IN_URL = `${MAIN_URL}/user/haveSignInNew`
16
16
  const GET_TASK_PROCESS_URL = `${MAIN_URL}/encourage/level/getTaskProcess`
17
17
  const GET_POST_LIST_URL = `${MAIN_URL}/forum/list`
18
+ const GET_POST_BY_TOPIC_URL = `${MAIN_URL}/forum/getPostByTopic`
18
19
  const GET_POST_DETAIL_URL = `${MAIN_URL}/forum/getPostDetail`
19
20
  const LIKE_POST_URL = `${MAIN_URL}/forum/like`
20
21
  const SHARE_POST_URL = `${MAIN_URL}/encourage/level/shareTask`
21
22
  const REPLY_POST_URL = `${MAIN_URL}/forum/comment/createComment`
22
23
  const GET_GAME_CONFIG_URL = `${MAIN_URL}/config/getGameConfig`
23
- const ANN_LIST_URL = `${MAIN_URL}/user/mine`
24
+ const GET_MINE_URL = `${MAIN_URL}/user/mine`
24
25
 
25
26
  enum RespCode {
26
27
  ERROR = -999,
@@ -121,17 +122,17 @@ export class DNAAPI {
121
122
  /**
122
123
  * 获取角色详情
123
124
  */
124
- async getRoleDetail(char_id: string, char_eid: string) {
125
- const data = { charId: char_id, charEid: char_eid, type: 1 }
126
- return await this._dna_request<DNARoleDetailRes>(ROLE_DETAIL_URL, data)
125
+ async getCharDetail(char_id: string, char_eid: string, otherUserId?: string) {
126
+ const data = { charId: char_id, charEid: char_eid, type: 1, otherUserId } as any
127
+ return await this._dna_request<DNACharDetailRes>(ROLE_DETAIL_URL, data)
127
128
  }
128
129
 
129
130
  /**
130
131
  * 获取武器详情
131
132
  */
132
- async getWeaponDetail(weapon_id: string) {
133
- const data = { weaponId: weapon_id, type: 1 }
134
- return await this._dna_request<DNARoleDetailRes>(WEAPON_DETAIL_URL, data)
133
+ async getWeaponDetail(weapon_id: string, weapon_eid: string, otherUserId?: string) {
134
+ const data = { weaponId: weapon_id, weaponEid: weapon_eid, type: 1, otherUserId }
135
+ return await this._dna_request<DNAWeaponDetailRes>(WEAPON_DETAIL_URL, data)
135
136
  }
136
137
 
137
138
  /**
@@ -187,30 +188,59 @@ export class DNAAPI {
187
188
 
188
189
  /**
189
190
  * 获取帖子列表
191
+ * @param forumId 论坛ID
192
+ * @param pageIndex 页码
193
+ * @param pageSize 每页数量
194
+ * @param searchType 搜索类型 1:最新 2:热门
195
+ * @param timeType 时间类型 0:全部 1:今日 2:本周 3:本月
196
+ * @returns 帖子列表
190
197
  */
191
- async getPostList() {
198
+ async getPostList(forumId: number = 48, pageIndex: number = 1, pageSize: number = 20, searchType: number = 1, timeType: number = 0) {
192
199
  const data = {
193
- forumId: 46, // 全部
200
+ forumId: forumId,
194
201
  gameId: DNA_GAME_ID,
195
- pageIndex: 1,
196
- pageSize: 20,
197
- searchType: 1, // 1:最新 2:热门
198
- timeType: 0,
202
+ pageIndex: pageIndex,
203
+ pageSize: pageSize,
204
+ searchType: searchType, // 1:最新 2:热门
205
+ timeType: timeType, // 0:全部 1:今日 2:本周 3:本月
199
206
  }
200
207
  return await this._dna_request<DNAPostListRes>(GET_POST_LIST_URL, data)
201
208
  }
202
209
 
210
+ /**
211
+ * 获取帖子列表
212
+ * @param forumId 论坛ID
213
+ * @param pageIndex 页码
214
+ * @param pageSize 每页数量
215
+ * @param searchType 搜索类型 1:最新 2:热门
216
+ * @param timeType 时间类型 0:全部 1:今日 2:本周 3:本月
217
+ * @returns 帖子列表
218
+ */
219
+ async getPostsByTopic(
220
+ topicId: number = 177,
221
+ pageIndex: number = 1,
222
+ pageSize: number = 20,
223
+ searchType: number = 1,
224
+ timeType: number = 0,
225
+ ) {
226
+ const data = {
227
+ topicId: topicId,
228
+ gameId: DNA_GAME_ID,
229
+ pageIndex: pageIndex,
230
+ pageSize: pageSize,
231
+ searchType: searchType, // 1:最新 2:热门
232
+ timeType: timeType, // 0:全部 1:今日 2:本周 3:本月
233
+ }
234
+ return await this._dna_request<DNAPostListRes>(GET_POST_BY_TOPIC_URL, data)
235
+ }
203
236
  /**
204
237
  * 获取帖子详情
238
+ * @param post_id 帖子ID
239
+ * @returns 帖子详情
205
240
  */
206
241
  async getPostDetail(post_id: string) {
207
242
  const data = { postId: post_id }
208
- try {
209
- return await this._dna_request<DNAPostDetailRes>(GET_POST_DETAIL_URL, data)
210
- } catch (e) {
211
- console.error("get_post_detail", e as Error)
212
- return DNAApiResponse.err("请求皎皎角服务失败")
213
- }
243
+ return await this._dna_request<DNAPostDetailRes>(GET_POST_DETAIL_URL, data)
214
244
  }
215
245
 
216
246
  /**
@@ -228,23 +258,13 @@ export class DNAAPI {
228
258
  postType: post.postType,
229
259
  toUserId: post.userId,
230
260
  }
231
- try {
232
- return await this._dna_request(LIKE_POST_URL, data)
233
- } catch (e) {
234
- console.error("do_like", e as Error)
235
- return DNAApiResponse.err("请求皎皎角服务失败")
236
- }
261
+ return await this._dna_request(LIKE_POST_URL, data)
237
262
  }
238
263
 
239
264
  // 分享帖子
240
265
  async doShare() {
241
266
  const data = { gameId: DNA_GAME_ID }
242
- try {
243
- return await this._dna_request(SHARE_POST_URL, data)
244
- } catch (e) {
245
- console.error("do_share", e as Error)
246
- return DNAApiResponse.err("请求皎皎角服务失败")
247
- }
267
+ return await this._dna_request(SHARE_POST_URL, data)
248
268
  }
249
269
 
250
270
  // 回复帖子
@@ -268,19 +288,30 @@ export class DNAAPI {
268
288
  return await this._dna_request(REPLY_POST_URL, data, { sign: true, refer: true, params: { toUserId: post.userId } })
269
289
  }
270
290
 
271
- // 获取游戏公告列表
272
- async getAnnList() {
291
+ /**
292
+ * 获取用户信息
293
+ * @returns 用户信息
294
+ */
295
+ async getOtherMine(userId = "709542994134436647") {
273
296
  const data = {
274
- otherUserId: "709542994134436647",
297
+ otherUserId: userId,
275
298
  searchType: 1,
276
299
  type: 2,
277
300
  }
278
- return await this._dna_request<DNAPostListRes>(ANN_LIST_URL, data)
301
+ return await this._dna_request<DNAMineRes>(GET_MINE_URL, data)
302
+ }
303
+
304
+ /**
305
+ * 获取用户信息
306
+ * @returns 用户信息
307
+ */
308
+ async getMine() {
309
+ return await this._dna_request<DNAMineRes>(GET_MINE_URL)
279
310
  }
280
311
 
281
312
  async getGameConfig() {
282
313
  const data = { gameId: DNA_GAME_ID }
283
- return await this._dna_request<DNAGameConfigRes>(GET_GAME_CONFIG_URL, data)
314
+ return await this._dna_request<DNAGameConfigRes[]>(GET_GAME_CONFIG_URL, data)
284
315
  }
285
316
 
286
317
  async getHeaders(options?: {
@@ -379,10 +410,18 @@ export class DNAAPI {
379
410
 
380
411
  for (let attempt = 0; attempt < max_retries; attempt++) {
381
412
  try {
413
+ let body: string = data
414
+ if (data && typeof data === "object") {
415
+ const p = new URLSearchParams()
416
+ Object.entries(data).forEach(([key, value]) => {
417
+ if (value !== undefined) p.append(key, String(value))
418
+ })
419
+ body = p.toString()
420
+ }
382
421
  const fetchOptions: RequestInit = {
383
422
  method,
384
423
  headers,
385
- body: data,
424
+ body,
386
425
  }
387
426
 
388
427
  // 实现超时控制
@@ -420,9 +459,6 @@ export class DNAAPI {
420
459
  }
421
460
  }
422
461
 
423
- console.debug(
424
- `[DNA] url:[${url}] headers:[${JSON.stringify(headers)}] data:[${JSON.stringify(data)}] raw_res:${JSON.stringify(raw_res)}`,
425
- )
426
462
  return new DNAApiResponse<T>(raw_res)
427
463
  } catch (e) {
428
464
  console.error(`请求失败: ${(e as Error).message}`)
@@ -438,48 +474,126 @@ export class DNAAPI {
438
474
 
439
475
  //#region 接口定义
440
476
 
477
+ export interface DNAMineRes {
478
+ mine: DNAMine
479
+ postList: DNAPost[]
480
+ hasNext: number
481
+ }
482
+
483
+ interface DNAMine {
484
+ /** 文章数量 */
485
+ articleCount: number
486
+ /** 收藏数量 */
487
+ collectCount: number
488
+ /** 评论数量 */
489
+ commentCount: number
490
+ /** 粉丝数量 */
491
+ fansCount: number
492
+ /** 新粉丝数量 */
493
+ fansNewCount: number
494
+ /** 关注数量 */
495
+ followCount: number
496
+ /** 性别 */
497
+ gender: number
498
+ /** 精华数量 */
499
+ goldNum: number
500
+ /** 头像 */
501
+ headUrl: string
502
+ /** 是否关注 */
503
+ isFollow: number
504
+ /** 是否登录用户 */
505
+ isLoginUser: number
506
+ /** 是否被禁言 */
507
+ isMute: number
508
+ /** 等级 */
509
+ levelTotal: number
510
+ /** 点赞数量 */
511
+ likeCount: number
512
+ /** 手机号 */
513
+ mobile: string
514
+ /** 管理员列表 */
515
+ moderatorVos: any[]
516
+ /** 帖子数量 */
517
+ postCount: number
518
+ /** 注册时间 */
519
+ registerTime: string
520
+ /** 状态 */
521
+ status: number
522
+ /** 趋势数量 */
523
+ trendCount: number
524
+ /** 用户ID */
525
+ userId: string
526
+ /** 用户名 */
527
+ userName: string
528
+ }
529
+
441
530
  export interface DNAGameConfigRes {
442
- /** 游戏背景图 */
443
- backgroundUrl: string
444
- /** 游戏封面图 */
445
- coverUrl: string
446
- /** 默认游戏 */
447
- gameDefault: number
531
+ /** 游戏所有板块列表 */
532
+ gameAllForumList: GameForum[]
448
533
  /** 游戏ID */
449
534
  gameId: number
535
+ /** 游戏板块图片列表 */
536
+ gameForumPictureList: any[]
537
+ /** 游戏板块列表 */
538
+ gameForumList: GameForum[]
539
+ /** 签到按钮图片 */
540
+ signBtn: string
541
+ sort: number
542
+ /** 话题列表 */
543
+ topicList: GameTopic[]
544
+ /** 背景图片 */
545
+ drawBackgroundUrl: string
546
+ /** 是否默认游戏 */
547
+ gameDefault: number
548
+ /** 签到颜色 */
549
+ signColor: string
450
550
  /** 游戏名称 */
451
551
  gameName: string
452
- /** 游戏描述 */
453
- gameDesc: string
454
- gameForumList: GameForum[] // gameConfig
455
- gameAllForumList: GameForum[] // gameAllForumList
456
- /** 游戏板块图片列表 */
457
- gameForumPictureList: unknown[]
458
- /** 游戏Wiki列表 */
459
- gameWikiVoList: GameWikiVo[]
552
+ /** CM图片2 意味不明 */
553
+ drawListUrl: string
554
+ /** 英文站点 */
555
+ configTab: ConfigTab[]
460
556
  }
461
557
 
462
- export interface GameWikiVo {
463
- id: number
464
- iconUrl: string
465
- param: {
466
- postId: string
467
- topicId: string
468
- }
469
- postId: string
470
- toAppAndroid: string
558
+ export interface ConfigTab {
559
+ name: string
471
560
  url: string
472
- wikiName: string
473
- wikiType: number
474
561
  }
475
562
 
476
- export interface GameForum {
477
- /** 游戏ID */
563
+ export interface GameTopic {
564
+ /** 话题背景图片 */
565
+ backgroundUrl: string
478
566
  gameId: number
479
- /** 板块ID */
480
- forumId: number
567
+ /** 话题图标 */
568
+ topicIconUrl: string
569
+ topicId: number
570
+ /** 话题名称 */
571
+ topicName: string
572
+ sort: number
573
+ /** 话题描述 */
574
+ topicDesc: string
575
+ }
576
+
577
+ export interface GameForum {
578
+ /** 全部=1 普通=3 */
579
+ forumDataType: number
580
+ /** 固定1 */
581
+ forumUiType: number
582
+ /** 小红点 */
583
+ isTrend: number
584
+ /** 夜间模式图标 */
585
+ iconWhiteUrl: string
586
+ /** 固定1 */
587
+ forumType: number
481
588
  /** 板块名称 */
482
- forumName: string
589
+ name: string
590
+ forumListShowType: number
591
+ /** 图标 */
592
+ iconUrl: string
593
+ id: number
594
+ sort: number
595
+ /** 官方 */
596
+ isOfficial: number
483
597
  }
484
598
 
485
599
  export interface UserGame {
@@ -527,11 +641,13 @@ export interface DNARoleListRes {
527
641
 
528
642
  /** 密函 */
529
643
  export interface DNARoleForToolInstance {
530
- id: number // id
531
- name: string // name
644
+ id: number
645
+ /** 中文 */
646
+ name: string
532
647
  /** 密函编码 */
533
648
  code: string
534
- on: number // 0
649
+ /** 固定0 */
650
+ on: number
535
651
  }
536
652
 
537
653
  enum DNAInstanceMHType {
@@ -593,7 +709,9 @@ export interface DNARoleShortNoteRes {
593
709
  draftInfo: DraftInfo
594
710
  }
595
711
 
596
- export interface WeaponInsForTool {
712
+ export interface DNARoleWeapon {
713
+ weaponId: number
714
+ weaponEid: string
597
715
  /** 武器类型图标 */
598
716
  elementIcon: string
599
717
  /** 武器图标 */
@@ -602,16 +720,15 @@ export interface WeaponInsForTool {
602
720
  level: number
603
721
  /** 武器名称 */
604
722
  name: string
723
+ /** 精炼等级 */
724
+ skillLevel: number
605
725
  /** 是否解锁 */
606
726
  unLocked: boolean
607
- weaponEid?: string
608
- weaponId: number
609
727
  }
610
728
 
611
- export interface RoleInsForTool {
612
- charEid?: string
613
- /** 角色id */
729
+ export interface DNARoleChar {
614
730
  charId: number
731
+ charEid: string
615
732
  /** 元素图标 */
616
733
  elementIcon: string
617
734
  /** 命座等级 */
@@ -626,47 +743,47 @@ export interface RoleInsForTool {
626
743
  unLocked: boolean
627
744
  }
628
745
 
629
- export interface RoleAchievement {
630
- paramKey: string // paramKey
631
- paramValue: string // paramValue
746
+ export interface DNARoleForToolRes {
747
+ /** 角色信息 */
748
+ roleInfo: DNARoleInfo
749
+ /** 密函 */
750
+ instanceInfo: DNARoleForToolInstanceInfo[]
632
751
  }
633
752
 
634
- export interface RoleShowForTool {
753
+ export interface DNARoleShow {
635
754
  /** 角色列表 */
636
- roleChars: RoleInsForTool[]
755
+ roleChars: DNARoleChar[]
637
756
  /** 武器列表 */
638
- langRangeWeapons: WeaponInsForTool[]
757
+ langRangeWeapons: DNARoleWeapon[]
639
758
  /** 武器列表 */
640
- closeWeapons: WeaponInsForTool[]
759
+ closeWeapons: DNARoleWeapon[]
641
760
  /** 角色头像 */
642
761
  headUrl: string
643
762
  /** 等级 */
644
763
  level: number
645
764
  /** 成就列表 */
646
- params: RoleAchievement[]
765
+ params: DNARoleAchievement[]
647
766
  /** 角色id */
648
767
  roleId: string
649
768
  /** 角色名称 */
650
769
  roleName: string
651
770
  /** 迷津 */
652
- rougeLikeInfo: RougeLikeInfo
771
+ rougeLikeInfo: DNARougeLikeInfo
653
772
  }
654
773
 
655
- export interface RoleInfoForTool {
656
- /** 深渊信息 */
657
- abyssInfo: AbyssInfo
658
- /** 角色信息 */
659
- roleShow: RoleShowForTool
774
+ export interface DNARoleAchievement {
775
+ paramKey: string // paramKey
776
+ paramValue: string // paramValue
660
777
  }
661
778
 
662
- export interface DNARoleForToolRes {
779
+ export interface DNARoleInfo {
780
+ /** 深渊信息 */
781
+ abyssInfo: DNAAbyssInfo
663
782
  /** 角色信息 */
664
- roleInfo: RoleInfoForTool
665
- /** 密函 */
666
- instanceInfo: DNARoleForToolInstanceInfo[]
783
+ roleShow: DNARoleShow
667
784
  }
668
785
 
669
- export interface RougeLikeInfo {
786
+ export interface DNARougeLikeInfo {
670
787
  /** 最大通过等级 */
671
788
  maxPassed: number
672
789
  /** 最大通过等级名称 */
@@ -678,17 +795,17 @@ export interface RougeLikeInfo {
678
795
  /** 奖励总数 */
679
796
  rewardTotal: number
680
797
  /** 天赋信息 */
681
- talentInfo: RougeLikeTalentInfo[]
798
+ talentInfo: DNARougeLikeTalentInfo[]
682
799
  }
683
800
 
684
- export interface RougeLikeTalentInfo {
801
+ export interface DNARougeLikeTalentInfo {
685
802
  cur: string
686
803
  max: string
687
804
  }
688
805
 
689
- export interface AbyssInfo {
690
- /** 最佳时间 */
691
- bestTimeVo1: BestTimeVo1
806
+ export interface DNAAbyssInfo {
807
+ /** 阵容 */
808
+ bestTimeVo1: DNABestTimeVo1
692
809
  /** 结束时间 */
693
810
  endTime: string
694
811
  /** 操作名称 */
@@ -701,7 +818,8 @@ export interface AbyssInfo {
701
818
  startTime: string
702
819
  }
703
820
 
704
- export interface BestTimeVo1 {
821
+ /** 深渊阵容 */
822
+ export interface DNABestTimeVo1 {
705
823
  /** 角色图标 */
706
824
  charIcon: string
707
825
  /** 近战武器图标 */
@@ -710,13 +828,18 @@ export interface BestTimeVo1 {
710
828
  langRangeWeaponIcon: string
711
829
  /** 魔灵图标 */
712
830
  petIcon: string
831
+ /** 协战角色图标1 */
713
832
  phantomCharIcon1: string
714
- phantomCharIcon2: string
833
+ /** 协战武器图标1 */
715
834
  phantomWeaponIcon1: string
835
+ /** 协战角色图标2 */
836
+ phantomCharIcon2: string
837
+ /** 协战武器图标2 */
716
838
  phantomWeaponIcon2: string
717
839
  }
718
840
 
719
- export interface RoleAttribute {
841
+ /** 角色属性 */
842
+ export interface DNACharAttribute {
720
843
  /** 技能范围 */
721
844
  skillRange: string
722
845
  /** 强化值 */
@@ -726,7 +849,7 @@ export interface RoleAttribute {
726
849
  /** 武器精通 */
727
850
  weaponTags: string[]
728
851
  /** 防御 */
729
- defense: number
852
+ def: number
730
853
  /** 仇恨值 */
731
854
  enmityValue: string
732
855
  /** 技能效益 */
@@ -743,7 +866,8 @@ export interface RoleAttribute {
743
866
  maxSp: number
744
867
  }
745
868
 
746
- export interface RoleSkill {
869
+ /** 角色技能 */
870
+ export interface DNARoleSkill {
747
871
  /** 技能id */
748
872
  skillId: number
749
873
  /** 技能图标 */
@@ -754,14 +878,16 @@ export interface RoleSkill {
754
878
  skillName: string
755
879
  }
756
880
 
757
- export interface RoleTrace {
881
+ /** 溯源 */
882
+ export interface DNARoleTrace {
758
883
  /** 溯源图标 */
759
884
  icon: string
760
885
  /** 溯源描述 */
761
886
  description: string
762
887
  }
763
888
 
764
- export interface Mode {
889
+ /** 魔之楔 */
890
+ export interface DNARoleMod {
765
891
  /** id 没佩戴为-1 */
766
892
  id: number
767
893
  /** 图标 */
@@ -772,11 +898,12 @@ export interface Mode {
772
898
  name?: string
773
899
  }
774
900
 
775
- export interface RoleDetail {
901
+ export interface DNACharDetail {
902
+ charId: number
776
903
  /** 角色属性 */
777
- attribute: RoleAttribute
904
+ attribute: DNACharAttribute
778
905
  /** 角色技能 */
779
- skills: RoleSkill[]
906
+ skills: DNARoleSkill[]
780
907
  /** 立绘 */
781
908
  paint: string
782
909
  /** 角色名称 */
@@ -784,7 +911,7 @@ export interface RoleDetail {
784
911
  /** 元素图标 */
785
912
  elementIcon: string
786
913
  /** 溯源 */
787
- traces: RoleTrace[]
914
+ traces: DNARoleTrace[]
788
915
  /** 当前魔之楔 */
789
916
  currentVolume: number
790
917
  /** 最大魔之楔 */
@@ -797,13 +924,41 @@ export interface RoleDetail {
797
924
  gradeLevel: number
798
925
  /** 元素名称 */
799
926
  elementName: string
800
- /** mode */
801
- modes: Mode[]
927
+ /** 魔之楔列表 */
928
+ modes: DNARoleMod[]
802
929
  }
803
930
 
804
- export interface DNARoleDetailRes {
931
+ export interface DNACharDetailRes {
805
932
  /** 角色详情 */
806
- charDetail: RoleDetail
933
+ charDetail: DNACharDetail
934
+ }
935
+
936
+ export interface DNAWeaponDetailRes {
937
+ /** 武器详情 */
938
+ weaponDetail: DNAWeaponDetail
939
+ }
940
+
941
+ export interface DNAWeaponDetail {
942
+ attribute: DNAWeaponAttribute
943
+ currentVolume: number
944
+ description: string
945
+ elementIcon: string
946
+ elementName: string
947
+ icon: string
948
+ id: number
949
+ level: number
950
+ modes: DNARoleMod[]
951
+ name: string
952
+ skillLevel: number
953
+ sumVolume: number
954
+ }
955
+
956
+ export interface DNAWeaponAttribute {
957
+ atk: number
958
+ crd: number
959
+ cri: number
960
+ speed: number
961
+ trigger: number
807
962
  }
808
963
 
809
964
  export interface DNADayAward {
@@ -876,24 +1031,198 @@ export interface DNATaskProcessRes {
876
1031
  dailyTask: DNABBSTask[] // dailyTask
877
1032
  }
878
1033
 
879
- export interface DNAPostListRes {
880
- postList: DNAPost[] // posts
1034
+ export interface DNATopicPostListRes {
1035
+ postList: DNAPost[]
1036
+ topic: DNATopicDetail
1037
+ hasNext: number
1038
+ }
1039
+
1040
+ export interface DNATopicDetail {
1041
+ backgroundUrl: string
1042
+ gameId: number
1043
+ sort: number
1044
+ topicDesc: string
1045
+ topicIconUrl: string
1046
+ topicId: number
1047
+ topicName: string
881
1048
  }
882
1049
 
883
1050
  export interface DNAPost {
884
- postId: number // postId
885
- title: string // title
1051
+ browseCount: string
1052
+ collectionCount: number
1053
+ commentCount: number
1054
+ gameForumId: number
1055
+ gameId: number
1056
+ gameName: string
1057
+ imgContent: DNAPostImgContent[]
1058
+ imgCount: number
1059
+ isCollect: number
1060
+ isCreator: number
1061
+ isElite: number
1062
+ isFollow: number
1063
+ isLike: number
1064
+ isLock: number
1065
+ isOfficial: number
1066
+ isPublisher: number
1067
+ likeCount: number
1068
+ postContent: string
1069
+ postCover: string
1070
+ postCoverVo: DNAPostCoverVo
1071
+ postId: string
1072
+ postStatus: number
1073
+ postTitle: string
1074
+ postType: number
1075
+ showTime: string
1076
+ topics: DNATopicShort[]
1077
+ userHeadUrl: string
1078
+ userId: string
1079
+ userLevel: number
1080
+ userModeratorIdentity: number
1081
+ userName: string
1082
+ }
1083
+
1084
+ export interface DNATopicShort {
1085
+ topicId: number
1086
+ topicName: string
1087
+ }
1088
+
1089
+ export interface DNAPostCoverVo {
1090
+ imgHeight: number
1091
+ imgWidth: number
1092
+ }
1093
+
1094
+ export interface DNAPostImgContent {
1095
+ imgHeight: number
1096
+ imgWidth: number
1097
+ url: string
1098
+ isAbnormal?: boolean
1099
+ }
1100
+
1101
+ export interface DNAPostListRes {
1102
+ postList: DNAPost[] // posts
1103
+ topList: any[]
1104
+ hasNext: number
886
1105
  }
887
1106
 
888
1107
  export interface DNAPostDetailRes {
889
- postDetail: DNAPostDetail // post
1108
+ isHotCount: boolean
1109
+ gameId: number
1110
+ isFollow: number
1111
+ isLike: number
1112
+ postDetail: DNAPostDetail
1113
+ isCollect: number
1114
+ hasNext: number
1115
+ comment: DNAComment[]
890
1116
  }
891
1117
 
892
1118
  export interface DNAPostDetail {
893
- postId: number // postId
894
- postTime: number // postTime
895
- postContent: DNAPostContent[] // postContent
896
- title: string // title
1119
+ auditStatus: number
1120
+ browseCount: string
1121
+ checkStatus: number
1122
+ collectionCount: number
1123
+ commentCount: number
1124
+ gameForumId: number
1125
+ gameForumVo: DNAGameForumVo
1126
+ gameId: number
1127
+ gameName: string
1128
+ headCodeUrl: string
1129
+ id: string
1130
+ isCreator: number
1131
+ isElite: number
1132
+ isForceRecommend: number
1133
+ isHide: number
1134
+ isLock: number
1135
+ isMine: number
1136
+ isOfficial: number
1137
+ isRecommend: number
1138
+ isTop: number
1139
+ lastEditorTime: string
1140
+ likeCount: number
1141
+ postContent: DNAPostContent[]
1142
+ postH5Content: string
1143
+ postTime: string
1144
+ postTitle: string
1145
+ postType: number
1146
+ postUserId: string
1147
+ refreshHour: number
1148
+ score: number
1149
+ userLevel: number
1150
+ userModeratorIdentity: number
1151
+ userName: string
1152
+ whiteUrl: any[]
1153
+ }
1154
+
1155
+ export interface DNAPostContent {
1156
+ contentType: PostContentType
1157
+ imgHeight: number
1158
+ imgWidth: number
1159
+ url?: string
1160
+ content?: string
1161
+ contentVideo?: DNAPostContentVideo
1162
+ }
1163
+
1164
+ export interface DNAComment {
1165
+ checkStatus: number
1166
+ commentContent: DNAPostContent[]
1167
+ commentId: string
1168
+ commentTime: string
1169
+ contentTextStatus: number
1170
+ floor: number
1171
+ isCreator: number
1172
+ isLike: number
1173
+ isMine: number
1174
+ isOfficial: number
1175
+ isPublisher: number
1176
+ likeCount: number
1177
+ replyCount: number
1178
+ replyVos: DNAReplyVos[]
1179
+ userHeadCode?: string
1180
+ userHeadUrl: string
1181
+ userId: string
1182
+ userLevel: number
1183
+ userModeratorIdentity: number
1184
+ userName: string
1185
+ }
1186
+
1187
+ export interface DNAReplyVos {
1188
+ checkStatus: number
1189
+ contentTextStatus: number
1190
+ createTime: number
1191
+ isCreator: number
1192
+ isLike: number
1193
+ isMine: number
1194
+ isOfficial: number
1195
+ isPublisher: number
1196
+ likeCount: number
1197
+ postCommentId: string
1198
+ postCommentReplayId: string
1199
+ replyContent: DNAPostContent[]
1200
+ replyContentStr: string
1201
+ replyId: string
1202
+ replyTime: string
1203
+ toUserIsCreator: number
1204
+ toUserModeratorIdentity: number
1205
+ toUserName: string
1206
+ userHeadCode?: string
1207
+ userHeadUrl: string
1208
+ userId: string
1209
+ userLevel: number
1210
+ userModeratorIdentity: number
1211
+ userName: string
1212
+ }
1213
+
1214
+ export interface DNAGameForumVo {
1215
+ forumDataType: number
1216
+ forumListShowType: number
1217
+ forumType: number
1218
+ forumUiType: number
1219
+ iconUrl: string
1220
+ iconWhiteUrl: string
1221
+ id: number
1222
+ isOfficial: number
1223
+ isTrend: number
1224
+ name: string
1225
+ sort: number
897
1226
  }
898
1227
 
899
1228
  export enum PostContentType {
@@ -902,13 +1231,6 @@ export enum PostContentType {
902
1231
  VIDEO = 5,
903
1232
  }
904
1233
 
905
- export interface DNAPostContent {
906
- contentType: PostContentType // content
907
- content: string // content
908
- url?: string // url
909
- contentVideo?: DNAPostContentVideo // contentVideo
910
- }
911
-
912
1234
  export interface DNAPostContentVideo {
913
1235
  videoUrl: string // videoUrl
914
1236
  coverUrl?: string // coverUrl