dna-api 0.1.1 → 0.2.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.
Potentially problematic release.
This version of dna-api might be problematic. Click here for more details.
- package/build.ts +6 -6
- package/dist/index.d.ts +102 -2
- package/dist/index.js +4 -40
- package/dist/index.js.map +4 -51
- package/package.json +2 -1
- package/src/index.ts +194 -90
- package/tsconfig.build.json +1 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "dna-api",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.2.0",
|
|
4
4
|
"description": "dna bbs api",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "pa001024",
|
|
@@ -42,6 +42,7 @@
|
|
|
42
42
|
"devDependencies": {
|
|
43
43
|
"@types/node": "^25.0.3",
|
|
44
44
|
"rimraf": "6.1.2",
|
|
45
|
+
"bun-types": "^1.1.18",
|
|
45
46
|
"typescript": "^5.1.6"
|
|
46
47
|
}
|
|
47
48
|
}
|
package/src/index.ts
CHANGED
|
@@ -36,13 +36,32 @@ const DNA_GAME_ID = 268
|
|
|
36
36
|
* DNA API类,用于与DNA游戏服务器交互
|
|
37
37
|
*/
|
|
38
38
|
export class DNAAPI {
|
|
39
|
+
public fetchFn = fetch
|
|
40
|
+
public is_h5 = false
|
|
41
|
+
public rsa_public_key =
|
|
42
|
+
"MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDGpdbezK+eknQZQzPOjp8mr/dP+QHwk8CRkQh6C6qFnfLH3tiyl0pnt3dePuFDnM1PUXGhCkQ157ePJCQgkDU2+mimDmXh0oLFn9zuWSp+U8uLSLX3t3PpJ8TmNCROfUDWvzdbnShqg7JfDmnrOJz49qd234W84nrfTHbzdqeigQIDAQAB"
|
|
43
|
+
|
|
44
|
+
/**
|
|
45
|
+
* 构造函数
|
|
46
|
+
* @param dev_code 设备码
|
|
47
|
+
* @param uid 用户ID
|
|
48
|
+
* @param token 访问令牌
|
|
49
|
+
* @param options 选项
|
|
50
|
+
* @param options.fetchFn 自定义fetch函数
|
|
51
|
+
* @param options.is_h5 是否为H5端
|
|
52
|
+
* @param options.rsa_public_key RSA公钥(base64) 设为空字符串从服务器获取
|
|
53
|
+
*/
|
|
39
54
|
constructor(
|
|
40
55
|
public dev_code: string,
|
|
41
56
|
public uid = "",
|
|
42
57
|
public token = "",
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
58
|
+
options: { fetchFn?: typeof fetch; is_h5?: boolean; rsa_public_key?: string } = {},
|
|
59
|
+
) {
|
|
60
|
+
if (options.fetchFn) this.fetchFn = options.fetchFn
|
|
61
|
+
if (options.fetchFn) this.fetchFn = options.fetchFn
|
|
62
|
+
if (options.is_h5 !== undefined) this.is_h5 = options.is_h5
|
|
63
|
+
if (options.rsa_public_key !== undefined) this.rsa_public_key = options.rsa_public_key
|
|
64
|
+
}
|
|
46
65
|
|
|
47
66
|
/**
|
|
48
67
|
* 获取RSA公钥
|
|
@@ -360,7 +379,7 @@ export class DNAAPI {
|
|
|
360
379
|
const controller = new AbortController()
|
|
361
380
|
const timeoutId = setTimeout(() => controller.abort(), timeout)
|
|
362
381
|
|
|
363
|
-
const response = await
|
|
382
|
+
const response = await this.fetchFn(url, {
|
|
364
383
|
...fetchOptions,
|
|
365
384
|
signal: controller.signal,
|
|
366
385
|
})
|
|
@@ -426,7 +445,8 @@ export interface DNALoginRes {
|
|
|
426
445
|
userGameList: UserGame[] // userGameList
|
|
427
446
|
isRegister: number // isRegister
|
|
428
447
|
status: number // status
|
|
429
|
-
|
|
448
|
+
/** 是否完成绑定 0: 未绑定, 1: 已绑定 */
|
|
449
|
+
isComplete: number
|
|
430
450
|
refreshToken: string // refreshToken
|
|
431
451
|
}
|
|
432
452
|
|
|
@@ -451,10 +471,12 @@ export interface DNARoleListRes {
|
|
|
451
471
|
roles: DNARole[] // roles
|
|
452
472
|
}
|
|
453
473
|
|
|
474
|
+
/** 密函 */
|
|
454
475
|
export interface DNARoleForToolInstance {
|
|
455
476
|
id: number // id
|
|
456
477
|
name: string // name
|
|
457
|
-
|
|
478
|
+
/** 密函编码 */
|
|
479
|
+
code: string
|
|
458
480
|
on: number // 0
|
|
459
481
|
}
|
|
460
482
|
|
|
@@ -472,54 +494,81 @@ export function getDNAInstanceMHType(key: keyof typeof DNAInstanceMHType) {
|
|
|
472
494
|
}
|
|
473
495
|
|
|
474
496
|
export interface DNARoleForToolInstanceInfo {
|
|
497
|
+
/** 密函列表 */
|
|
475
498
|
instances: DNARoleForToolInstance[] // instances
|
|
499
|
+
/** 密函类型 */
|
|
476
500
|
mh_type?: DNAInstanceMHType // 密函类型
|
|
477
501
|
}
|
|
478
502
|
|
|
479
503
|
export interface DraftDoingInfo {
|
|
480
504
|
draftCompleteNum: number // draftCompleteNum
|
|
481
505
|
draftDoingNum: number // draftDoingNum
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
506
|
+
/** 结束时间 */
|
|
507
|
+
endTime: string
|
|
508
|
+
/** 产品id */
|
|
509
|
+
productId?: number
|
|
510
|
+
/** 产品名称 */
|
|
511
|
+
productName: string
|
|
512
|
+
/** 开始时间 */
|
|
513
|
+
startTime: string
|
|
486
514
|
}
|
|
487
515
|
|
|
488
516
|
export interface DraftInfo {
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
517
|
+
/** 正在做的锻造 */
|
|
518
|
+
draftDoingInfo?: DraftDoingInfo[]
|
|
519
|
+
/** 正在做的锻造数量 */
|
|
520
|
+
draftDoingNum: number
|
|
521
|
+
/** 最大锻造数量 */
|
|
522
|
+
draftMaxNum: number
|
|
492
523
|
}
|
|
493
524
|
|
|
494
525
|
export interface DNARoleShortNoteRes {
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
526
|
+
/** 迷津进度 */
|
|
527
|
+
rougeLikeRewardCount: number
|
|
528
|
+
/** 迷津总数 */
|
|
529
|
+
rougeLikeRewardTotal: number
|
|
530
|
+
/** 备忘手记进度 */
|
|
531
|
+
currentTaskProgress: number
|
|
532
|
+
/** 备忘手记总数 */
|
|
533
|
+
maxDailyTaskProgress: number
|
|
534
|
+
/** 梦魇进度 */
|
|
535
|
+
hardBossRewardCount: number
|
|
536
|
+
/** 梦魇总数 */
|
|
537
|
+
hardBossRewardTotal: number
|
|
538
|
+
/** 锻造信息 */
|
|
539
|
+
draftInfo: DraftInfo
|
|
502
540
|
}
|
|
503
541
|
|
|
504
542
|
export interface WeaponInsForTool {
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
|
|
543
|
+
/** 武器类型图标 */
|
|
544
|
+
elementIcon: string
|
|
545
|
+
/** 武器图标 */
|
|
546
|
+
icon: string
|
|
547
|
+
/** 武器等级 */
|
|
548
|
+
level: number
|
|
549
|
+
/** 武器名称 */
|
|
550
|
+
name: string
|
|
551
|
+
/** 是否解锁 */
|
|
552
|
+
unLocked: boolean
|
|
553
|
+
weaponEid?: string
|
|
554
|
+
weaponId: number
|
|
512
555
|
}
|
|
513
556
|
|
|
514
557
|
export interface RoleInsForTool {
|
|
515
|
-
charEid?: string
|
|
516
|
-
charId: number
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
558
|
+
charEid?: string
|
|
559
|
+
charId: number
|
|
560
|
+
/** 元素图标 */
|
|
561
|
+
elementIcon: string
|
|
562
|
+
/** 命座等级 */
|
|
563
|
+
gradeLevel: number
|
|
564
|
+
/** 角色图标 */
|
|
565
|
+
icon: string
|
|
566
|
+
/** 角色等级 */
|
|
567
|
+
level: number
|
|
568
|
+
/** 角色名称 */
|
|
569
|
+
name: string
|
|
570
|
+
/** 是否解锁 */
|
|
571
|
+
unLocked: boolean
|
|
523
572
|
}
|
|
524
573
|
|
|
525
574
|
export interface RoleAchievement {
|
|
@@ -528,76 +577,122 @@ export interface RoleAchievement {
|
|
|
528
577
|
}
|
|
529
578
|
|
|
530
579
|
export interface RoleShowForTool {
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
580
|
+
/** 角色列表 */
|
|
581
|
+
roleChars: RoleInsForTool[]
|
|
582
|
+
/** 武器列表 */
|
|
583
|
+
langRangeWeapons: WeaponInsForTool[]
|
|
584
|
+
/** 武器列表 */
|
|
585
|
+
closeWeapons: WeaponInsForTool[]
|
|
586
|
+
/** 等级 */
|
|
587
|
+
level: number
|
|
588
|
+
/** 成就列表 */
|
|
589
|
+
params: RoleAchievement[]
|
|
590
|
+
/** 角色id */
|
|
591
|
+
roleId: string
|
|
592
|
+
/** 角色名称 */
|
|
593
|
+
roleName: string
|
|
538
594
|
}
|
|
539
595
|
|
|
540
596
|
export interface RoleInfoForTool {
|
|
541
|
-
|
|
597
|
+
/** 角色信息 */
|
|
598
|
+
roleShow: RoleShowForTool
|
|
542
599
|
}
|
|
543
600
|
|
|
544
601
|
export interface DNARoleForToolRes {
|
|
545
|
-
|
|
546
|
-
|
|
602
|
+
/** 角色信息 */
|
|
603
|
+
roleInfo: RoleInfoForTool
|
|
604
|
+
/** 密函 */
|
|
605
|
+
instanceInfo: DNARoleForToolInstanceInfo[]
|
|
547
606
|
}
|
|
548
607
|
|
|
549
608
|
export interface RoleAttribute {
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
|
|
609
|
+
/** 技能范围 */
|
|
610
|
+
skillRange: string
|
|
611
|
+
/** 强化值 */
|
|
612
|
+
strongValue: string
|
|
613
|
+
/** 技能威力 */
|
|
614
|
+
skillIntensity: string
|
|
615
|
+
/** 武器精通 */
|
|
616
|
+
weaponTags: string[]
|
|
617
|
+
/** 防御 */
|
|
618
|
+
defense: number
|
|
619
|
+
/** 仇恨值 */
|
|
620
|
+
enmityValue: string
|
|
621
|
+
/** 技能效益 */
|
|
622
|
+
skillEfficiency: string
|
|
623
|
+
/** 技能耐久 */
|
|
624
|
+
skillSustain: string
|
|
625
|
+
/** 最大生命值 */
|
|
626
|
+
maxHp: number
|
|
627
|
+
/** 攻击 */
|
|
628
|
+
atk: number
|
|
629
|
+
/** 最大护盾 */
|
|
630
|
+
maxES: number
|
|
631
|
+
/** 最大神志 */
|
|
632
|
+
maxSp: number
|
|
562
633
|
}
|
|
563
634
|
|
|
564
635
|
export interface RoleSkill {
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
|
|
636
|
+
/** 技能id */
|
|
637
|
+
skillId: number
|
|
638
|
+
/** 技能图标 */
|
|
639
|
+
icon: string
|
|
640
|
+
/** 技能等级 */
|
|
641
|
+
level: number
|
|
642
|
+
/** 技能名称 */
|
|
643
|
+
skillName: string
|
|
569
644
|
}
|
|
570
645
|
|
|
571
646
|
export interface RoleTrace {
|
|
572
|
-
|
|
573
|
-
|
|
647
|
+
/** 溯源图标 */
|
|
648
|
+
icon: string
|
|
649
|
+
/** 溯源描述 */
|
|
650
|
+
description: string
|
|
574
651
|
}
|
|
575
652
|
|
|
576
653
|
export interface Mode {
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
|
|
654
|
+
/** id 没佩戴为-1 */
|
|
655
|
+
id: number
|
|
656
|
+
/** 图标 */
|
|
657
|
+
icon?: string
|
|
658
|
+
/** 质量 */
|
|
659
|
+
quality?: number
|
|
660
|
+
/** 名称 */
|
|
661
|
+
name?: string
|
|
581
662
|
}
|
|
582
663
|
|
|
583
664
|
export interface RoleDetail {
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
|
|
665
|
+
/** 角色属性 */
|
|
666
|
+
attribute: RoleAttribute
|
|
667
|
+
/** 角色技能 */
|
|
668
|
+
skills: RoleSkill[]
|
|
669
|
+
/** 立绘 */
|
|
670
|
+
paint: string
|
|
671
|
+
/** 角色名称 */
|
|
672
|
+
charName: string
|
|
673
|
+
/** 元素图标 */
|
|
674
|
+
elementIcon: string
|
|
675
|
+
/** 溯源 */
|
|
676
|
+
traces: RoleTrace[]
|
|
677
|
+
/** 当前魔之楔 */
|
|
678
|
+
currentVolume: number
|
|
679
|
+
/** 最大魔之楔 */
|
|
680
|
+
sumVolume: number
|
|
681
|
+
/** 角色等级 */
|
|
682
|
+
level: number
|
|
683
|
+
/** 角色头像 */
|
|
684
|
+
icon: string
|
|
685
|
+
/** 溯源等级 0-6 */
|
|
686
|
+
gradeLevel: number
|
|
687
|
+
/** 元素名称 */
|
|
688
|
+
elementName: string
|
|
689
|
+
/** mode */
|
|
690
|
+
modes: Mode[]
|
|
597
691
|
}
|
|
598
692
|
|
|
599
693
|
export interface DNARoleDetailRes {
|
|
600
|
-
|
|
694
|
+
/** 角色详情 */
|
|
695
|
+
charDetail: RoleDetail
|
|
601
696
|
}
|
|
602
697
|
|
|
603
698
|
export interface DNADayAward {
|
|
@@ -634,7 +729,8 @@ export interface DNACaSignRoleInfo {
|
|
|
634
729
|
}
|
|
635
730
|
|
|
636
731
|
export interface DNAHaveSignInRes {
|
|
637
|
-
|
|
732
|
+
/** 已签到天数 */
|
|
733
|
+
totalSignInDay: number
|
|
638
734
|
}
|
|
639
735
|
|
|
640
736
|
export interface DNACalendarSignRes {
|
|
@@ -647,14 +743,22 @@ export interface DNACalendarSignRes {
|
|
|
647
743
|
}
|
|
648
744
|
|
|
649
745
|
export interface DNABBSTask {
|
|
650
|
-
|
|
651
|
-
|
|
652
|
-
|
|
653
|
-
|
|
654
|
-
|
|
655
|
-
|
|
656
|
-
|
|
657
|
-
|
|
746
|
+
/** 备注 */
|
|
747
|
+
remark: string
|
|
748
|
+
/** 完成次数 */
|
|
749
|
+
completeTimes: number
|
|
750
|
+
/** 需要次数 */
|
|
751
|
+
times: number
|
|
752
|
+
/** skipType */
|
|
753
|
+
skipType: number
|
|
754
|
+
/** 获取经验 */
|
|
755
|
+
gainExp: number
|
|
756
|
+
/** 进度 */
|
|
757
|
+
process: number
|
|
758
|
+
/** 获取金币 */
|
|
759
|
+
gainGold: number
|
|
760
|
+
/** 任务标识名 */
|
|
761
|
+
markName?: string
|
|
658
762
|
}
|
|
659
763
|
|
|
660
764
|
export interface DNATaskProcessRes {
|
package/tsconfig.build.json
CHANGED
|
@@ -36,7 +36,7 @@
|
|
|
36
36
|
// "paths": {}, /* Specify a set of entries that re-map imports to additional lookup locations. */
|
|
37
37
|
// "rootDirs": [], /* Allow multiple folders to be treated as one when resolving modules. */
|
|
38
38
|
// "typeRoots": [], /* Specify multiple folders that act like './node_modules/@types'. */
|
|
39
|
-
"types": [] /* Specify type package names to be included without being referenced in a source file. */,
|
|
39
|
+
"types": ["bun-types"] /* Specify type package names to be included without being referenced in a source file. */,
|
|
40
40
|
// "allowUmdGlobalAccess": true, /* Allow accessing UMD globals from modules. */
|
|
41
41
|
// "moduleSuffixes": [], /* List of file name suffixes to search when resolving a module. */
|
|
42
42
|
// "resolveJsonModule": true, /* Enable importing .json files. */
|