finej3 1.0.14 → 2.0.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.
- package/LICENSE +21 -21
- package/README.md +137 -104
- package/dist/cjs/clients/client.d.ts +94 -0
- package/dist/cjs/clients/client.js +52 -51
- package/dist/cjs/clients/client.js.map +1 -1
- package/dist/cjs/clients/main.d.ts +410 -0
- package/dist/cjs/clients/main.js +249 -326
- package/dist/cjs/clients/main.js.map +1 -1
- package/dist/cjs/clients/search.d.ts +101 -0
- package/dist/cjs/clients/search.js +39 -48
- package/dist/cjs/clients/search.js.map +1 -1
- package/dist/cjs/core/http.d.ts +41 -0
- package/dist/cjs/core/http.js +33 -21
- package/dist/cjs/core/http.js.map +1 -1
- package/dist/cjs/index.d.ts +48 -0
- package/dist/cjs/index.js +4 -2
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/types/client.d.ts +239 -0
- package/dist/cjs/types/main.d.ts +1174 -0
- package/dist/cjs/types/search.d.ts +331 -0
- package/dist/esm/clients/client.d.ts +76 -60
- package/dist/esm/clients/client.d.ts.map +1 -1
- package/dist/esm/clients/client.js +52 -51
- package/dist/esm/clients/client.js.map +1 -1
- package/dist/esm/clients/main.d.ts +332 -461
- package/dist/esm/clients/main.d.ts.map +1 -1
- package/dist/esm/clients/main.js +249 -326
- package/dist/esm/clients/main.js.map +1 -1
- package/dist/esm/clients/search.d.ts +81 -66
- package/dist/esm/clients/search.d.ts.map +1 -1
- package/dist/esm/clients/search.js +39 -48
- package/dist/esm/clients/search.js.map +1 -1
- package/dist/esm/core/http.d.ts +22 -42
- package/dist/esm/core/http.d.ts.map +1 -1
- package/dist/esm/core/http.js +32 -21
- package/dist/esm/core/http.js.map +1 -1
- package/dist/esm/index.d.ts +11 -10
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +2 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/types/client.d.ts +217 -117
- package/dist/esm/types/client.d.ts.map +1 -1
- package/dist/esm/types/main.d.ts +826 -1009
- package/dist/esm/types/main.d.ts.map +1 -1
- package/dist/esm/types/search.d.ts +287 -236
- package/dist/esm/types/search.d.ts.map +1 -1
- package/package.json +48 -43
package/LICENSE
CHANGED
|
@@ -1,21 +1,21 @@
|
|
|
1
|
-
MIT License
|
|
2
|
-
|
|
3
|
-
Copyright (c) 2026 fine_wei
|
|
4
|
-
|
|
5
|
-
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
-
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
-
in the Software without restriction, including without limitation the rights
|
|
8
|
-
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
-
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
-
furnished to do so, subject to the following conditions:
|
|
11
|
-
|
|
12
|
-
The above copyright notice and this permission notice shall be included in all
|
|
13
|
-
copies or substantial portions of the Software.
|
|
14
|
-
|
|
15
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
-
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
-
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
-
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
-
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
-
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
-
SOFTWARE.
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 fine_wei
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
CHANGED
|
@@ -1,104 +1,137 @@
|
|
|
1
|
-
# finej3
|
|
2
|
-
|
|
3
|
-
剑网 3 API 的 TypeScript SDK
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
1
|
+
# finej3
|
|
2
|
+
|
|
3
|
+
剑网 3 API 的 TypeScript SDK,无运行时依赖,支持 Node.js 18+、ESM、CommonJS 和类型声明。
|
|
4
|
+
|
|
5
|
+
当前实现面向 `nico.nicemoe.cn` 的新版 HTTP API,共包含主站 82 个、搜索服务 12 个、客户端服务 15 个方法。不包含 WebSocket 推送。
|
|
6
|
+
|
|
7
|
+
## 2.0.0 版本说明
|
|
8
|
+
|
|
9
|
+
本版本包含破坏性变更,从 1.x 升级前请按下方迁移说明调整调用。
|
|
10
|
+
|
|
11
|
+
- 迁移至新版主站、搜索和客户端服务,共支持 109 个 HTTP 接口。
|
|
12
|
+
- 统一使用 `{ status, detail }` 响应和请求头 token 鉴权,提供 `isSuccess` 类型收窄函数。
|
|
13
|
+
- 更新接口名称、参数和响应类型,保留可空字段、空数组及批量查询的失败分支。
|
|
14
|
+
- 分别提供 ESM / CommonJS 类型声明,验证 `Node16`、`NodeNext` 消费者兼容性。
|
|
15
|
+
|
|
16
|
+
## 安装与使用
|
|
17
|
+
|
|
18
|
+
```sh
|
|
19
|
+
npm install finej3
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
```ts
|
|
23
|
+
import { createJx3, isSuccess } from 'finej3';
|
|
24
|
+
|
|
25
|
+
const { api, search, client } = createJx3({
|
|
26
|
+
token: process.env.JX3API_TOKEN,
|
|
27
|
+
ticket: process.env.JX3API_TICKET,
|
|
28
|
+
});
|
|
29
|
+
|
|
30
|
+
const response = await api.chatRecords({
|
|
31
|
+
server: '梦江南',
|
|
32
|
+
name: '马男',
|
|
33
|
+
limit: 20,
|
|
34
|
+
page: 1,
|
|
35
|
+
});
|
|
36
|
+
|
|
37
|
+
if (!isSuccess(response)) {
|
|
38
|
+
throw new Error(response.detail);
|
|
39
|
+
}
|
|
40
|
+
if (!Array.isArray(response.detail.list)) {
|
|
41
|
+
throw new Error('接口返回了空对象');
|
|
42
|
+
}
|
|
43
|
+
for (const message of response.detail.list) {
|
|
44
|
+
console.log(message.roleName, message.message);
|
|
45
|
+
}
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
CommonJS 使用 `const { createJx3, isSuccess } = require('finej3')`。
|
|
49
|
+
|
|
50
|
+
ESM 和 CommonJS 分别提供对应的类型声明,支持 TypeScript 的 `Node16` 和 `NodeNext` 模块解析。CommonJS TypeScript 文件也可使用 `import sdk = require('finej3')`。
|
|
51
|
+
|
|
52
|
+
SDK 不自动读取环境变量或加载 `.env`。公开接口可省略 `token`;受保护接口使用请求头 `token`。推栏接口支持公共 `ticket`,也允许单次调用覆盖。订单号等大整数 ID 使用字符串。
|
|
53
|
+
|
|
54
|
+
## 响应与错误
|
|
55
|
+
|
|
56
|
+
三个客户端都原样返回 `{ status, detail }`。`status === 200` 表示成功,业务错误的 `detail` 为字符串。错误码范围未被文档限定,使用 `isSuccess(response)` 在 TypeScript 中安全收窄分支。
|
|
57
|
+
|
|
58
|
+
部分成功响应允许 `detail` 为 `{}` 或 `null`,类型中保留这些情况。榜单在查询全服时返回数组,指定服务器时返回分组对象;空字符串也表示全服,因此方法不会仅凭 `server: string` 就断言一定返回单对象。
|
|
59
|
+
|
|
60
|
+
批量在线和副本查询可能外层成功、单个角色失败。对每个条目分别使用 `isSuccess(item)` 判断;失败条目的 `detail` 是错误字符串。
|
|
61
|
+
|
|
62
|
+
网络失败、超时、非法 JSON 或不符合响应信封的内容会抛出异常。业务错误原样返回。默认超时为 30 秒,可通过 `timeoutMs` 调整。
|
|
63
|
+
|
|
64
|
+
## 服务与配置
|
|
65
|
+
|
|
66
|
+
| 客户端 | 默认入口 |
|
|
67
|
+
| --- | --- |
|
|
68
|
+
| `api` | `https://nico.nicemoe.cn` |
|
|
69
|
+
| `search` | `https://nico.nicemoe.cn/search/submit` |
|
|
70
|
+
| `client` | `https://nico.nicemoe.cn/client/submit` |
|
|
71
|
+
|
|
72
|
+
可传入自定义 `fetch`,或通过 `baseUrl: { api, search, client }` 分别覆盖入口。`api` 是 URL 前缀;另外两项是完整的 POST 提交地址,SDK 不再追加路径。
|
|
73
|
+
|
|
74
|
+
## 从 1.x 迁移到 2.0.0
|
|
75
|
+
|
|
76
|
+
此更新包含破坏性变更。将 `code/msg/data/time` 改为 `status/detail`,更新调用名称和字段读取;新服务不会被转换回旧响应格式。
|
|
77
|
+
|
|
78
|
+
| 原调用 | 新调用 |
|
|
79
|
+
| --- | --- |
|
|
80
|
+
| `api.chatContent` | `api.chatRecords`,返回 `detail.list` 和 `detail.total` |
|
|
81
|
+
| `api.cardPreset` | `api.cardDetail` |
|
|
82
|
+
| `api.duowanStatistics` | `api.voiceChannels` |
|
|
83
|
+
| `api.soarNext` | `api.soarRecords` |
|
|
84
|
+
| `api.rankArena` / `rankChampionship` | `api.rankLadder` / `rankContest` |
|
|
85
|
+
| `api.rankConstable` / `rankOutlaw` | `api.rankJianghu({ name: '捕快荣誉榜' / '江湖浪客榜' })` |
|
|
86
|
+
| `api.rankStatistics` | 按榜单使用 `rankRecords`、`rankGuild`、`rankCastle` 或 `rankBattle` |
|
|
87
|
+
| `api.rankTrials({ name })` | `api.rankTrials({ kungfu })` |
|
|
88
|
+
| `api.trialBosses({ season, floor })` | `api.trialBosses({ floor })`,仅查询当前赛季 |
|
|
89
|
+
| `api.tuilanAchievement` | `search.achievement`,不需要 ticket |
|
|
90
|
+
| `api.schoolMatrix` / `schoolSkills` / `schoolTalent` | `search.kungfuMatrixList` / `kungfuSkillList` / `kungfuTalentList`,使用 `kungfu` 参数 |
|
|
91
|
+
| `client.roleShowCard` / `roleShowCards` | `client.roleCardRecord` / `roleCardRecords` |
|
|
92
|
+
| `client.roleShowCardCached` / `roleShowCardRandom` / `roleShowCardRecords` | `client.roleCardCached` / `roleCardRandom` / `roleCardList` |
|
|
93
|
+
| `client.roleEquipList` / `roleCdList` / `rolesCdList` | `client.roleEquipmentDetail` / `roleRaidRecords` / `rolesRaidRecords` |
|
|
94
|
+
| `client.tradeItemSearch` | `client.market`,页码从 0 开始 |
|
|
95
|
+
| `search.tiebaScammerCheck` / `tiebaKeywordCheck` / `tieba818Check` | `search.tiebaFraudCheck` / `tiebaTextCheck` / `tiebaEventCheck` |
|
|
96
|
+
|
|
97
|
+
榜单保留新接口的原始条目字段,例如 `szName`、`dwForceID`,榜单名称字段为 `label`。装备接口区分默认原始格式与 `format: 'calcd'` 的展开格式,包含新返回的赛季和附魔效果。
|
|
98
|
+
|
|
99
|
+
未出现在新文档中的旧方法不再暴露,包括 `raidDrop`、`raidFlip`、`siteIndex` 等;这不表示旧站同名接口一定已停用。按本次升级范围,不实现两个 `/active/update/*` 接口、四个 `/trade/item/alias*` 接口及 `/sound/converter`。
|
|
100
|
+
|
|
101
|
+
## 类型依据与验证
|
|
102
|
+
|
|
103
|
+
响应类型依据官方 OpenAPI 及 2026-11-13 在梦江南等查询范围取得的多角色、多参数样本整理。保留原始字段名、观察到的可选字段及可空值,不以 `any` 或 `unknown` 代替未确认的业务结构。
|
|
104
|
+
|
|
105
|
+
`chituRecords` 的业务数据按用户确认沿用旧版,包括可空的 `time`、`window`、`note`,仅外层改用 `status/detail`。`tiebaSummary` 的线上请求目前返回上游错误;其字段按用户确认沿用原类型,尚未验证新版成功响应。样本不能保证覆盖未来新增字段和所有业务分支。
|
|
106
|
+
|
|
107
|
+
官方文档:[主站](https://nico.nicemoe.cn/openapi)、[搜索](https://nico.nicemoe.cn/doc/json/openapi.search.json)、[客户端](https://nico.nicemoe.cn/doc/json/openapi.client.json)。
|
|
108
|
+
|
|
109
|
+
## 开发与测试
|
|
110
|
+
|
|
111
|
+
开发脚本使用 Node.js 22+。
|
|
112
|
+
|
|
113
|
+
```sh
|
|
114
|
+
npm ci
|
|
115
|
+
npm run typecheck
|
|
116
|
+
npm run build
|
|
117
|
+
npm test
|
|
118
|
+
npm run verify-package
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
`npm run prepublishOnly` 依次运行以上检查,不执行发布。`npm test` 使用本地 HTTP 服务验证全部 109 个方法的路由、参数和鉴权,并检查错误响应、空值、超时及自定义入口;运行前需要构建。
|
|
122
|
+
|
|
123
|
+
`npm run verify-package` 还会通过包名编译 `.mts` / `.cts` 消费者,检查两种模块解析模式下的类型入口,并确认声明文件包含在发布包中。
|
|
124
|
+
|
|
125
|
+
实时查询测试使用忽略的 `.env` 文件:
|
|
126
|
+
|
|
127
|
+
```dotenv
|
|
128
|
+
JX3API_TOKEN=你的访问令牌
|
|
129
|
+
JX3API_TICKET=你的推栏凭证
|
|
130
|
+
# 可选:JX3API_SERVER、JX3API_ROLE
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
运行 `npm run smoke`。默认服务器为梦江南,角色为捞汁小海螺;不会调用写接口,也不打印凭证或完整响应。
|
|
134
|
+
|
|
135
|
+
## 源码恢复记录
|
|
136
|
+
|
|
137
|
+
项目于 2026-11-01 从 npm 的 `finej3@1.0.12` 发布包恢复 TypeScript 源码和构建配置。恢复基线的编译产物与原发布版通过语法树比对;原始排版、完整测试及未发布改动无法从发布包还原。
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
import { HttpClient, type Jx3Envelope, type Jx3Options } from '../core/http.js';
|
|
2
|
+
import type * as T from '../types/client.js';
|
|
3
|
+
/** 新版客户端服务入口。 */
|
|
4
|
+
export declare const CLIENT_BASE_URL = "https://nico.nicemoe.cn/client/submit";
|
|
5
|
+
/** 响应保留 { status, detail };使用 isSuccess 判断成功后读取业务数据。 */
|
|
6
|
+
export declare class Jx3ClientApi extends HttpClient {
|
|
7
|
+
constructor(options?: Jx3Options);
|
|
8
|
+
/** 阵营事件。 */
|
|
9
|
+
campHistory(params: {
|
|
10
|
+
camp: 1 | 2;
|
|
11
|
+
cursor?: string;
|
|
12
|
+
month?: number | null;
|
|
13
|
+
server: string;
|
|
14
|
+
year?: number | null;
|
|
15
|
+
}): Promise<Jx3Envelope<T.CampHistoryData>>;
|
|
16
|
+
/** 据点历史。 */
|
|
17
|
+
castleHistory(params: {
|
|
18
|
+
cursor?: string;
|
|
19
|
+
month?: number | null;
|
|
20
|
+
server: string;
|
|
21
|
+
year?: number | null;
|
|
22
|
+
}): Promise<Jx3Envelope<T.CastleHistoryData>>;
|
|
23
|
+
/** 万宝楼。 */
|
|
24
|
+
cookie(params: {
|
|
25
|
+
server: string;
|
|
26
|
+
}): Promise<Jx3Envelope<T.CookieData>>;
|
|
27
|
+
/** 设计站。 */
|
|
28
|
+
design(params: {
|
|
29
|
+
body_type?: number;
|
|
30
|
+
cover_size_type?: number;
|
|
31
|
+
data_type?: number;
|
|
32
|
+
face_type?: number;
|
|
33
|
+
page?: number;
|
|
34
|
+
server: string;
|
|
35
|
+
upload_source?: string;
|
|
36
|
+
}): Promise<Jx3Envelope<T.DesignData>>;
|
|
37
|
+
/** 交易行。 */
|
|
38
|
+
market(params: {
|
|
39
|
+
keyword: string;
|
|
40
|
+
page?: number;
|
|
41
|
+
quality?: number;
|
|
42
|
+
server: string;
|
|
43
|
+
type_idx?: number;
|
|
44
|
+
}): Promise<Jx3Envelope<T.ClientTradeItemSearchData>>;
|
|
45
|
+
/** 历史名片。 */
|
|
46
|
+
roleCardCached(params: {
|
|
47
|
+
name: string;
|
|
48
|
+
server: string;
|
|
49
|
+
}): Promise<Jx3Envelope<T.ShowCard | null>>;
|
|
50
|
+
/** 名片列表。 */
|
|
51
|
+
roleCardList(params: {
|
|
52
|
+
name: string;
|
|
53
|
+
server: string;
|
|
54
|
+
}): Promise<Jx3Envelope<T.ShowCardHistoryItem[] | null>>;
|
|
55
|
+
/** 随机名片。 */
|
|
56
|
+
roleCardRandom(params: {
|
|
57
|
+
body?: string | null;
|
|
58
|
+
force?: string | null;
|
|
59
|
+
server: string;
|
|
60
|
+
}): Promise<Jx3Envelope<T.ShowCard | null>>;
|
|
61
|
+
/** 当前名片。 */
|
|
62
|
+
roleCardRecord(params: {
|
|
63
|
+
name: string;
|
|
64
|
+
server: string;
|
|
65
|
+
}): Promise<Jx3Envelope<T.ShowCard | null>>;
|
|
66
|
+
/** 多槽名片。 */
|
|
67
|
+
roleCardRecords(params: {
|
|
68
|
+
name: string;
|
|
69
|
+
server: string;
|
|
70
|
+
}): Promise<Jx3Envelope<T.ShowCard[] | null>>;
|
|
71
|
+
/** 装备详情。 */
|
|
72
|
+
roleEquipmentDetail(params: {
|
|
73
|
+
name: string;
|
|
74
|
+
server: string;
|
|
75
|
+
}): Promise<Jx3Envelope<T.RoleEquipListData | null>>;
|
|
76
|
+
/** 角色在线。 */
|
|
77
|
+
roleOnlineStatus(params: {
|
|
78
|
+
name: string;
|
|
79
|
+
server: string;
|
|
80
|
+
}): Promise<Jx3Envelope<T.RoleOnlineStatus | null>>;
|
|
81
|
+
/** 副本记录。 */
|
|
82
|
+
roleRaidRecords(params: {
|
|
83
|
+
name: string;
|
|
84
|
+
server: string;
|
|
85
|
+
}): Promise<Jx3Envelope<T.RaidProgress[] | null>>;
|
|
86
|
+
/** 批量在线。 */
|
|
87
|
+
rolesOnlineStatus(params: {
|
|
88
|
+
roles: [T.RoleRef, ...T.RoleRef[]];
|
|
89
|
+
}): Promise<Jx3Envelope<T.RolesOnlineStatusData | null>>;
|
|
90
|
+
/** 批量副本。 */
|
|
91
|
+
rolesRaidRecords(params: {
|
|
92
|
+
roles: [T.RoleRef, ...T.RoleRef[]];
|
|
93
|
+
}): Promise<Jx3Envelope<T.RolesRaidRecordsData | null>>;
|
|
94
|
+
}
|
|
@@ -2,71 +2,72 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.Jx3ClientApi = exports.CLIENT_BASE_URL = void 0;
|
|
4
4
|
const http_js_1 = require("../core/http.js");
|
|
5
|
-
/**
|
|
6
|
-
exports.CLIENT_BASE_URL =
|
|
7
|
-
/**
|
|
8
|
-
* 客户端服务(submit.client.nicemoe.cn,POST + JSON body,单入口 action 分发)。
|
|
9
|
-
* 响应信封 `{ status, detail }` 原样返回,不解包、业务错误不抛异常(自行判断 status;
|
|
10
|
-
* 业务错误时 detail 为错误描述字符串)。
|
|
11
|
-
*
|
|
12
|
-
* 部分接口(design / tradeItemSearch,以及 roleEquipList 的装备数据)依赖目标服务器
|
|
13
|
-
* 有已注册的游戏客户端在线,否则返回 status=503「无可用客户端」。
|
|
14
|
-
* 传 `baseUrl` 可指向自建代理 / 镜像,缺省用 {@link CLIENT_BASE_URL}。
|
|
15
|
-
*/
|
|
5
|
+
/** 新版客户端服务入口。 */
|
|
6
|
+
exports.CLIENT_BASE_URL = 'https://nico.nicemoe.cn/client/submit';
|
|
7
|
+
/** 响应保留 { status, detail };使用 isSuccess 判断成功后读取业务数据。 */
|
|
16
8
|
class Jx3ClientApi extends http_js_1.HttpClient {
|
|
17
|
-
constructor(options) {
|
|
9
|
+
constructor(options = {}) {
|
|
18
10
|
super(exports.CLIENT_BASE_URL, options);
|
|
19
11
|
}
|
|
20
|
-
/**
|
|
21
|
-
|
|
22
|
-
return this.post('
|
|
12
|
+
/** 阵营事件。 */
|
|
13
|
+
campHistory(params) {
|
|
14
|
+
return this.post('camp_history', { ...params });
|
|
23
15
|
}
|
|
24
|
-
/**
|
|
25
|
-
|
|
26
|
-
return this.post('
|
|
16
|
+
/** 据点历史。 */
|
|
17
|
+
castleHistory(params) {
|
|
18
|
+
return this.post('castle_history', { ...params });
|
|
27
19
|
}
|
|
28
|
-
/**
|
|
29
|
-
|
|
30
|
-
return this.post('
|
|
20
|
+
/** 万宝楼。 */
|
|
21
|
+
cookie(params) {
|
|
22
|
+
return this.post('cookie', { ...params });
|
|
31
23
|
}
|
|
32
|
-
/**
|
|
33
|
-
|
|
34
|
-
return this.post('
|
|
24
|
+
/** 设计站。 */
|
|
25
|
+
design(params) {
|
|
26
|
+
return this.post('design', { ...params });
|
|
35
27
|
}
|
|
36
|
-
/**
|
|
37
|
-
|
|
38
|
-
return this.post('
|
|
28
|
+
/** 交易行。 */
|
|
29
|
+
market(params) {
|
|
30
|
+
return this.post('market', { ...params });
|
|
39
31
|
}
|
|
40
|
-
/**
|
|
41
|
-
|
|
42
|
-
return this.post('
|
|
32
|
+
/** 历史名片。 */
|
|
33
|
+
roleCardCached(params) {
|
|
34
|
+
return this.post('role_card_cached', { ...params });
|
|
43
35
|
}
|
|
44
|
-
/**
|
|
45
|
-
|
|
46
|
-
return this.post('
|
|
36
|
+
/** 名片列表。 */
|
|
37
|
+
roleCardList(params) {
|
|
38
|
+
return this.post('role_card_list', { ...params });
|
|
47
39
|
}
|
|
48
|
-
/**
|
|
49
|
-
|
|
50
|
-
return this.post('
|
|
40
|
+
/** 随机名片。 */
|
|
41
|
+
roleCardRandom(params) {
|
|
42
|
+
return this.post('role_card_random', { ...params });
|
|
51
43
|
}
|
|
52
|
-
/**
|
|
53
|
-
|
|
54
|
-
return this.post('
|
|
44
|
+
/** 当前名片。 */
|
|
45
|
+
roleCardRecord(params) {
|
|
46
|
+
return this.post('role_card_record', { ...params });
|
|
55
47
|
}
|
|
56
|
-
/**
|
|
57
|
-
|
|
58
|
-
return this.post('
|
|
48
|
+
/** 多槽名片。 */
|
|
49
|
+
roleCardRecords(params) {
|
|
50
|
+
return this.post('role_card_records', { ...params });
|
|
59
51
|
}
|
|
60
|
-
/**
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
*/
|
|
64
|
-
tradeItemSearch(params) {
|
|
65
|
-
return this.post('trade_item_search', { ...params });
|
|
52
|
+
/** 装备详情。 */
|
|
53
|
+
roleEquipmentDetail(params) {
|
|
54
|
+
return this.post('role_equipment_detail', { ...params });
|
|
66
55
|
}
|
|
67
|
-
/**
|
|
68
|
-
|
|
69
|
-
return this.post('
|
|
56
|
+
/** 角色在线。 */
|
|
57
|
+
roleOnlineStatus(params) {
|
|
58
|
+
return this.post('role_online_status', { ...params });
|
|
59
|
+
}
|
|
60
|
+
/** 副本记录。 */
|
|
61
|
+
roleRaidRecords(params) {
|
|
62
|
+
return this.post('role_raid_records', { ...params });
|
|
63
|
+
}
|
|
64
|
+
/** 批量在线。 */
|
|
65
|
+
rolesOnlineStatus(params) {
|
|
66
|
+
return this.post('roles_online_status', { ...params });
|
|
67
|
+
}
|
|
68
|
+
/** 批量副本。 */
|
|
69
|
+
rolesRaidRecords(params) {
|
|
70
|
+
return this.post('roles_raid_records', { ...params });
|
|
70
71
|
}
|
|
71
72
|
}
|
|
72
73
|
exports.Jx3ClientApi = Jx3ClientApi;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/clients/client.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/clients/client.ts"],"names":[],"mappings":";;;AAAA,6CAAkG;AAGlG,iBAAiB;AACJ,QAAA,eAAe,GAAG,uCAAuC,CAAC;AAEvE,wDAAwD;AACxD,MAAa,YAAa,SAAQ,oBAAU;IAC1C,YAAY,UAAsB,EAAE;QAClC,KAAK,CAAC,uBAAe,EAAE,OAAO,CAAC,CAAC;IAClC,CAAC;IAED,YAAY;IACZ,WAAW,CAAC,MAMX;QACC,OAAO,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC;IAClD,CAAC;IAED,YAAY;IACZ,aAAa,CAAC,MAKb;QACC,OAAO,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC;IACpD,CAAC;IAED,WAAW;IACX,MAAM,CAAC,MAEN;QACC,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC;IAC5C,CAAC;IAED,WAAW;IACX,MAAM,CAAC,MAQN;QACC,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC;IAC5C,CAAC;IAED,WAAW;IACX,MAAM,CAAC,MAMN;QACC,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC;IAC5C,CAAC;IAED,YAAY;IACZ,cAAc,CAAC,MAGd;QACC,OAAO,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC;IACtD,CAAC;IAED,YAAY;IACZ,YAAY,CAAC,MAGZ;QACC,OAAO,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC;IACpD,CAAC;IAED,YAAY;IACZ,cAAc,CAAC,MAId;QACC,OAAO,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC;IACtD,CAAC;IAED,YAAY;IACZ,cAAc,CAAC,MAGd;QACC,OAAO,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC;IACtD,CAAC;IAED,YAAY;IACZ,eAAe,CAAC,MAGf;QACC,OAAO,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC;IACvD,CAAC;IAED,YAAY;IACZ,mBAAmB,CAAC,MAGnB;QACC,OAAO,IAAI,CAAC,IAAI,CAAC,uBAAuB,EAAE,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC;IAC3D,CAAC;IAED,YAAY;IACZ,gBAAgB,CAAC,MAGhB;QACC,OAAO,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC;IACxD,CAAC;IAED,YAAY;IACZ,eAAe,CAAC,MAGf;QACC,OAAO,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC;IACvD,CAAC;IAED,YAAY;IACZ,iBAAiB,CAAC,MAEjB;QACC,OAAO,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC;IACzD,CAAC;IAED,YAAY;IACZ,gBAAgB,CAAC,MAEhB;QACC,OAAO,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC;IACxD,CAAC;CACF;AAvID,oCAuIC"}
|