bgmt 0.1.0 → 0.1.2
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/README.md +30 -1
- package/dist/cdn.cjs +25 -0
- package/dist/cdn.d.cts +25 -0
- package/dist/cdn.d.mts +25 -0
- package/dist/cdn.mjs +22 -0
- package/dist/index.cjs +109 -44
- package/dist/index.d.cts +3838 -16
- package/dist/index.d.mts +3838 -16
- package/dist/index.mjs +105 -42
- package/dist/types-CDKF8vJi.d.mts +31 -0
- package/dist/types-qUxe1mrZ.d.cts +31 -0
- package/package.json +11 -6
- package/dist/index.d.ts +0 -26
package/dist/index.d.cts
CHANGED
|
@@ -1,26 +1,3848 @@
|
|
|
1
|
+
import { a as SubjectSearch, i as SubjectRating, n as FullSubject, r as SubjectImage, t as BasicSubject } from "./types-qUxe1mrZ.cjs";
|
|
2
|
+
|
|
3
|
+
//#region src/utils/tags.d.ts
|
|
1
4
|
interface Tag {
|
|
2
|
-
|
|
3
|
-
|
|
5
|
+
name: string;
|
|
6
|
+
count: number;
|
|
4
7
|
}
|
|
5
8
|
interface NormalizeTagsOptions {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
9
|
+
/**
|
|
10
|
+
* @default 0
|
|
11
|
+
*/
|
|
12
|
+
count?: number;
|
|
10
13
|
}
|
|
11
14
|
declare function normalizeTags(tags: Tag[], options?: NormalizeTagsOptions): string[];
|
|
12
|
-
|
|
15
|
+
//#endregion
|
|
16
|
+
//#region src/utils/season.d.ts
|
|
13
17
|
declare function trimSeason(bgm: {
|
|
14
|
-
|
|
15
|
-
|
|
18
|
+
name: string;
|
|
19
|
+
alias: string[];
|
|
16
20
|
}): {
|
|
17
|
-
|
|
18
|
-
|
|
21
|
+
name: string;
|
|
22
|
+
original: undefined;
|
|
19
23
|
} | {
|
|
20
|
-
|
|
21
|
-
|
|
24
|
+
name: string;
|
|
25
|
+
original: string[];
|
|
22
26
|
};
|
|
23
|
-
|
|
27
|
+
//#endregion
|
|
28
|
+
//#region ../bgmc/src/types/types/index.d.ts
|
|
29
|
+
/**
|
|
30
|
+
* This file was auto-generated by openapi-typescript.
|
|
31
|
+
* Do not make direct changes to the file.
|
|
32
|
+
*/
|
|
33
|
+
interface paths {
|
|
34
|
+
'/calendar': {
|
|
35
|
+
get: operations['getCalendar'];
|
|
36
|
+
};
|
|
37
|
+
'/search/subject/{keywords}': {
|
|
38
|
+
get: operations['searchSubjectByKeywords'];
|
|
39
|
+
};
|
|
40
|
+
'/v0/search/subjects': {
|
|
41
|
+
/**
|
|
42
|
+
* ## 实验性 API, 本 schema 和实际的 API 行为都可能随时发生改动
|
|
43
|
+
*
|
|
44
|
+
* 目前支持的筛选条件包括:
|
|
45
|
+
* - `type`: 条目类型,参照 `SubjectType` enum, `或`。
|
|
46
|
+
* - `tag`: 标签,可以多次出现。`且` 关系。
|
|
47
|
+
* - `airdate`: 播出日期/发售日期。`且` 关系。
|
|
48
|
+
* - `rating`: 用于搜索指定评分的条目。`且` 关系。
|
|
49
|
+
* - `rank`: 用于搜索指定排名的条目。`且` 关系。
|
|
50
|
+
* - `nsfw`: 使用 `include` 包含NSFW搜索结果。默认排除搜索NSFW条目。无权限情况下忽略此选项,不会返回NSFW条目。
|
|
51
|
+
*
|
|
52
|
+
* 不同筛选条件之间为 `且`
|
|
53
|
+
*/
|
|
54
|
+
post: operations['searchSubjects'];
|
|
55
|
+
};
|
|
56
|
+
'/v0/search/characters': {
|
|
57
|
+
/**
|
|
58
|
+
* ## 实验性 API, 本 schema 和实际的 API 行为都可能随时发生改动
|
|
59
|
+
*
|
|
60
|
+
* 目前支持的筛选条件包括:
|
|
61
|
+
* - `nsfw`: 使用 `include` 包含NSFW搜索结果。默认排除搜索NSFW条目。无权限情况下忽略此选项,不会返回NSFW条目。
|
|
62
|
+
*/
|
|
63
|
+
post: operations['searchCharacters'];
|
|
64
|
+
};
|
|
65
|
+
'/v0/search/persons': {
|
|
66
|
+
/**
|
|
67
|
+
* ## 实验性 API, 本 schema 和实际的 API 行为都可能随时发生改动
|
|
68
|
+
*
|
|
69
|
+
* 目前支持的筛选条件包括:
|
|
70
|
+
* - `career`: 职业,可以多次出现。`且` 关系。
|
|
71
|
+
*
|
|
72
|
+
* 不同筛选条件之间为 `且`
|
|
73
|
+
*/
|
|
74
|
+
post: operations['searchPersons'];
|
|
75
|
+
};
|
|
76
|
+
'/v0/subjects': {
|
|
77
|
+
/** 第一页会 cache 24h,之后会 cache 1h */
|
|
78
|
+
get: operations['getSubjects'];
|
|
79
|
+
};
|
|
80
|
+
'/v0/subjects/{subject_id}': {
|
|
81
|
+
/** cache with 300s */
|
|
82
|
+
get: operations['getSubjectById'];
|
|
83
|
+
};
|
|
84
|
+
'/v0/subjects/{subject_id}/image': {
|
|
85
|
+
get: operations['getSubjectImageById'];
|
|
86
|
+
};
|
|
87
|
+
'/v0/subjects/{subject_id}/persons': {
|
|
88
|
+
get: operations['getRelatedPersonsBySubjectId'];
|
|
89
|
+
};
|
|
90
|
+
'/v0/subjects/{subject_id}/characters': {
|
|
91
|
+
get: operations['getRelatedCharactersBySubjectId'];
|
|
92
|
+
};
|
|
93
|
+
'/v0/subjects/{subject_id}/subjects': {
|
|
94
|
+
get: operations['getRelatedSubjectsBySubjectId'];
|
|
95
|
+
};
|
|
96
|
+
'/v0/episodes': {
|
|
97
|
+
get: operations['getEpisodes'];
|
|
98
|
+
};
|
|
99
|
+
'/v0/episodes/{episode_id}': {
|
|
100
|
+
get: operations['getEpisodeById'];
|
|
101
|
+
};
|
|
102
|
+
'/v0/characters/{character_id}': {
|
|
103
|
+
/** cache with 60s */
|
|
104
|
+
get: operations['getCharacterById'];
|
|
105
|
+
};
|
|
106
|
+
'/v0/characters/{character_id}/image': {
|
|
107
|
+
get: operations['getCharacterImageById'];
|
|
108
|
+
};
|
|
109
|
+
'/v0/characters/{character_id}/subjects': {
|
|
110
|
+
get: operations['getRelatedSubjectsByCharacterId'];
|
|
111
|
+
};
|
|
112
|
+
'/v0/characters/{character_id}/persons': {
|
|
113
|
+
get: operations['getRelatedPersonsByCharacterId'];
|
|
114
|
+
};
|
|
115
|
+
'/v0/characters/{character_id}/collect': {
|
|
116
|
+
/** 为当前用户收藏角色 */
|
|
117
|
+
post: operations['collectCharacterByCharacterIdAndUserId'];
|
|
118
|
+
/** 为当前用户取消收藏角色 */
|
|
119
|
+
delete: operations['uncollectCharacterByCharacterIdAndUserId'];
|
|
120
|
+
};
|
|
121
|
+
'/v0/persons/{person_id}': {
|
|
122
|
+
/** cache with 60s */
|
|
123
|
+
get: operations['getPersonById'];
|
|
124
|
+
};
|
|
125
|
+
'/v0/persons/{person_id}/image': {
|
|
126
|
+
get: operations['getPersonImageById'];
|
|
127
|
+
};
|
|
128
|
+
'/v0/persons/{person_id}/subjects': {
|
|
129
|
+
get: operations['getRelatedSubjectsByPersonId'];
|
|
130
|
+
};
|
|
131
|
+
'/v0/persons/{person_id}/characters': {
|
|
132
|
+
get: operations['getRelatedCharactersByPersonId'];
|
|
133
|
+
};
|
|
134
|
+
'/v0/persons/{person_id}/collect': {
|
|
135
|
+
/** 为当前用户收藏人物 */
|
|
136
|
+
post: operations['collectPersonByPersonIdAndUserId'];
|
|
137
|
+
/** 为当前用户取消收藏人物 */
|
|
138
|
+
delete: operations['uncollectPersonByPersonIdAndUserId'];
|
|
139
|
+
};
|
|
140
|
+
'/v0/users/{username}': {
|
|
141
|
+
/** 获取用户信息 */
|
|
142
|
+
get: operations['getUserByName'];
|
|
143
|
+
};
|
|
144
|
+
'/v0/users/{username}/avatar': {
|
|
145
|
+
/** 获取用户头像,302 重定向至头像地址,设置了 username 之后无法使用 UID 查询。 */
|
|
146
|
+
get: operations['getUserAvatarByName'];
|
|
147
|
+
};
|
|
148
|
+
'/v0/me': {
|
|
149
|
+
/** 返回当前 Access Token 对应的用户信息 */
|
|
150
|
+
get: operations['getMyself'];
|
|
151
|
+
};
|
|
152
|
+
'/v0/users/{username}/collections': {
|
|
153
|
+
/** 获取对应用户的收藏,查看私有收藏需要access token。 */
|
|
154
|
+
get: operations['getUserCollectionsByUsername'];
|
|
155
|
+
};
|
|
156
|
+
'/v0/users/{username}/collections/{subject_id}': {
|
|
157
|
+
/** 获取对应用户的收藏,查看私有收藏需要 access token */
|
|
158
|
+
get: operations['getUserCollection'];
|
|
159
|
+
};
|
|
160
|
+
'/v0/users/-/collections/{subject_id}': {
|
|
161
|
+
/**
|
|
162
|
+
* 修改条目收藏状态, 如果不存在则创建,如果存在则修改
|
|
163
|
+
*
|
|
164
|
+
* 由于直接修改剧集条目的完成度可能会引起意料之外效果,只能用于修改书籍类条目的完成度。
|
|
165
|
+
*
|
|
166
|
+
* 方法的所有请求体字段均可选
|
|
167
|
+
*/
|
|
168
|
+
post: operations['postUserCollection'];
|
|
169
|
+
/**
|
|
170
|
+
* 修改条目收藏状态
|
|
171
|
+
*
|
|
172
|
+
* 由于直接修改剧集条目的完成度可能会引起意料之外效果,只能用于修改书籍类条目的完成度。
|
|
173
|
+
*
|
|
174
|
+
* PATCH 方法的所有请求体字段均可选
|
|
175
|
+
*/
|
|
176
|
+
patch: operations['patchUserCollection'];
|
|
177
|
+
};
|
|
178
|
+
'/v0/users/-/collections/{subject_id}/episodes': {
|
|
179
|
+
get: operations['getUserSubjectEpisodeCollection'];
|
|
180
|
+
/** 同时会重新计算条目的完成度 */
|
|
181
|
+
patch: operations['patchUserSubjectEpisodeCollection'];
|
|
182
|
+
};
|
|
183
|
+
'/v0/users/-/collections/-/episodes/{episode_id}': {
|
|
184
|
+
get: operations['getUserEpisodeCollection'];
|
|
185
|
+
put: operations['putUserEpisodeCollection'];
|
|
186
|
+
};
|
|
187
|
+
'/v0/users/{username}/collections/-/characters': {
|
|
188
|
+
get: operations['getUserCharacterCollections'];
|
|
189
|
+
};
|
|
190
|
+
'/v0/users/{username}/collections/-/characters/{character_id}': {
|
|
191
|
+
get: operations['getUserCharacterCollection'];
|
|
192
|
+
};
|
|
193
|
+
'/v0/users/{username}/collections/-/persons': {
|
|
194
|
+
get: operations['getUserPersonCollections'];
|
|
195
|
+
};
|
|
196
|
+
'/v0/users/{username}/collections/-/persons/{person_id}': {
|
|
197
|
+
get: operations['getUserPersonCollection'];
|
|
198
|
+
};
|
|
199
|
+
'/v0/revisions/persons': {
|
|
200
|
+
get: operations['getPersonRevisions'];
|
|
201
|
+
};
|
|
202
|
+
'/v0/revisions/persons/{revision_id}': {
|
|
203
|
+
get: operations['getPersonRevisionByRevisionId'];
|
|
204
|
+
};
|
|
205
|
+
'/v0/revisions/characters': {
|
|
206
|
+
get: operations['getCharacterRevisions'];
|
|
207
|
+
};
|
|
208
|
+
'/v0/revisions/characters/{revision_id}': {
|
|
209
|
+
get: operations['getCharacterRevisionByRevisionId'];
|
|
210
|
+
};
|
|
211
|
+
'/v0/revisions/subjects': {
|
|
212
|
+
get: operations['getSubjectRevisions'];
|
|
213
|
+
};
|
|
214
|
+
'/v0/revisions/subjects/{revision_id}': {
|
|
215
|
+
get: operations['getSubjectRevisionByRevisionId'];
|
|
216
|
+
};
|
|
217
|
+
'/v0/revisions/episodes': {
|
|
218
|
+
get: operations['getEpisodeRevisions'];
|
|
219
|
+
};
|
|
220
|
+
'/v0/revisions/episodes/{revision_id}': {
|
|
221
|
+
get: operations['getEpisodeRevisionByRevisionId'];
|
|
222
|
+
};
|
|
223
|
+
'/v0/indices': {
|
|
224
|
+
post: operations['newIndex'];
|
|
225
|
+
};
|
|
226
|
+
'/v0/indices/{index_id}': {
|
|
227
|
+
get: operations['getIndexById'];
|
|
228
|
+
put: operations['editIndexById'];
|
|
229
|
+
};
|
|
230
|
+
'/v0/indices/{index_id}/subjects': {
|
|
231
|
+
get: operations['getIndexSubjectsByIndexId'];
|
|
232
|
+
post: operations['addSubjectToIndexByIndexId'];
|
|
233
|
+
};
|
|
234
|
+
'/v0/indices/{index_id}/subjects/{subject_id}': {
|
|
235
|
+
/** 如果条目不存在于目录,会创建该条目 */
|
|
236
|
+
put: operations['editIndexSubjectsByIndexIdAndSubjectID'];
|
|
237
|
+
delete: operations['delelteSubjectFromIndexByIndexIdAndSubjectID'];
|
|
238
|
+
};
|
|
239
|
+
'/v0/indices/{index_id}/collect': {
|
|
240
|
+
/** 为当前用户收藏一条目录 */
|
|
241
|
+
post: operations['collectIndexByIndexIdAndUserId'];
|
|
242
|
+
/** 为当前用户取消收藏一条目录 */
|
|
243
|
+
delete: operations['uncollectIndexByIndexIdAndUserId'];
|
|
244
|
+
};
|
|
245
|
+
}
|
|
246
|
+
interface components {
|
|
247
|
+
schemas: {
|
|
248
|
+
/**
|
|
249
|
+
* @description 条目类型 <br> 1 = book <br> 2 = anime <br> 3 = music <br> 4 = game <br> 6 = real
|
|
250
|
+
* @example 2
|
|
251
|
+
* @enum {integer}
|
|
252
|
+
*/
|
|
253
|
+
Legacy_SubjectType: 1 | 2 | 3 | 4 | 6;
|
|
254
|
+
Legacy_SubjectSmall: {
|
|
255
|
+
/**
|
|
256
|
+
* @description 条目 ID
|
|
257
|
+
* @example 12
|
|
258
|
+
*/
|
|
259
|
+
id?: number;
|
|
260
|
+
/**
|
|
261
|
+
* @description 条目地址
|
|
262
|
+
* @example https://bgm.tv/subject/12
|
|
263
|
+
*/
|
|
264
|
+
url?: string;
|
|
265
|
+
/**
|
|
266
|
+
* SubjectType
|
|
267
|
+
* @description 条目类型
|
|
268
|
+
* - `1` 为 书籍
|
|
269
|
+
* - `2` 为 动画
|
|
270
|
+
* - `3` 为 音乐
|
|
271
|
+
* - `4` 为 游戏
|
|
272
|
+
* - `6` 为 三次元
|
|
273
|
+
*
|
|
274
|
+
* 没有 `5`
|
|
275
|
+
* @example 2
|
|
276
|
+
* @enum {integer}
|
|
277
|
+
*/
|
|
278
|
+
type?: 1 | 2 | 3 | 4 | 6;
|
|
279
|
+
/**
|
|
280
|
+
* @description 条目名称
|
|
281
|
+
* @example ちょびっツ
|
|
282
|
+
*/
|
|
283
|
+
name?: string;
|
|
284
|
+
/**
|
|
285
|
+
* @description 条目中文名称
|
|
286
|
+
* @example 人形电脑天使心
|
|
287
|
+
*/
|
|
288
|
+
name_cn?: string;
|
|
289
|
+
/**
|
|
290
|
+
* @description 剧情简介
|
|
291
|
+
* @example 在不久的将来,电子技术飞速发展,电脑成为人们生活中不可缺少的一部分.主角的名字是本须和秀树,是个19岁的少年,由于考试失败,来到东京上补习班,过着贫穷潦倒的生活……\r\n到达东京的第一天,他很幸运的在垃圾堆捡到一个人型电脑,一直以来秀树都非常渴望拥有个人电脑.当他抱着她带返公寓后,却不知如何开机,在意想不到的地方找到开关并开启后,故事就此展开\r\n本须和秀树捡到了人型计算机〔唧〕。虽然不晓得她到底是不是〔Chobits〕,但她的身上似乎藏有极大的秘密。看到秀树为了钱而烦恼,唧出去找打工,没想到却找到了危险的工作!为了让秀树开心,唧开始到色情小屋打工。但她在遭到过度激烈的强迫要求之后失控。让周遭计算机因此而强制停摆。\r\n另一方面,秀树发现好友新保与补习班的清水老师有着不可告人的关系……
|
|
292
|
+
*/
|
|
293
|
+
summary?: string;
|
|
294
|
+
/**
|
|
295
|
+
* @description 放送开始日期
|
|
296
|
+
* @example 2002-04-02
|
|
297
|
+
*/
|
|
298
|
+
air_date?: string;
|
|
299
|
+
/**
|
|
300
|
+
* @description 放送星期
|
|
301
|
+
* @example 2
|
|
302
|
+
*/
|
|
303
|
+
air_weekday?: number;
|
|
304
|
+
/** @description 封面 */
|
|
305
|
+
images?: {
|
|
306
|
+
/** @example https://lain.bgm.tv/pic/cover/l/c2/0a/12_24O6L.jpg */
|
|
307
|
+
large?: string;
|
|
308
|
+
/** @example https://lain.bgm.tv/pic/cover/c/c2/0a/12_24O6L.jpg */
|
|
309
|
+
common?: string;
|
|
310
|
+
/** @example https://lain.bgm.tv/pic/cover/m/c2/0a/12_24O6L.jpg */
|
|
311
|
+
medium?: string;
|
|
312
|
+
/** @example https://lain.bgm.tv/pic/cover/s/c2/0a/12_24O6L.jpg */
|
|
313
|
+
small?: string;
|
|
314
|
+
/** @example https://lain.bgm.tv/pic/cover/g/c2/0a/12_24O6L.jpg */
|
|
315
|
+
grid?: string;
|
|
316
|
+
};
|
|
317
|
+
/**
|
|
318
|
+
* @description 话数
|
|
319
|
+
* @example 27
|
|
320
|
+
*/
|
|
321
|
+
eps?: number;
|
|
322
|
+
/**
|
|
323
|
+
* @description 话数
|
|
324
|
+
* @example 27
|
|
325
|
+
*/
|
|
326
|
+
eps_count?: number;
|
|
327
|
+
/** @description 评分 */
|
|
328
|
+
rating?: {
|
|
329
|
+
/**
|
|
330
|
+
* @description 总评分人数
|
|
331
|
+
* @example 2289
|
|
332
|
+
*/
|
|
333
|
+
total?: number;
|
|
334
|
+
/** @description 各分值评分人数 */
|
|
335
|
+
count?: {
|
|
336
|
+
/** @example 5 */
|
|
337
|
+
'1'?: number;
|
|
338
|
+
/** @example 3 */
|
|
339
|
+
'2'?: number;
|
|
340
|
+
/** @example 4 */
|
|
341
|
+
'3'?: number;
|
|
342
|
+
/** @example 6 */
|
|
343
|
+
'4'?: number;
|
|
344
|
+
/** @example 46 */
|
|
345
|
+
'5'?: number;
|
|
346
|
+
/** @example 267 */
|
|
347
|
+
'6'?: number;
|
|
348
|
+
/** @example 659 */
|
|
349
|
+
'7'?: number;
|
|
350
|
+
/** @example 885 */
|
|
351
|
+
'8'?: number;
|
|
352
|
+
/** @example 284 */
|
|
353
|
+
'9'?: number;
|
|
354
|
+
/** @example 130 */
|
|
355
|
+
'10'?: number;
|
|
356
|
+
};
|
|
357
|
+
/**
|
|
358
|
+
* @description 评分
|
|
359
|
+
* @example 7.6
|
|
360
|
+
*/
|
|
361
|
+
score?: number;
|
|
362
|
+
};
|
|
363
|
+
/**
|
|
364
|
+
* @description 排名
|
|
365
|
+
* @example 573
|
|
366
|
+
*/
|
|
367
|
+
rank?: number;
|
|
368
|
+
/** @description 收藏人数 */
|
|
369
|
+
collection?: {
|
|
370
|
+
/**
|
|
371
|
+
* @description 想做
|
|
372
|
+
* @example 608
|
|
373
|
+
*/
|
|
374
|
+
wish?: number;
|
|
375
|
+
/**
|
|
376
|
+
* @description 做过
|
|
377
|
+
* @example 3010
|
|
378
|
+
*/
|
|
379
|
+
collect?: number;
|
|
380
|
+
/**
|
|
381
|
+
* @description 在做
|
|
382
|
+
* @example 103
|
|
383
|
+
*/
|
|
384
|
+
doing?: number;
|
|
385
|
+
/**
|
|
386
|
+
* @description 搁置
|
|
387
|
+
* @example 284
|
|
388
|
+
*/
|
|
389
|
+
on_hold?: number;
|
|
390
|
+
/**
|
|
391
|
+
* @description 抛弃
|
|
392
|
+
* @example 86
|
|
393
|
+
*/
|
|
394
|
+
dropped?: number;
|
|
395
|
+
};
|
|
396
|
+
};
|
|
397
|
+
Legacy_SubjectMedium: components['schemas']['Legacy_SubjectSmall'] & {
|
|
398
|
+
/** @description 角色信息 */
|
|
399
|
+
crt?: (components['schemas']['Legacy_Character'] & {
|
|
400
|
+
/**
|
|
401
|
+
* @description 角色类型
|
|
402
|
+
* @example 主角
|
|
403
|
+
*/
|
|
404
|
+
role_name?: string;
|
|
405
|
+
})[];
|
|
406
|
+
/** @description 制作人员信息 */
|
|
407
|
+
staff?: (components['schemas']['Legacy_Person'] & {
|
|
408
|
+
/**
|
|
409
|
+
* @description 人物类型
|
|
410
|
+
* @example 主角
|
|
411
|
+
*/
|
|
412
|
+
role_name?: string;
|
|
413
|
+
/** @description 职位 */
|
|
414
|
+
jobs?: string[];
|
|
415
|
+
})[];
|
|
416
|
+
};
|
|
417
|
+
Legacy_SubjectLarge: components['schemas']['Legacy_SubjectMedium'] & {
|
|
418
|
+
/** @description 章节列表 */
|
|
419
|
+
eps?: components['schemas']['Legacy_Episode'][];
|
|
420
|
+
/** @description 讨论版 */
|
|
421
|
+
topic?: components['schemas']['Legacy_Topic'][];
|
|
422
|
+
/** @description 评论日志 */
|
|
423
|
+
blog?: components['schemas']['Legacy_Blog'][];
|
|
424
|
+
};
|
|
425
|
+
/**
|
|
426
|
+
* @description 章节类型 <br> 0 = 本篇 <br> 1 = 特别篇 <br> 2 = OP <br> 3 = ED <br> 4 = 预告/宣传/广告 <br> 5 = MAD <br> 6 = 其他
|
|
427
|
+
* @example 0
|
|
428
|
+
* @enum {integer}
|
|
429
|
+
*/
|
|
430
|
+
Legacy_EpisodeType: 0 | 1 | 2 | 3 | 4 | 5 | 6;
|
|
431
|
+
/** @description 章节信息 */
|
|
432
|
+
Legacy_Episode: {
|
|
433
|
+
/**
|
|
434
|
+
* @description 章节 ID
|
|
435
|
+
* @example 1027
|
|
436
|
+
*/
|
|
437
|
+
id?: number;
|
|
438
|
+
/**
|
|
439
|
+
* @description 章节地址
|
|
440
|
+
* @example https://bgm.tv/ep/1027
|
|
441
|
+
*/
|
|
442
|
+
url?: string;
|
|
443
|
+
type?: components['schemas']['Legacy_EpisodeType'];
|
|
444
|
+
/**
|
|
445
|
+
* @description 集数
|
|
446
|
+
* @example 1
|
|
447
|
+
*/
|
|
448
|
+
sort?: number;
|
|
449
|
+
/**
|
|
450
|
+
* @description 标题
|
|
451
|
+
* @example ちぃ 目覚める
|
|
452
|
+
*/
|
|
453
|
+
name?: string;
|
|
454
|
+
/**
|
|
455
|
+
* @description 简体中文标题
|
|
456
|
+
* @example 叽,觉醒了
|
|
457
|
+
*/
|
|
458
|
+
name_cn?: string;
|
|
459
|
+
/**
|
|
460
|
+
* @description 时长
|
|
461
|
+
* @example 24m
|
|
462
|
+
*/
|
|
463
|
+
duration?: string;
|
|
464
|
+
/**
|
|
465
|
+
* @description 放送日期
|
|
466
|
+
* @example 2002-04-03
|
|
467
|
+
*/
|
|
468
|
+
airdate?: string;
|
|
469
|
+
/**
|
|
470
|
+
* @description 回复数量
|
|
471
|
+
* @example 9
|
|
472
|
+
*/
|
|
473
|
+
comment?: number;
|
|
474
|
+
/** @description 简介 */
|
|
475
|
+
desc?: string;
|
|
476
|
+
/**
|
|
477
|
+
* @description 放送状态 <br> Air = 已放送 <br> Today = 正在放送 <br> NA = 未放送
|
|
478
|
+
* @example Air
|
|
479
|
+
* @enum {string}
|
|
480
|
+
*/
|
|
481
|
+
status?: 'Air' | 'Today' | 'NA';
|
|
482
|
+
};
|
|
483
|
+
/** @description 讨论版 */
|
|
484
|
+
Legacy_Topic: {
|
|
485
|
+
/** @description ID */
|
|
486
|
+
id?: number;
|
|
487
|
+
/** @description 地址 */
|
|
488
|
+
url?: string;
|
|
489
|
+
/** @description 标题 */
|
|
490
|
+
title?: string;
|
|
491
|
+
/** @description 所属对象(条目) ID */
|
|
492
|
+
main_id?: number;
|
|
493
|
+
/** @description 发布时间 */
|
|
494
|
+
timestamp?: number;
|
|
495
|
+
/** @description 最后回复时间 */
|
|
496
|
+
lastpost?: number;
|
|
497
|
+
/** @description 回复数 */
|
|
498
|
+
replies?: number;
|
|
499
|
+
user?: components['schemas']['Legacy_User'];
|
|
500
|
+
};
|
|
501
|
+
/** @description 日志 */
|
|
502
|
+
Legacy_Blog: {
|
|
503
|
+
/** @description ID */
|
|
504
|
+
id?: number;
|
|
505
|
+
/** @description 地址 */
|
|
506
|
+
url?: string;
|
|
507
|
+
/** @description 标题 */
|
|
508
|
+
title?: string;
|
|
509
|
+
/** @description 概览 */
|
|
510
|
+
summary?: string;
|
|
511
|
+
/** @description 图片 */
|
|
512
|
+
image?: string;
|
|
513
|
+
/** @description 回复数 */
|
|
514
|
+
replies?: number;
|
|
515
|
+
/**
|
|
516
|
+
* @description 发布时间
|
|
517
|
+
* @example 1357144903
|
|
518
|
+
*/
|
|
519
|
+
timestamp?: number;
|
|
520
|
+
/**
|
|
521
|
+
* @description 发布时间
|
|
522
|
+
* @example 2013-1-2 16:41
|
|
523
|
+
*/
|
|
524
|
+
dateline?: string;
|
|
525
|
+
user?: components['schemas']['Legacy_User'];
|
|
526
|
+
};
|
|
527
|
+
/** @description 用户信息 */
|
|
528
|
+
Legacy_User: {
|
|
529
|
+
/**
|
|
530
|
+
* @description 用户 id
|
|
531
|
+
* @example 1
|
|
532
|
+
*/
|
|
533
|
+
id?: number;
|
|
534
|
+
/**
|
|
535
|
+
* @description 用户主页地址
|
|
536
|
+
* @example https://bgm.tv/user/sai
|
|
537
|
+
*/
|
|
538
|
+
url?: string;
|
|
539
|
+
/**
|
|
540
|
+
* @description 用户名
|
|
541
|
+
* @example sai
|
|
542
|
+
*/
|
|
543
|
+
username?: string;
|
|
544
|
+
/**
|
|
545
|
+
* @description 昵称
|
|
546
|
+
* @example Sai
|
|
547
|
+
*/
|
|
548
|
+
nickname?: string;
|
|
549
|
+
/** @description 头像地址 */
|
|
550
|
+
avatar?: {
|
|
551
|
+
/** @example https://lain.bgm.tv/pic/user/l/000/00/00/1.jpg?r=1391790456 */
|
|
552
|
+
large?: string;
|
|
553
|
+
/** @example https://lain.bgm.tv/pic/user/m/000/00/00/1.jpg?r=1391790456 */
|
|
554
|
+
medium?: string;
|
|
555
|
+
/** @example https://lain.bgm.tv/pic/user/s/000/00/00/1.jpg?r=1391790456 */
|
|
556
|
+
small?: string;
|
|
557
|
+
};
|
|
558
|
+
/**
|
|
559
|
+
* @description 签名
|
|
560
|
+
* @example Awesome!
|
|
561
|
+
*/
|
|
562
|
+
sign?: string;
|
|
563
|
+
usergroup?: components['schemas']['Legacy_UserGroup'];
|
|
564
|
+
};
|
|
565
|
+
/**
|
|
566
|
+
* @description 用户组 <br> 1 = 管理员 <br> 2 = Bangumi 管理猿 <br> 3 = 天窗管理猿 <br> 4 = 禁言用户 <br> 5 = 禁止访问用户 <br> 8 = 人物管理猿 <br> 9 = 维基条目管理猿 <br> 10 = 用户 <br> 11 = 维基人
|
|
567
|
+
* @example 11
|
|
568
|
+
* @enum {integer}
|
|
569
|
+
*/
|
|
570
|
+
Legacy_UserGroup: 1 | 2 | 3 | 4 | 5 | 8 | 9 | 10 | 11;
|
|
571
|
+
/** @description 现实人物 */
|
|
572
|
+
Legacy_Person: components['schemas']['Legacy_Mono'] & {
|
|
573
|
+
info?: components['schemas']['Legacy_MonoInfo'];
|
|
574
|
+
};
|
|
575
|
+
/** @description 虚拟角色 */
|
|
576
|
+
Legacy_Character: components['schemas']['Legacy_Mono'] & {
|
|
577
|
+
info?: components['schemas']['Legacy_MonoInfo'];
|
|
578
|
+
/** @description 声优列表 */
|
|
579
|
+
actors?: components['schemas']['Legacy_MonoBase'][];
|
|
580
|
+
};
|
|
581
|
+
/** @description 人物(基础模型) */
|
|
582
|
+
Legacy_MonoBase: {
|
|
583
|
+
/** @description 人物 ID */
|
|
584
|
+
id?: number;
|
|
585
|
+
/** @description 人物地址 */
|
|
586
|
+
url?: string;
|
|
587
|
+
/** @description 姓名 */
|
|
588
|
+
name?: string;
|
|
589
|
+
/** @description 肖像 */
|
|
590
|
+
images?: {
|
|
591
|
+
/** @example https://lain.bgm.tv/pic/crt/l/ce/65/32_crt_XMJOj.jpg */
|
|
592
|
+
large?: string;
|
|
593
|
+
/** @example https://lain.bgm.tv/pic/crt/m/ce/65/32_crt_XMJOj.jpg */
|
|
594
|
+
medium?: string;
|
|
595
|
+
/** @example https://lain.bgm.tv/pic/crt/s/ce/65/32_crt_XMJOj.jpg */
|
|
596
|
+
small?: string;
|
|
597
|
+
/** @example https://lain.bgm.tv/pic/crt/g/ce/65/32_crt_XMJOj.jpg */
|
|
598
|
+
grid?: string;
|
|
599
|
+
};
|
|
600
|
+
};
|
|
601
|
+
/** @description 人物 */
|
|
602
|
+
Legacy_Mono: components['schemas']['Legacy_MonoBase'] & {
|
|
603
|
+
/** @description 简体中文名 */
|
|
604
|
+
name_cn?: string;
|
|
605
|
+
/** @description 回复数量 */
|
|
606
|
+
comment?: number;
|
|
607
|
+
/** @description 收藏人数 */
|
|
608
|
+
collects?: number;
|
|
609
|
+
};
|
|
610
|
+
/** @description 人物信息 */
|
|
611
|
+
Legacy_MonoInfo: {
|
|
612
|
+
/**
|
|
613
|
+
* @description 生日
|
|
614
|
+
* @example 4月13日
|
|
615
|
+
*/
|
|
616
|
+
birth?: string;
|
|
617
|
+
/**
|
|
618
|
+
* @description 身高
|
|
619
|
+
* @example 152cm
|
|
620
|
+
*/
|
|
621
|
+
height?: string;
|
|
622
|
+
/**
|
|
623
|
+
* @description 性别
|
|
624
|
+
* @example 女
|
|
625
|
+
*/
|
|
626
|
+
gender?: string;
|
|
627
|
+
/** @description 别名(另外添加出来的 key 为 0 开始的数字) */
|
|
628
|
+
alias?: {
|
|
629
|
+
/** @description 日文名 */
|
|
630
|
+
jp?: string;
|
|
631
|
+
/** @description 纯假名 */
|
|
632
|
+
kana?: string;
|
|
633
|
+
/** @description 昵称 */
|
|
634
|
+
nick?: string;
|
|
635
|
+
/** @description 罗马字 */
|
|
636
|
+
romaji?: string;
|
|
637
|
+
/** @description 第二中文名 */
|
|
638
|
+
zh?: string;
|
|
639
|
+
};
|
|
640
|
+
/** @description 引用来源 */
|
|
641
|
+
source?: string | string[];
|
|
642
|
+
/** @description 简体中文名 */
|
|
643
|
+
name_cn?: string;
|
|
644
|
+
/** @description 声优 */
|
|
645
|
+
cv?: string;
|
|
646
|
+
};
|
|
647
|
+
/**
|
|
648
|
+
* Subject ID
|
|
649
|
+
* @description 条目 ID
|
|
650
|
+
*/
|
|
651
|
+
SubjectID: number;
|
|
652
|
+
/**
|
|
653
|
+
* User
|
|
654
|
+
* @description 实际的返回值可能包括文档未声明的 `url` 字段,此字段主要用于开发者从 api 响应直接转跳到网页。
|
|
655
|
+
* 客户端开发者请不用依赖于此特性,此字段的值随时可能会改变。
|
|
656
|
+
*
|
|
657
|
+
* @example {
|
|
658
|
+
* "avatar": {
|
|
659
|
+
* "large": "https://lain.bgm.tv/pic/user/l/000/00/00/1.jpg?r=1391790456",
|
|
660
|
+
* "medium": "https://lain.bgm.tv/pic/user/m/000/00/00/1.jpg?r=1391790456",
|
|
661
|
+
* "small": "https://lain.bgm.tv/pic/user/s/000/00/00/1.jpg?r=1391790456"
|
|
662
|
+
* },
|
|
663
|
+
* "sign": "Awesome!",
|
|
664
|
+
* "username": "sai",
|
|
665
|
+
* "nickname": "Sai🖖",
|
|
666
|
+
* "id": 1,
|
|
667
|
+
* "user_group": 1
|
|
668
|
+
* }
|
|
669
|
+
*/
|
|
670
|
+
User: {
|
|
671
|
+
/** ID */
|
|
672
|
+
id: number;
|
|
673
|
+
/**
|
|
674
|
+
* Username
|
|
675
|
+
* @description 唯一用户名,初始与 UID 相同,可修改一次
|
|
676
|
+
*/
|
|
677
|
+
username: string;
|
|
678
|
+
/** Nickname */
|
|
679
|
+
nickname: string;
|
|
680
|
+
user_group: components['schemas']['UserGroup'];
|
|
681
|
+
avatar: components['schemas']['Avatar'];
|
|
682
|
+
/**
|
|
683
|
+
* Sign
|
|
684
|
+
* @description 个人签名
|
|
685
|
+
*/
|
|
686
|
+
sign: string;
|
|
687
|
+
};
|
|
688
|
+
/**
|
|
689
|
+
* Avatar
|
|
690
|
+
* @example {
|
|
691
|
+
* "large": "https://lain.bgm.tv/pic/user/l/000/00/00/1.jpg?r=1391790456",
|
|
692
|
+
* "medium": "https://lain.bgm.tv/pic/user/m/000/00/00/1.jpg?r=1391790456",
|
|
693
|
+
* "small": "https://lain.bgm.tv/pic/user/s/000/00/00/1.jpg?r=1391790456"
|
|
694
|
+
* }
|
|
695
|
+
*/
|
|
696
|
+
Avatar: {
|
|
697
|
+
/**
|
|
698
|
+
* Large
|
|
699
|
+
* Format: url
|
|
700
|
+
*/
|
|
701
|
+
large: string;
|
|
702
|
+
/**
|
|
703
|
+
* Medium
|
|
704
|
+
* Format: url
|
|
705
|
+
*/
|
|
706
|
+
medium: string;
|
|
707
|
+
/**
|
|
708
|
+
* Small
|
|
709
|
+
* Format: url
|
|
710
|
+
*/
|
|
711
|
+
small: string;
|
|
712
|
+
};
|
|
713
|
+
/**
|
|
714
|
+
* UserGroup
|
|
715
|
+
* @description 用户组 - 1 = 管理员 - 2 = Bangumi 管理猿 - 3 = 天窗管理猿 - 4 = 禁言用户 - 5 = 禁止访问用户 - 8 = 人物管理猿 - 9 = 维基条目管理猿 - 10 = 用户 - 11 = 维基人
|
|
716
|
+
* @enum {integer}
|
|
717
|
+
*/
|
|
718
|
+
UserGroup: 1 | 2 | 3 | 4 | 5 | 8 | 9 | 10 | 11;
|
|
719
|
+
/**
|
|
720
|
+
* BloodType
|
|
721
|
+
* @description Blood type of a person. A, B, AB, O
|
|
722
|
+
* @enum {integer}
|
|
723
|
+
*/
|
|
724
|
+
BloodType: 1 | 2 | 3 | 4;
|
|
725
|
+
/** Character */
|
|
726
|
+
Character: {
|
|
727
|
+
/** ID */
|
|
728
|
+
id: number;
|
|
729
|
+
/** Name */
|
|
730
|
+
name: string;
|
|
731
|
+
/** @description 角色,机体,舰船,组织... */
|
|
732
|
+
type: number;
|
|
733
|
+
/**
|
|
734
|
+
* Images
|
|
735
|
+
* @description object with some size of images, this object maybe `null`
|
|
736
|
+
*/
|
|
737
|
+
images?: components['schemas']['PersonImages'];
|
|
738
|
+
/** Summary */
|
|
739
|
+
summary: string;
|
|
740
|
+
/** Locked */
|
|
741
|
+
locked: boolean;
|
|
742
|
+
/**
|
|
743
|
+
* Infobox
|
|
744
|
+
* @description server parsed infobox, a map from key to string or tuple
|
|
745
|
+
* null if server infobox is not valid
|
|
746
|
+
*/
|
|
747
|
+
infobox?: {
|
|
748
|
+
[key: string]: unknown;
|
|
749
|
+
}[];
|
|
750
|
+
/**
|
|
751
|
+
* Gender
|
|
752
|
+
* @description parsed from wiki, maybe null
|
|
753
|
+
*/
|
|
754
|
+
gender?: string;
|
|
755
|
+
/** @description parsed from wiki, maybe null, `1, 2, 3, 4` for `A, B, AB, O` */
|
|
756
|
+
blood_type?: number;
|
|
757
|
+
/**
|
|
758
|
+
* Birth Year
|
|
759
|
+
* @description parsed from wiki, maybe `null`
|
|
760
|
+
*/
|
|
761
|
+
birth_year?: number;
|
|
762
|
+
/**
|
|
763
|
+
* Birth Mon
|
|
764
|
+
* @description parsed from wiki, maybe `null`
|
|
765
|
+
*/
|
|
766
|
+
birth_mon?: number;
|
|
767
|
+
/**
|
|
768
|
+
* Birth Day
|
|
769
|
+
* @description parsed from wiki, maybe `null`
|
|
770
|
+
*/
|
|
771
|
+
birth_day?: number;
|
|
772
|
+
stat: components['schemas']['Stat'];
|
|
773
|
+
};
|
|
774
|
+
/** CharacterPerson */
|
|
775
|
+
CharacterPerson: {
|
|
776
|
+
/** ID */
|
|
777
|
+
id: number;
|
|
778
|
+
/** Name */
|
|
779
|
+
name: string;
|
|
780
|
+
/** @description 角色,机体,舰船,组织... */
|
|
781
|
+
type: number;
|
|
782
|
+
/**
|
|
783
|
+
* Images
|
|
784
|
+
* @description object with some size of images, this object maybe `null`
|
|
785
|
+
*/
|
|
786
|
+
images?: components['schemas']['PersonImages'];
|
|
787
|
+
/** Subject ID */
|
|
788
|
+
subject_id: number;
|
|
789
|
+
subject_type: components['schemas']['SubjectType'];
|
|
790
|
+
/** Subject Name */
|
|
791
|
+
subject_name: string;
|
|
792
|
+
/** Subject Name Cn */
|
|
793
|
+
subject_name_cn: string;
|
|
794
|
+
/** Staff */
|
|
795
|
+
staff?: string;
|
|
796
|
+
};
|
|
797
|
+
/**
|
|
798
|
+
* CharacterType
|
|
799
|
+
* @description type of a character 角色,机体,舰船,组织...
|
|
800
|
+
* @enum {integer}
|
|
801
|
+
*/
|
|
802
|
+
CharacterType: 1 | 2 | 3 | 4;
|
|
803
|
+
/**
|
|
804
|
+
* CollectionType
|
|
805
|
+
* @description - `1`: 想看
|
|
806
|
+
* - `2`: 看过
|
|
807
|
+
* - `3`: 在看
|
|
808
|
+
* - `4`: 搁置
|
|
809
|
+
* - `5`: 抛弃
|
|
810
|
+
* @example 3
|
|
811
|
+
* @enum {integer}
|
|
812
|
+
*/
|
|
813
|
+
SubjectCollectionType: 1 | 2 | 3 | 4 | 5;
|
|
814
|
+
/**
|
|
815
|
+
* EpisodeCollectionType
|
|
816
|
+
* @description - `0`: 未收藏
|
|
817
|
+
* - `1`: 想看
|
|
818
|
+
* - `2`: 看过
|
|
819
|
+
* - `3`: 抛弃
|
|
820
|
+
* @example 2
|
|
821
|
+
* @enum {integer}
|
|
822
|
+
*/
|
|
823
|
+
EpisodeCollectionType: 1 | 2 | 3;
|
|
824
|
+
/**
|
|
825
|
+
* Creator
|
|
826
|
+
* @description 意义同<a href="#model-Me">Me</a>
|
|
827
|
+
*/
|
|
828
|
+
Creator: {
|
|
829
|
+
/** Username */
|
|
830
|
+
username: string;
|
|
831
|
+
/** Nickname */
|
|
832
|
+
nickname: string;
|
|
833
|
+
};
|
|
834
|
+
/** DetailedRevision */
|
|
835
|
+
DetailedRevision: {
|
|
836
|
+
/** ID */
|
|
837
|
+
id: number;
|
|
838
|
+
/** Type */
|
|
839
|
+
type: number;
|
|
840
|
+
creator?: components['schemas']['Creator'];
|
|
841
|
+
/** Summary */
|
|
842
|
+
summary: string;
|
|
843
|
+
/**
|
|
844
|
+
* Created At
|
|
845
|
+
* Format: date-time
|
|
846
|
+
*/
|
|
847
|
+
created_at: string;
|
|
848
|
+
/**
|
|
849
|
+
* Data
|
|
850
|
+
* @description 编辑修改内容,响应类型不固定
|
|
851
|
+
*/
|
|
852
|
+
data?: {
|
|
853
|
+
[key: string]: unknown;
|
|
854
|
+
};
|
|
855
|
+
};
|
|
856
|
+
/** PersonRevision */
|
|
857
|
+
PersonRevision: components['schemas']['Revision'] & {
|
|
858
|
+
/** Data */
|
|
859
|
+
data?: {
|
|
860
|
+
[key: string]: components['schemas']['PersonRevisionDataItem'];
|
|
861
|
+
};
|
|
862
|
+
};
|
|
863
|
+
/** PersonRevisionDataItem */
|
|
864
|
+
PersonRevisionDataItem: {
|
|
865
|
+
/** Person Infobox */
|
|
866
|
+
prsn_infobox: string;
|
|
867
|
+
/** Person Summary */
|
|
868
|
+
prsn_summary: string;
|
|
869
|
+
profession: components['schemas']['PersonRevisionProfession'];
|
|
870
|
+
extra: components['schemas']['RevisionExtra'];
|
|
871
|
+
/** Person Name */
|
|
872
|
+
prsn_name: string;
|
|
873
|
+
};
|
|
874
|
+
/** PersonRevisionProfession */
|
|
875
|
+
PersonRevisionProfession: {
|
|
876
|
+
/** Producer */
|
|
877
|
+
producer?: string;
|
|
878
|
+
/** Mangaka */
|
|
879
|
+
mangaka?: string;
|
|
880
|
+
/** Artist */
|
|
881
|
+
artist?: string;
|
|
882
|
+
/** Seiyu */
|
|
883
|
+
seiyu?: string;
|
|
884
|
+
/** Writer */
|
|
885
|
+
writer?: string;
|
|
886
|
+
/** Illustrator */
|
|
887
|
+
illustrator?: string;
|
|
888
|
+
/** Actor */
|
|
889
|
+
actor?: string;
|
|
890
|
+
};
|
|
891
|
+
/** RevisionExtra */
|
|
892
|
+
RevisionExtra: {
|
|
893
|
+
/** Image */
|
|
894
|
+
img?: string;
|
|
895
|
+
};
|
|
896
|
+
/** SubjectRevision */
|
|
897
|
+
SubjectRevision: components['schemas']['Revision'] & {
|
|
898
|
+
data?: components['schemas']['SubjectRevisionData'];
|
|
899
|
+
};
|
|
900
|
+
/** SubjectRevisionData */
|
|
901
|
+
SubjectRevisionData: {
|
|
902
|
+
/** Field EPs */
|
|
903
|
+
field_eps: number;
|
|
904
|
+
/** Field Infobox */
|
|
905
|
+
field_infobox: string;
|
|
906
|
+
/** Field Summary */
|
|
907
|
+
field_summary: string;
|
|
908
|
+
/** Name */
|
|
909
|
+
name: string;
|
|
910
|
+
/** Name CN */
|
|
911
|
+
name_cn: string;
|
|
912
|
+
/** Platform */
|
|
913
|
+
platform: number;
|
|
914
|
+
/** Subject ID */
|
|
915
|
+
subject_id: number;
|
|
916
|
+
/** Type */
|
|
917
|
+
type: number;
|
|
918
|
+
/** Type ID */
|
|
919
|
+
type_id: number;
|
|
920
|
+
/** Vote Field */
|
|
921
|
+
vote_field: string;
|
|
922
|
+
};
|
|
923
|
+
/** CharacterRevision */
|
|
924
|
+
CharacterRevision: components['schemas']['Revision'] & {
|
|
925
|
+
/** Data */
|
|
926
|
+
data?: {
|
|
927
|
+
[key: string]: components['schemas']['CharacterRevisionDataItem'];
|
|
928
|
+
};
|
|
929
|
+
};
|
|
930
|
+
/** CharacterRevisionDataItem */
|
|
931
|
+
CharacterRevisionDataItem: {
|
|
932
|
+
/** Character Infobox */
|
|
933
|
+
infobox: string;
|
|
934
|
+
/** Character Summary */
|
|
935
|
+
summary: string;
|
|
936
|
+
/** Character Name */
|
|
937
|
+
name: string;
|
|
938
|
+
extra: components['schemas']['RevisionExtra'];
|
|
939
|
+
};
|
|
940
|
+
/**
|
|
941
|
+
* EpType
|
|
942
|
+
* @description 本篇 = 0
|
|
943
|
+
* 特别篇 = 1
|
|
944
|
+
* OP = 2
|
|
945
|
+
* ED = 3
|
|
946
|
+
* 预告/宣传/广告 = 4
|
|
947
|
+
* MAD = 5
|
|
948
|
+
* 其他 = 6
|
|
949
|
+
* @enum {integer}
|
|
950
|
+
*/
|
|
951
|
+
EpType: 0 | 1 | 2 | 3 | 4 | 5 | 6;
|
|
952
|
+
/**
|
|
953
|
+
* Episode
|
|
954
|
+
* @example {
|
|
955
|
+
* "airdate": "",
|
|
956
|
+
* "comment": 0,
|
|
957
|
+
* "desc": "",
|
|
958
|
+
* "disc": 0,
|
|
959
|
+
* "duration": "",
|
|
960
|
+
* "ep": 6,
|
|
961
|
+
* "id": 8,
|
|
962
|
+
* "name": "蒼と白の境界線",
|
|
963
|
+
* "name_cn": "",
|
|
964
|
+
* "sort": 6,
|
|
965
|
+
* "subject_id": 15,
|
|
966
|
+
* "type": 0,
|
|
967
|
+
* "duration_seconds": 1440
|
|
968
|
+
* }
|
|
969
|
+
*/
|
|
970
|
+
Episode: {
|
|
971
|
+
/** ID */
|
|
972
|
+
id: number;
|
|
973
|
+
/**
|
|
974
|
+
* Type
|
|
975
|
+
* @description `0` 本篇,`1` SP,`2` OP,`3` ED
|
|
976
|
+
*/
|
|
977
|
+
type: number;
|
|
978
|
+
/** Name */
|
|
979
|
+
name: string;
|
|
980
|
+
/** Name Cn */
|
|
981
|
+
name_cn: string;
|
|
982
|
+
/**
|
|
983
|
+
* Sort
|
|
984
|
+
* @description 同类条目的排序和集数
|
|
985
|
+
*/
|
|
986
|
+
sort: number;
|
|
987
|
+
/**
|
|
988
|
+
* Ep
|
|
989
|
+
* @description 条目内的集数, 从`1`开始。非本篇剧集的此字段无意义
|
|
990
|
+
*/
|
|
991
|
+
ep?: number;
|
|
992
|
+
/** Airdate */
|
|
993
|
+
airdate: string;
|
|
994
|
+
/** Comment */
|
|
995
|
+
comment: number;
|
|
996
|
+
/**
|
|
997
|
+
* Duration
|
|
998
|
+
* @description 维基人填写的原始时长
|
|
999
|
+
*/
|
|
1000
|
+
duration: string;
|
|
1001
|
+
/**
|
|
1002
|
+
* Desc
|
|
1003
|
+
* @description 简介
|
|
1004
|
+
*/
|
|
1005
|
+
desc: string;
|
|
1006
|
+
/**
|
|
1007
|
+
* Disc
|
|
1008
|
+
* @description 音乐曲目的碟片数
|
|
1009
|
+
*/
|
|
1010
|
+
disc: number;
|
|
1011
|
+
/** @description 服务器解析的时长,无法解析时为 `0` */
|
|
1012
|
+
duration_seconds?: number;
|
|
1013
|
+
};
|
|
1014
|
+
/** EpisodeDetail */
|
|
1015
|
+
EpisodeDetail: {
|
|
1016
|
+
/** ID */
|
|
1017
|
+
id: number;
|
|
1018
|
+
type: components['schemas']['EpType'];
|
|
1019
|
+
/** Name */
|
|
1020
|
+
name: string;
|
|
1021
|
+
/** Name Cn */
|
|
1022
|
+
name_cn: string;
|
|
1023
|
+
/**
|
|
1024
|
+
* Sort
|
|
1025
|
+
* @description 同类条目的排序和集数
|
|
1026
|
+
*/
|
|
1027
|
+
sort: number;
|
|
1028
|
+
/**
|
|
1029
|
+
* Ep
|
|
1030
|
+
* @description 条目内的集数, 从`1`开始。非本篇剧集的此字段无意义
|
|
1031
|
+
*/
|
|
1032
|
+
ep?: number;
|
|
1033
|
+
/** Airdate */
|
|
1034
|
+
airdate: string;
|
|
1035
|
+
/** Comment */
|
|
1036
|
+
comment: number;
|
|
1037
|
+
/** Duration */
|
|
1038
|
+
duration: string;
|
|
1039
|
+
/**
|
|
1040
|
+
* Desc
|
|
1041
|
+
* @description 简介
|
|
1042
|
+
*/
|
|
1043
|
+
desc: string;
|
|
1044
|
+
/**
|
|
1045
|
+
* Disc
|
|
1046
|
+
* @description 音乐曲目的碟片数
|
|
1047
|
+
*/
|
|
1048
|
+
disc: number;
|
|
1049
|
+
/** Subject ID */
|
|
1050
|
+
subject_id: number;
|
|
1051
|
+
};
|
|
1052
|
+
/** ErrorDetail */
|
|
1053
|
+
ErrorDetail: {
|
|
1054
|
+
/** Title */
|
|
1055
|
+
title: string;
|
|
1056
|
+
/** Description */
|
|
1057
|
+
description: string;
|
|
1058
|
+
/** Detail */
|
|
1059
|
+
details?: string | {
|
|
1060
|
+
/** @description error message */
|
|
1061
|
+
error?: string;
|
|
1062
|
+
/** @description request path */
|
|
1063
|
+
path?: string;
|
|
1064
|
+
};
|
|
1065
|
+
};
|
|
1066
|
+
/** Images */
|
|
1067
|
+
Images: {
|
|
1068
|
+
/** Large */
|
|
1069
|
+
large: string;
|
|
1070
|
+
/** Common */
|
|
1071
|
+
common: string;
|
|
1072
|
+
/** Medium */
|
|
1073
|
+
medium: string;
|
|
1074
|
+
/** Small */
|
|
1075
|
+
small: string;
|
|
1076
|
+
/** Grid */
|
|
1077
|
+
grid: string;
|
|
1078
|
+
};
|
|
1079
|
+
/** Index */
|
|
1080
|
+
Index: {
|
|
1081
|
+
/** ID */
|
|
1082
|
+
id: number;
|
|
1083
|
+
/** Title */
|
|
1084
|
+
title: string;
|
|
1085
|
+
/** Desc */
|
|
1086
|
+
desc: string;
|
|
1087
|
+
/**
|
|
1088
|
+
* Total
|
|
1089
|
+
* @description 收录条目总数
|
|
1090
|
+
* @default 0
|
|
1091
|
+
*/
|
|
1092
|
+
total?: number;
|
|
1093
|
+
/**
|
|
1094
|
+
* Stat
|
|
1095
|
+
* @description 目录评论及收藏数
|
|
1096
|
+
*/
|
|
1097
|
+
stat: components['schemas']['Stat'];
|
|
1098
|
+
/**
|
|
1099
|
+
* Created At
|
|
1100
|
+
* Format: date-time
|
|
1101
|
+
*/
|
|
1102
|
+
created_at: string;
|
|
1103
|
+
/**
|
|
1104
|
+
* Updated At
|
|
1105
|
+
* Format: date-time
|
|
1106
|
+
*/
|
|
1107
|
+
updated_at: string;
|
|
1108
|
+
creator: components['schemas']['Creator'];
|
|
1109
|
+
/**
|
|
1110
|
+
* Ban
|
|
1111
|
+
* @deprecated
|
|
1112
|
+
* @description deprecated, always false.
|
|
1113
|
+
*/
|
|
1114
|
+
ban: boolean;
|
|
1115
|
+
/** 目录是否包括 nsfw 条目 */
|
|
1116
|
+
nsfw: boolean;
|
|
1117
|
+
};
|
|
1118
|
+
/**
|
|
1119
|
+
* IndexSubject
|
|
1120
|
+
* @description 同名字段意义同<a href="#model-Subject">Subject</a>
|
|
1121
|
+
*/
|
|
1122
|
+
IndexSubject: {
|
|
1123
|
+
/** ID */
|
|
1124
|
+
id: number;
|
|
1125
|
+
/** Type */
|
|
1126
|
+
type: number;
|
|
1127
|
+
/** Name */
|
|
1128
|
+
name: string;
|
|
1129
|
+
images?: components['schemas']['Images'];
|
|
1130
|
+
infobox?: components['schemas']['WikiV0'];
|
|
1131
|
+
/** Date */
|
|
1132
|
+
date?: string;
|
|
1133
|
+
/** Comment */
|
|
1134
|
+
comment: string;
|
|
1135
|
+
/**
|
|
1136
|
+
* Added At
|
|
1137
|
+
* Format: date-time
|
|
1138
|
+
*/
|
|
1139
|
+
added_at: string;
|
|
1140
|
+
};
|
|
1141
|
+
/**
|
|
1142
|
+
* IndexBasicInfo
|
|
1143
|
+
* @description 新增或修改条目的内容,同名字段意义同<a href="#model-Subject">Subject</a>
|
|
1144
|
+
*/
|
|
1145
|
+
IndexBasicInfo: {
|
|
1146
|
+
/** Title */
|
|
1147
|
+
title?: string;
|
|
1148
|
+
/** Description */
|
|
1149
|
+
description?: string;
|
|
1150
|
+
};
|
|
1151
|
+
/**
|
|
1152
|
+
* IndexBasicInfo
|
|
1153
|
+
* @description 新增某条目到目录的请求信息
|
|
1154
|
+
*/
|
|
1155
|
+
IndexSubjectAddInfo: {
|
|
1156
|
+
/** Subject ID */
|
|
1157
|
+
subject_id?: number;
|
|
1158
|
+
/**
|
|
1159
|
+
* Sort
|
|
1160
|
+
* @description 排序条件,越小越靠前
|
|
1161
|
+
*/
|
|
1162
|
+
sort?: number;
|
|
1163
|
+
/** Comment */
|
|
1164
|
+
comment?: string;
|
|
1165
|
+
};
|
|
1166
|
+
/**
|
|
1167
|
+
* IndexBasicInfo
|
|
1168
|
+
* @description 修改目录中条目的信息
|
|
1169
|
+
*/
|
|
1170
|
+
IndexSubjectEditInfo: {
|
|
1171
|
+
/**
|
|
1172
|
+
* Sort
|
|
1173
|
+
* @description 排序条件,越小越靠前
|
|
1174
|
+
*/
|
|
1175
|
+
sort?: number;
|
|
1176
|
+
/** Comment */
|
|
1177
|
+
comment?: string;
|
|
1178
|
+
};
|
|
1179
|
+
/**
|
|
1180
|
+
* Infobox
|
|
1181
|
+
* @example [
|
|
1182
|
+
* {
|
|
1183
|
+
* "key": "简体中文名",
|
|
1184
|
+
* "value": "鲁路修·兰佩路基"
|
|
1185
|
+
* },
|
|
1186
|
+
* {
|
|
1187
|
+
* "key": "别名",
|
|
1188
|
+
* "value": [
|
|
1189
|
+
* {
|
|
1190
|
+
* "v": "L.L."
|
|
1191
|
+
* },
|
|
1192
|
+
* {
|
|
1193
|
+
* "v": "勒鲁什"
|
|
1194
|
+
* },
|
|
1195
|
+
* {
|
|
1196
|
+
* "v": "鲁鲁修"
|
|
1197
|
+
* },
|
|
1198
|
+
* {
|
|
1199
|
+
* "v": "ゼロ"
|
|
1200
|
+
* },
|
|
1201
|
+
* {
|
|
1202
|
+
* "v": "Zero"
|
|
1203
|
+
* },
|
|
1204
|
+
* {
|
|
1205
|
+
* "k": "英文名",
|
|
1206
|
+
* "v": "Lelouch Lamperouge"
|
|
1207
|
+
* },
|
|
1208
|
+
* {
|
|
1209
|
+
* "k": "第二中文名",
|
|
1210
|
+
* "v": "鲁路修·冯·布里塔尼亚"
|
|
1211
|
+
* },
|
|
1212
|
+
* {
|
|
1213
|
+
* "k": "英文名二",
|
|
1214
|
+
* "v": "Lelouch Vie Britannia"
|
|
1215
|
+
* },
|
|
1216
|
+
* {
|
|
1217
|
+
* "k": "日文名",
|
|
1218
|
+
* "v": "ルルーシュ・ヴィ・ブリタニア"
|
|
1219
|
+
* }
|
|
1220
|
+
* ]
|
|
1221
|
+
* },
|
|
1222
|
+
* {
|
|
1223
|
+
* "key": "性别",
|
|
1224
|
+
* "value": "男"
|
|
1225
|
+
* },
|
|
1226
|
+
* {
|
|
1227
|
+
* "key": "生日",
|
|
1228
|
+
* "value": "12月5日"
|
|
1229
|
+
* },
|
|
1230
|
+
* {
|
|
1231
|
+
* "key": "血型",
|
|
1232
|
+
* "value": "A型"
|
|
1233
|
+
* },
|
|
1234
|
+
* {
|
|
1235
|
+
* "key": "身高",
|
|
1236
|
+
* "value": "178cm→181cm"
|
|
1237
|
+
* },
|
|
1238
|
+
* {
|
|
1239
|
+
* "key": "体重",
|
|
1240
|
+
* "value": "54kg"
|
|
1241
|
+
* },
|
|
1242
|
+
* {
|
|
1243
|
+
* "key": "引用来源",
|
|
1244
|
+
* "value": "Wikipedia"
|
|
1245
|
+
* }
|
|
1246
|
+
* ]
|
|
1247
|
+
*/
|
|
1248
|
+
WikiV0: {
|
|
1249
|
+
/** Key */
|
|
1250
|
+
key: string;
|
|
1251
|
+
/** Value */
|
|
1252
|
+
value: Partial<string> & Partial<(Partial<{
|
|
1253
|
+
/** K */
|
|
1254
|
+
k: string;
|
|
1255
|
+
/** V */
|
|
1256
|
+
v: string;
|
|
1257
|
+
}> & Partial<{
|
|
1258
|
+
/** V */
|
|
1259
|
+
v: string;
|
|
1260
|
+
}>)[]>;
|
|
1261
|
+
}[];
|
|
1262
|
+
Page: {
|
|
1263
|
+
/** Total */
|
|
1264
|
+
total: number;
|
|
1265
|
+
/** Limit */
|
|
1266
|
+
limit: number;
|
|
1267
|
+
/** Offset */
|
|
1268
|
+
offset: number;
|
|
1269
|
+
};
|
|
1270
|
+
/** Paged[Subject] */
|
|
1271
|
+
Paged_Subject: {
|
|
1272
|
+
/**
|
|
1273
|
+
* Total
|
|
1274
|
+
* @default 0
|
|
1275
|
+
*/
|
|
1276
|
+
total?: number;
|
|
1277
|
+
/**
|
|
1278
|
+
* Limit
|
|
1279
|
+
* @default 0
|
|
1280
|
+
*/
|
|
1281
|
+
limit?: number;
|
|
1282
|
+
/**
|
|
1283
|
+
* Offset
|
|
1284
|
+
* @default 0
|
|
1285
|
+
*/
|
|
1286
|
+
offset?: number;
|
|
1287
|
+
/**
|
|
1288
|
+
* Data
|
|
1289
|
+
* @default []
|
|
1290
|
+
*/
|
|
1291
|
+
data?: components['schemas']['Subject'][];
|
|
1292
|
+
};
|
|
1293
|
+
/** Paged[Character] */
|
|
1294
|
+
Paged_Character: {
|
|
1295
|
+
/**
|
|
1296
|
+
* Total
|
|
1297
|
+
* @default 0
|
|
1298
|
+
*/
|
|
1299
|
+
total?: number;
|
|
1300
|
+
/**
|
|
1301
|
+
* Limit
|
|
1302
|
+
* @default 0
|
|
1303
|
+
*/
|
|
1304
|
+
limit?: number;
|
|
1305
|
+
/**
|
|
1306
|
+
* Offset
|
|
1307
|
+
* @default 0
|
|
1308
|
+
*/
|
|
1309
|
+
offset?: number;
|
|
1310
|
+
/**
|
|
1311
|
+
* Data
|
|
1312
|
+
* @default []
|
|
1313
|
+
*/
|
|
1314
|
+
data?: components['schemas']['Character'][];
|
|
1315
|
+
};
|
|
1316
|
+
/** Paged[Person] */
|
|
1317
|
+
Paged_Person: {
|
|
1318
|
+
/**
|
|
1319
|
+
* Total
|
|
1320
|
+
* @default 0
|
|
1321
|
+
*/
|
|
1322
|
+
total?: number;
|
|
1323
|
+
/**
|
|
1324
|
+
* Limit
|
|
1325
|
+
* @default 0
|
|
1326
|
+
*/
|
|
1327
|
+
limit?: number;
|
|
1328
|
+
/**
|
|
1329
|
+
* Offset
|
|
1330
|
+
* @default 0
|
|
1331
|
+
*/
|
|
1332
|
+
offset?: number;
|
|
1333
|
+
/**
|
|
1334
|
+
* Data
|
|
1335
|
+
* @default []
|
|
1336
|
+
*/
|
|
1337
|
+
data?: components['schemas']['Person'][];
|
|
1338
|
+
};
|
|
1339
|
+
/** Paged[Episode] */
|
|
1340
|
+
Paged_Episode: {
|
|
1341
|
+
/**
|
|
1342
|
+
* Total
|
|
1343
|
+
* @default 0
|
|
1344
|
+
*/
|
|
1345
|
+
total?: number;
|
|
1346
|
+
/**
|
|
1347
|
+
* Limit
|
|
1348
|
+
* @default 0
|
|
1349
|
+
*/
|
|
1350
|
+
limit?: number;
|
|
1351
|
+
/**
|
|
1352
|
+
* Offset
|
|
1353
|
+
* @default 0
|
|
1354
|
+
*/
|
|
1355
|
+
offset?: number;
|
|
1356
|
+
/**
|
|
1357
|
+
* Data
|
|
1358
|
+
* @default []
|
|
1359
|
+
*/
|
|
1360
|
+
data?: components['schemas']['Episode'][];
|
|
1361
|
+
};
|
|
1362
|
+
/** Paged[IndexSubject] */
|
|
1363
|
+
Paged_IndexSubject: {
|
|
1364
|
+
/**
|
|
1365
|
+
* Total
|
|
1366
|
+
* @default 0
|
|
1367
|
+
*/
|
|
1368
|
+
total?: number;
|
|
1369
|
+
/**
|
|
1370
|
+
* Limit
|
|
1371
|
+
* @default 0
|
|
1372
|
+
*/
|
|
1373
|
+
limit?: number;
|
|
1374
|
+
/**
|
|
1375
|
+
* Offset
|
|
1376
|
+
* @default 0
|
|
1377
|
+
*/
|
|
1378
|
+
offset?: number;
|
|
1379
|
+
/**
|
|
1380
|
+
* Data
|
|
1381
|
+
* @default []
|
|
1382
|
+
*/
|
|
1383
|
+
data?: components['schemas']['IndexSubject'][];
|
|
1384
|
+
};
|
|
1385
|
+
/** Paged[Revision] */
|
|
1386
|
+
Paged_Revision: {
|
|
1387
|
+
/**
|
|
1388
|
+
* Total
|
|
1389
|
+
* @default 0
|
|
1390
|
+
*/
|
|
1391
|
+
total?: number;
|
|
1392
|
+
/**
|
|
1393
|
+
* Limit
|
|
1394
|
+
* @default 0
|
|
1395
|
+
*/
|
|
1396
|
+
limit?: number;
|
|
1397
|
+
/**
|
|
1398
|
+
* Offset
|
|
1399
|
+
* @default 0
|
|
1400
|
+
*/
|
|
1401
|
+
offset?: number;
|
|
1402
|
+
/**
|
|
1403
|
+
* Data
|
|
1404
|
+
* @default []
|
|
1405
|
+
*/
|
|
1406
|
+
data?: components['schemas']['Revision'][];
|
|
1407
|
+
};
|
|
1408
|
+
/** Paged[UserCollection] */
|
|
1409
|
+
Paged_UserCollection: {
|
|
1410
|
+
/**
|
|
1411
|
+
* Total
|
|
1412
|
+
* @default 0
|
|
1413
|
+
*/
|
|
1414
|
+
total?: number;
|
|
1415
|
+
/**
|
|
1416
|
+
* Limit
|
|
1417
|
+
* @default 0
|
|
1418
|
+
*/
|
|
1419
|
+
limit?: number;
|
|
1420
|
+
/**
|
|
1421
|
+
* Offset
|
|
1422
|
+
* @default 0
|
|
1423
|
+
*/
|
|
1424
|
+
offset?: number;
|
|
1425
|
+
/**
|
|
1426
|
+
* Data
|
|
1427
|
+
* @default []
|
|
1428
|
+
*/
|
|
1429
|
+
data?: components['schemas']['UserSubjectCollection'][];
|
|
1430
|
+
};
|
|
1431
|
+
/** Paged[UserCharacterCollection] */
|
|
1432
|
+
Paged_UserCharacterCollection: {
|
|
1433
|
+
/**
|
|
1434
|
+
* Total
|
|
1435
|
+
* @default 0
|
|
1436
|
+
*/
|
|
1437
|
+
total?: number;
|
|
1438
|
+
/**
|
|
1439
|
+
* Limit
|
|
1440
|
+
* @default 0
|
|
1441
|
+
*/
|
|
1442
|
+
limit?: number;
|
|
1443
|
+
/**
|
|
1444
|
+
* Offset
|
|
1445
|
+
* @default 0
|
|
1446
|
+
*/
|
|
1447
|
+
offset?: number;
|
|
1448
|
+
/**
|
|
1449
|
+
* Data
|
|
1450
|
+
* @default []
|
|
1451
|
+
*/
|
|
1452
|
+
data?: components['schemas']['UserCharacterCollection'][];
|
|
1453
|
+
};
|
|
1454
|
+
/** Paged[UserPersonCollection] */
|
|
1455
|
+
Paged_UserPersonCollection: {
|
|
1456
|
+
/**
|
|
1457
|
+
* Total
|
|
1458
|
+
* @default 0
|
|
1459
|
+
*/
|
|
1460
|
+
total?: number;
|
|
1461
|
+
/**
|
|
1462
|
+
* Limit
|
|
1463
|
+
* @default 0
|
|
1464
|
+
*/
|
|
1465
|
+
limit?: number;
|
|
1466
|
+
/**
|
|
1467
|
+
* Offset
|
|
1468
|
+
* @default 0
|
|
1469
|
+
*/
|
|
1470
|
+
offset?: number;
|
|
1471
|
+
/**
|
|
1472
|
+
* Data
|
|
1473
|
+
* @default []
|
|
1474
|
+
*/
|
|
1475
|
+
data?: components['schemas']['UserPersonCollection'][];
|
|
1476
|
+
};
|
|
1477
|
+
/** Person */
|
|
1478
|
+
Person: {
|
|
1479
|
+
/** ID */
|
|
1480
|
+
id: number;
|
|
1481
|
+
/** Name */
|
|
1482
|
+
name: string;
|
|
1483
|
+
/** @description `1`, `2`, `3` 表示 `个人`, `公司`, `组合` */
|
|
1484
|
+
type: number;
|
|
1485
|
+
career: components['schemas']['PersonCareer'][];
|
|
1486
|
+
/**
|
|
1487
|
+
* Images
|
|
1488
|
+
* @description object with some size of images, this object maybe `null`
|
|
1489
|
+
*/
|
|
1490
|
+
images?: components['schemas']['PersonImages'];
|
|
1491
|
+
/** Short Summary */
|
|
1492
|
+
short_summary: string;
|
|
1493
|
+
/** Locked */
|
|
1494
|
+
locked: boolean;
|
|
1495
|
+
};
|
|
1496
|
+
/**
|
|
1497
|
+
* PersonCareer
|
|
1498
|
+
* @description An enumeration.
|
|
1499
|
+
* @enum {string}
|
|
1500
|
+
*/
|
|
1501
|
+
PersonCareer: 'producer' | 'mangaka' | 'artist' | 'seiyu' | 'writer' | 'illustrator' | 'actor';
|
|
1502
|
+
/** PersonCharacter */
|
|
1503
|
+
PersonCharacter: {
|
|
1504
|
+
/** ID */
|
|
1505
|
+
id: number;
|
|
1506
|
+
/** Name */
|
|
1507
|
+
name: string;
|
|
1508
|
+
/** @description 角色,机体,舰船,组织... */
|
|
1509
|
+
type: number;
|
|
1510
|
+
/**
|
|
1511
|
+
* Images
|
|
1512
|
+
* @description object with some size of images, this object maybe `null`
|
|
1513
|
+
*/
|
|
1514
|
+
images?: components['schemas']['PersonImages'];
|
|
1515
|
+
/** Subject ID */
|
|
1516
|
+
subject_id: number;
|
|
1517
|
+
subject_type: components['schemas']['SubjectType'];
|
|
1518
|
+
/** Subject Name */
|
|
1519
|
+
subject_name: string;
|
|
1520
|
+
/** Subject Name Cn */
|
|
1521
|
+
subject_name_cn: string;
|
|
1522
|
+
/** Staff */
|
|
1523
|
+
staff?: string;
|
|
1524
|
+
};
|
|
1525
|
+
/** PersonDetail */
|
|
1526
|
+
PersonDetail: {
|
|
1527
|
+
/** ID */
|
|
1528
|
+
id: number;
|
|
1529
|
+
/** Name */
|
|
1530
|
+
name: string;
|
|
1531
|
+
/** @description `1`, `2`, `3` 表示 `个人`, `公司`, `组合` */
|
|
1532
|
+
type: number;
|
|
1533
|
+
career: components['schemas']['PersonCareer'][];
|
|
1534
|
+
/**
|
|
1535
|
+
* Images
|
|
1536
|
+
* @description object with some size of images, this object maybe `null`
|
|
1537
|
+
*/
|
|
1538
|
+
images?: components['schemas']['PersonImages'];
|
|
1539
|
+
/** Summary */
|
|
1540
|
+
summary: string;
|
|
1541
|
+
/** Locked */
|
|
1542
|
+
locked: boolean;
|
|
1543
|
+
/**
|
|
1544
|
+
* Last Modified
|
|
1545
|
+
* Format: date-time
|
|
1546
|
+
* @description currently it's latest user comment time, it will be replaced by wiki modified date in the future
|
|
1547
|
+
*/
|
|
1548
|
+
last_modified: string;
|
|
1549
|
+
/**
|
|
1550
|
+
* Infobox
|
|
1551
|
+
* @description server parsed infobox, a map from key to string or tuple
|
|
1552
|
+
* null if server infobox is not valid
|
|
1553
|
+
*/
|
|
1554
|
+
infobox?: {
|
|
1555
|
+
[key: string]: unknown;
|
|
1556
|
+
}[];
|
|
1557
|
+
/**
|
|
1558
|
+
* Gender
|
|
1559
|
+
* @description parsed from wiki, maybe null
|
|
1560
|
+
*/
|
|
1561
|
+
gender?: string;
|
|
1562
|
+
/** @description parsed from wiki, maybe null, `1, 2, 3, 4` for `A, B, AB, O` */
|
|
1563
|
+
blood_type?: number;
|
|
1564
|
+
/**
|
|
1565
|
+
* Birth Year
|
|
1566
|
+
* @description parsed from wiki, maybe `null`
|
|
1567
|
+
*/
|
|
1568
|
+
birth_year?: number;
|
|
1569
|
+
/**
|
|
1570
|
+
* Birth Mon
|
|
1571
|
+
* @description parsed from wiki, maybe `null`
|
|
1572
|
+
*/
|
|
1573
|
+
birth_mon?: number;
|
|
1574
|
+
/**
|
|
1575
|
+
* Birth Day
|
|
1576
|
+
* @description parsed from wiki, maybe `null`
|
|
1577
|
+
*/
|
|
1578
|
+
birth_day?: number;
|
|
1579
|
+
stat: components['schemas']['Stat'];
|
|
1580
|
+
};
|
|
1581
|
+
/** PersonImages */
|
|
1582
|
+
PersonImages: {
|
|
1583
|
+
/** Large */
|
|
1584
|
+
large: string;
|
|
1585
|
+
/** Medium */
|
|
1586
|
+
medium: string;
|
|
1587
|
+
/** Small */
|
|
1588
|
+
small: string;
|
|
1589
|
+
/** Grid */
|
|
1590
|
+
grid: string;
|
|
1591
|
+
};
|
|
1592
|
+
/**
|
|
1593
|
+
* PersonType
|
|
1594
|
+
* @description `1`, `2`, `3` 表示 `个人`, `公司`, `组合`
|
|
1595
|
+
* @enum {integer}
|
|
1596
|
+
*/
|
|
1597
|
+
PersonType: 1 | 2 | 3;
|
|
1598
|
+
/** RelatedCharacter */
|
|
1599
|
+
RelatedCharacter: {
|
|
1600
|
+
/** ID */
|
|
1601
|
+
id: number;
|
|
1602
|
+
/** Name */
|
|
1603
|
+
name: string;
|
|
1604
|
+
/** @description 角色,机体,舰船,组织... */
|
|
1605
|
+
type: number;
|
|
1606
|
+
/**
|
|
1607
|
+
* Images
|
|
1608
|
+
* @description object with some size of images, this object maybe `null`
|
|
1609
|
+
*/
|
|
1610
|
+
images?: components['schemas']['PersonImages'];
|
|
1611
|
+
/** Relation */
|
|
1612
|
+
relation: string;
|
|
1613
|
+
/**
|
|
1614
|
+
* Actors
|
|
1615
|
+
* @description 演员列表
|
|
1616
|
+
* @default []
|
|
1617
|
+
*/
|
|
1618
|
+
actors?: components['schemas']['Person'][];
|
|
1619
|
+
};
|
|
1620
|
+
/** RelatedPerson */
|
|
1621
|
+
RelatedPerson: {
|
|
1622
|
+
/** ID */
|
|
1623
|
+
id: number;
|
|
1624
|
+
/** Name */
|
|
1625
|
+
name: string;
|
|
1626
|
+
/** @description `1`, `2`, `3` 表示 `个人`, `公司`, `组合` */
|
|
1627
|
+
type: number;
|
|
1628
|
+
career: components['schemas']['PersonCareer'][];
|
|
1629
|
+
/**
|
|
1630
|
+
* Images
|
|
1631
|
+
* @description object with some size of images, this object maybe `null`
|
|
1632
|
+
*/
|
|
1633
|
+
images?: components['schemas']['PersonImages'];
|
|
1634
|
+
/** Relation */
|
|
1635
|
+
relation: string;
|
|
1636
|
+
/**
|
|
1637
|
+
* Eps
|
|
1638
|
+
* @description 参与章节/曲目
|
|
1639
|
+
*/
|
|
1640
|
+
eps: string;
|
|
1641
|
+
};
|
|
1642
|
+
/** UserCharacterCollection */
|
|
1643
|
+
UserCharacterCollection: {
|
|
1644
|
+
/** ID */
|
|
1645
|
+
id: number;
|
|
1646
|
+
/** Name */
|
|
1647
|
+
name: string;
|
|
1648
|
+
/** @description 角色,机体,舰船,组织... */
|
|
1649
|
+
type: number;
|
|
1650
|
+
/**
|
|
1651
|
+
* Images
|
|
1652
|
+
* @description object with some size of images, this object maybe `null`
|
|
1653
|
+
*/
|
|
1654
|
+
images?: components['schemas']['PersonImages'];
|
|
1655
|
+
/**
|
|
1656
|
+
* Created At
|
|
1657
|
+
* Format: date-time
|
|
1658
|
+
*/
|
|
1659
|
+
created_at: string;
|
|
1660
|
+
};
|
|
1661
|
+
/** UserPersonCollection */
|
|
1662
|
+
UserPersonCollection: {
|
|
1663
|
+
/** ID */
|
|
1664
|
+
id: number;
|
|
1665
|
+
/** Name */
|
|
1666
|
+
name: string;
|
|
1667
|
+
/** @description `1`, `2`, `3` 表示 `个人`, `公司`, `组合` */
|
|
1668
|
+
type: number;
|
|
1669
|
+
career: components['schemas']['PersonCareer'][];
|
|
1670
|
+
/**
|
|
1671
|
+
* Images
|
|
1672
|
+
* @description object with some size of images, this object maybe `null`
|
|
1673
|
+
*/
|
|
1674
|
+
images?: components['schemas']['PersonImages'];
|
|
1675
|
+
/**
|
|
1676
|
+
* Created At
|
|
1677
|
+
* Format: date-time
|
|
1678
|
+
*/
|
|
1679
|
+
created_at: string;
|
|
1680
|
+
};
|
|
1681
|
+
/** Revision */
|
|
1682
|
+
Revision: {
|
|
1683
|
+
/** ID */
|
|
1684
|
+
id: number;
|
|
1685
|
+
/** Type */
|
|
1686
|
+
type: number;
|
|
1687
|
+
creator?: components['schemas']['Creator'];
|
|
1688
|
+
/** Summary */
|
|
1689
|
+
summary: string;
|
|
1690
|
+
/**
|
|
1691
|
+
* Created At
|
|
1692
|
+
* Format: date-time
|
|
1693
|
+
*/
|
|
1694
|
+
created_at: string;
|
|
1695
|
+
};
|
|
1696
|
+
/** Stat */
|
|
1697
|
+
Stat: {
|
|
1698
|
+
/** Comments */
|
|
1699
|
+
comments: number;
|
|
1700
|
+
/** Collects */
|
|
1701
|
+
collects: number;
|
|
1702
|
+
};
|
|
1703
|
+
/** Subject */
|
|
1704
|
+
Subject: {
|
|
1705
|
+
/** ID */
|
|
1706
|
+
id: number;
|
|
1707
|
+
/** Type */
|
|
1708
|
+
type: number;
|
|
1709
|
+
/** Name */
|
|
1710
|
+
name: string;
|
|
1711
|
+
/** Name Cn */
|
|
1712
|
+
name_cn: string;
|
|
1713
|
+
/** Summary */
|
|
1714
|
+
summary: string;
|
|
1715
|
+
/**
|
|
1716
|
+
* Series
|
|
1717
|
+
* @description 是否为书籍系列的主条目
|
|
1718
|
+
*/
|
|
1719
|
+
series: boolean;
|
|
1720
|
+
/** Nsfw */
|
|
1721
|
+
nsfw: boolean;
|
|
1722
|
+
/** Locked */
|
|
1723
|
+
locked: boolean;
|
|
1724
|
+
/**
|
|
1725
|
+
* Date
|
|
1726
|
+
* @description air date in `YYYY-MM-DD` format
|
|
1727
|
+
*/
|
|
1728
|
+
date?: string;
|
|
1729
|
+
/**
|
|
1730
|
+
* Platform
|
|
1731
|
+
* @description TV, Web, 欧美剧, DLC...
|
|
1732
|
+
*/
|
|
1733
|
+
platform: string;
|
|
1734
|
+
images: components['schemas']['Images'];
|
|
1735
|
+
infobox?: components['schemas']['WikiV0'];
|
|
1736
|
+
/**
|
|
1737
|
+
* Volumes
|
|
1738
|
+
* @description 书籍条目的册数,由旧服务端从wiki中解析
|
|
1739
|
+
*/
|
|
1740
|
+
volumes: number;
|
|
1741
|
+
/**
|
|
1742
|
+
* Eps
|
|
1743
|
+
* @description 由旧服务端从wiki中解析,对于书籍条目为`话数`
|
|
1744
|
+
*/
|
|
1745
|
+
eps: number;
|
|
1746
|
+
/**
|
|
1747
|
+
* Total Episodes
|
|
1748
|
+
* @description 数据库中的章节数量
|
|
1749
|
+
*/
|
|
1750
|
+
total_episodes: number;
|
|
1751
|
+
/** Rating */
|
|
1752
|
+
rating: {
|
|
1753
|
+
/** Rank */
|
|
1754
|
+
rank: number;
|
|
1755
|
+
/** Total */
|
|
1756
|
+
total: number;
|
|
1757
|
+
/** Count */
|
|
1758
|
+
count: {
|
|
1759
|
+
'1'?: number;
|
|
1760
|
+
'2'?: number;
|
|
1761
|
+
'3'?: number;
|
|
1762
|
+
'4'?: number;
|
|
1763
|
+
'5'?: number;
|
|
1764
|
+
'6'?: number;
|
|
1765
|
+
'7'?: number;
|
|
1766
|
+
'8'?: number;
|
|
1767
|
+
'9'?: number;
|
|
1768
|
+
'10'?: number;
|
|
1769
|
+
};
|
|
1770
|
+
/** Score */
|
|
1771
|
+
score: number;
|
|
1772
|
+
};
|
|
1773
|
+
/** Collection */
|
|
1774
|
+
collection: {
|
|
1775
|
+
/** Wish */
|
|
1776
|
+
wish: number;
|
|
1777
|
+
/** Collect */
|
|
1778
|
+
collect: number;
|
|
1779
|
+
/** Doing */
|
|
1780
|
+
doing: number;
|
|
1781
|
+
/** On Hold */
|
|
1782
|
+
on_hold: number;
|
|
1783
|
+
/** Dropped */
|
|
1784
|
+
dropped: number;
|
|
1785
|
+
};
|
|
1786
|
+
/** @description 由维基人维护的 tag */
|
|
1787
|
+
meta_tags: string[];
|
|
1788
|
+
tags: components['schemas']['SubjectTags'];
|
|
1789
|
+
};
|
|
1790
|
+
/** SlimSubject */
|
|
1791
|
+
SlimSubject: {
|
|
1792
|
+
/** ID */
|
|
1793
|
+
id: number;
|
|
1794
|
+
/** Type */
|
|
1795
|
+
type: number;
|
|
1796
|
+
/** Name */
|
|
1797
|
+
name: string;
|
|
1798
|
+
/** Name Cn */
|
|
1799
|
+
name_cn: string;
|
|
1800
|
+
/**
|
|
1801
|
+
* Summary
|
|
1802
|
+
* @description 截短后的条目描述。
|
|
1803
|
+
*/
|
|
1804
|
+
short_summary: string;
|
|
1805
|
+
/**
|
|
1806
|
+
* Date
|
|
1807
|
+
* @description air date in `YYYY-MM-DD` format
|
|
1808
|
+
*/
|
|
1809
|
+
date?: string;
|
|
1810
|
+
images: components['schemas']['Images'];
|
|
1811
|
+
/**
|
|
1812
|
+
* Volumes
|
|
1813
|
+
* @description 书籍条目的册数,由旧服务端从wiki中解析
|
|
1814
|
+
*/
|
|
1815
|
+
volumes: number;
|
|
1816
|
+
/**
|
|
1817
|
+
* Eps
|
|
1818
|
+
* @description 由旧服务端从wiki中解析,对于书籍条目为`话数`
|
|
1819
|
+
*/
|
|
1820
|
+
eps: number;
|
|
1821
|
+
/**
|
|
1822
|
+
* Total
|
|
1823
|
+
* @description 收藏人数
|
|
1824
|
+
*/
|
|
1825
|
+
collection_total: number;
|
|
1826
|
+
/**
|
|
1827
|
+
* Score
|
|
1828
|
+
* @description 分数
|
|
1829
|
+
*/
|
|
1830
|
+
score: number;
|
|
1831
|
+
/**
|
|
1832
|
+
* Rank
|
|
1833
|
+
* @description 排名
|
|
1834
|
+
*/
|
|
1835
|
+
rank: number;
|
|
1836
|
+
/** @description 前 10 个 tag */
|
|
1837
|
+
tags: components['schemas']['SubjectTags'];
|
|
1838
|
+
};
|
|
1839
|
+
/** Tags */
|
|
1840
|
+
SubjectTags: {
|
|
1841
|
+
/** Name */
|
|
1842
|
+
name: string;
|
|
1843
|
+
/** Count */
|
|
1844
|
+
count: number;
|
|
1845
|
+
}[];
|
|
1846
|
+
/**
|
|
1847
|
+
* SubjectType
|
|
1848
|
+
* @description 条目类型
|
|
1849
|
+
* - `1` 为 书籍
|
|
1850
|
+
* - `2` 为 动画
|
|
1851
|
+
* - `3` 为 音乐
|
|
1852
|
+
* - `4` 为 游戏
|
|
1853
|
+
* - `6` 为 三次元
|
|
1854
|
+
*
|
|
1855
|
+
* 没有 `5`
|
|
1856
|
+
* @example 2
|
|
1857
|
+
* @enum {integer}
|
|
1858
|
+
*/
|
|
1859
|
+
SubjectType: 1 | 2 | 3 | 4 | 6;
|
|
1860
|
+
/**
|
|
1861
|
+
* SubjectBookCategory
|
|
1862
|
+
* @description 书籍类型
|
|
1863
|
+
* - `0` 为 其他
|
|
1864
|
+
* - `1001` 为 漫画
|
|
1865
|
+
* - `1002` 为 小说
|
|
1866
|
+
* - `1003` 为 画集
|
|
1867
|
+
* @example 1001
|
|
1868
|
+
* @enum {integer}
|
|
1869
|
+
*/
|
|
1870
|
+
SubjectBookCategory: 0 | 1001 | 1002 | 1003;
|
|
1871
|
+
/**
|
|
1872
|
+
* SubjectAnimeCategory
|
|
1873
|
+
* @description 动画类型
|
|
1874
|
+
* - `0` 为 其他
|
|
1875
|
+
* - `1` 为 TV
|
|
1876
|
+
* - `2` 为 OVA
|
|
1877
|
+
* - `3` 为 Movie
|
|
1878
|
+
* - `5` 为 WEB
|
|
1879
|
+
* @example 1
|
|
1880
|
+
* @enum {integer}
|
|
1881
|
+
*/
|
|
1882
|
+
SubjectAnimeCategory: 0 | 1 | 2 | 3 | 5;
|
|
1883
|
+
/**
|
|
1884
|
+
* SubjectGameCategory
|
|
1885
|
+
* @description 游戏类型
|
|
1886
|
+
* - `0` 为 其他
|
|
1887
|
+
* - `4001` 为 游戏
|
|
1888
|
+
* - `4002` 为 软件
|
|
1889
|
+
* - `4003` 为 扩展包
|
|
1890
|
+
* - `4005` 为 桌游
|
|
1891
|
+
* @example 4001
|
|
1892
|
+
* @enum {integer}
|
|
1893
|
+
*/
|
|
1894
|
+
SubjectGameCategory: 0 | 4001 | 4003 | 4002 | 4005;
|
|
1895
|
+
/**
|
|
1896
|
+
* SubjectRealCategory
|
|
1897
|
+
* @description 电影类型
|
|
1898
|
+
* - `0` 为 其他
|
|
1899
|
+
* - `1` 为 日剧
|
|
1900
|
+
* - `2` 为 欧美剧
|
|
1901
|
+
* - `3` 为 华语剧
|
|
1902
|
+
* - `6001` 为 电视剧
|
|
1903
|
+
* - `6002` 为 电影
|
|
1904
|
+
* - `6003` 为 演出
|
|
1905
|
+
* - `6004` 为 综艺
|
|
1906
|
+
* @example 6
|
|
1907
|
+
* @enum {integer}
|
|
1908
|
+
*/
|
|
1909
|
+
SubjectRealCategory: 0 | 1 | 2 | 3 | 6001 | 6002 | 6003 | 6004;
|
|
1910
|
+
SubjectCategory: Partial<components['schemas']['SubjectBookCategory']> & Partial<components['schemas']['SubjectAnimeCategory']> & Partial<components['schemas']['SubjectGameCategory']> & Partial<components['schemas']['SubjectRealCategory']>;
|
|
1911
|
+
/** UserSubjectCollection */
|
|
1912
|
+
UserSubjectCollection: {
|
|
1913
|
+
/**
|
|
1914
|
+
* Subject ID
|
|
1915
|
+
* @example 8
|
|
1916
|
+
*/
|
|
1917
|
+
subject_id: number;
|
|
1918
|
+
subject_type: components['schemas']['SubjectType'];
|
|
1919
|
+
/**
|
|
1920
|
+
* Rate
|
|
1921
|
+
* @example 4
|
|
1922
|
+
*/
|
|
1923
|
+
rate: number;
|
|
1924
|
+
type: components['schemas']['SubjectCollectionType'];
|
|
1925
|
+
/**
|
|
1926
|
+
* Comment
|
|
1927
|
+
* @example 看看
|
|
1928
|
+
*/
|
|
1929
|
+
comment?: string;
|
|
1930
|
+
/**
|
|
1931
|
+
* Tags
|
|
1932
|
+
* @example [
|
|
1933
|
+
* "柯南",
|
|
1934
|
+
* "万年小学生",
|
|
1935
|
+
* "推理",
|
|
1936
|
+
* "青山刚昌",
|
|
1937
|
+
* "TV"
|
|
1938
|
+
* ]
|
|
1939
|
+
*/
|
|
1940
|
+
tags: string[];
|
|
1941
|
+
/**
|
|
1942
|
+
* Ep Status
|
|
1943
|
+
* @example 5
|
|
1944
|
+
*/
|
|
1945
|
+
ep_status: number;
|
|
1946
|
+
/**
|
|
1947
|
+
* Vol Status
|
|
1948
|
+
* @example 0
|
|
1949
|
+
*/
|
|
1950
|
+
vol_status: number;
|
|
1951
|
+
/**
|
|
1952
|
+
* Updated At
|
|
1953
|
+
* Format: date-time
|
|
1954
|
+
* @description 本时间并不代表条目的收藏时间。修改评分,评价,章节观看状态等收藏信息时未更新此时间是一个 bug。请不要依赖此特性
|
|
1955
|
+
* @example 2022-06-19T18:44:13.6140127+08:00
|
|
1956
|
+
*/
|
|
1957
|
+
updated_at: string;
|
|
1958
|
+
/** Private */
|
|
1959
|
+
private: boolean;
|
|
1960
|
+
subject?: components['schemas']['SlimSubject'];
|
|
1961
|
+
};
|
|
1962
|
+
/**
|
|
1963
|
+
* UserSubjectCollectionModifyPayload
|
|
1964
|
+
* @description 所有的字段均可选
|
|
1965
|
+
*/
|
|
1966
|
+
UserSubjectCollectionModifyPayload: {
|
|
1967
|
+
/** @description 修改条目收藏类型 */
|
|
1968
|
+
type?: components['schemas']['SubjectCollectionType'];
|
|
1969
|
+
/** @description 评分,`0` 表示删除评分 */
|
|
1970
|
+
rate?: number;
|
|
1971
|
+
/** @description 只能用于修改书籍条目进度 */
|
|
1972
|
+
ep_status?: number;
|
|
1973
|
+
/** @description 只能用于修改书籍条目进度 */
|
|
1974
|
+
vol_status?: number;
|
|
1975
|
+
/** @description 评价 */
|
|
1976
|
+
comment?: string;
|
|
1977
|
+
/** @description 仅自己可见 */
|
|
1978
|
+
private?: boolean;
|
|
1979
|
+
/**
|
|
1980
|
+
* 标签
|
|
1981
|
+
* @description 不传或者 `null` 都会被忽略,传 `[]` 则会删除所有 tag。
|
|
1982
|
+
*/
|
|
1983
|
+
tags?: string[];
|
|
1984
|
+
};
|
|
1985
|
+
UserEpisodeCollection: {
|
|
1986
|
+
episode: components['schemas']['Episode'];
|
|
1987
|
+
type: components['schemas']['EpisodeCollectionType'];
|
|
1988
|
+
};
|
|
1989
|
+
/** RelatedSubject */
|
|
1990
|
+
v0_RelatedSubject: {
|
|
1991
|
+
/** ID */
|
|
1992
|
+
id: number;
|
|
1993
|
+
type: components['schemas']['SubjectType'];
|
|
1994
|
+
/** Staff */
|
|
1995
|
+
staff: string;
|
|
1996
|
+
/** Name */
|
|
1997
|
+
name: string;
|
|
1998
|
+
/** Name Cn */
|
|
1999
|
+
name_cn: string;
|
|
2000
|
+
/** Image */
|
|
2001
|
+
image?: string;
|
|
2002
|
+
};
|
|
2003
|
+
/** SubjectRelation */
|
|
2004
|
+
v0_subject_relation: {
|
|
2005
|
+
/** ID */
|
|
2006
|
+
id: number;
|
|
2007
|
+
/** Type */
|
|
2008
|
+
type: number;
|
|
2009
|
+
/** Name */
|
|
2010
|
+
name: string;
|
|
2011
|
+
/** Name Cn */
|
|
2012
|
+
name_cn: string;
|
|
2013
|
+
images?: components['schemas']['Images'];
|
|
2014
|
+
/** Relation */
|
|
2015
|
+
relation: string;
|
|
2016
|
+
};
|
|
2017
|
+
};
|
|
2018
|
+
responses: {
|
|
2019
|
+
/** Bad Request */
|
|
2020
|
+
400: {
|
|
2021
|
+
content: {
|
|
2022
|
+
'application/json': components['schemas']['ErrorDetail'];
|
|
2023
|
+
};
|
|
2024
|
+
};
|
|
2025
|
+
/** Unauthorized */
|
|
2026
|
+
401: {
|
|
2027
|
+
content: {
|
|
2028
|
+
'application/json': components['schemas']['ErrorDetail'];
|
|
2029
|
+
};
|
|
2030
|
+
};
|
|
2031
|
+
/** Not Found */
|
|
2032
|
+
404: {
|
|
2033
|
+
content: {
|
|
2034
|
+
'application/json': components['schemas']['ErrorDetail'];
|
|
2035
|
+
};
|
|
2036
|
+
};
|
|
2037
|
+
/** Internal Server Error */
|
|
2038
|
+
500: {
|
|
2039
|
+
content: {
|
|
2040
|
+
'application/json': components['schemas']['ErrorDetail'];
|
|
2041
|
+
};
|
|
2042
|
+
};
|
|
2043
|
+
/** Successful Response */
|
|
2044
|
+
'200-no-content': unknown;
|
|
2045
|
+
};
|
|
2046
|
+
parameters: {
|
|
2047
|
+
/** @description 条目 ID */
|
|
2048
|
+
path_subject_id: components['schemas']['SubjectID'];
|
|
2049
|
+
/** @description 设置了用户名之后无法使用 UID。 */
|
|
2050
|
+
path_username: string;
|
|
2051
|
+
/** @description 章节 ID */
|
|
2052
|
+
path_episode_id: number;
|
|
2053
|
+
/** @description 角色 ID */
|
|
2054
|
+
path_character_id: number;
|
|
2055
|
+
/** @description 人物 ID */
|
|
2056
|
+
path_person_id: number;
|
|
2057
|
+
/** @description 目录 ID */
|
|
2058
|
+
path_index_id: number;
|
|
2059
|
+
/** @description 条目 ID */
|
|
2060
|
+
query_subject_id: components['schemas']['SubjectID'];
|
|
2061
|
+
/** @description 分页参数 */
|
|
2062
|
+
default_query_limit: number;
|
|
2063
|
+
/** @description 分页参数 */
|
|
2064
|
+
default_query_offset: number;
|
|
2065
|
+
/** @description 版本 ID */
|
|
2066
|
+
path_revision_id: number;
|
|
2067
|
+
};
|
|
2068
|
+
}
|
|
2069
|
+
interface operations {
|
|
2070
|
+
getCalendar: {
|
|
2071
|
+
responses: {
|
|
2072
|
+
/** 每日放送 */
|
|
2073
|
+
200: {
|
|
2074
|
+
content: {
|
|
2075
|
+
'application/json': {
|
|
2076
|
+
weekday?: {
|
|
2077
|
+
/** @example Mon */
|
|
2078
|
+
en?: string;
|
|
2079
|
+
/** @example 星期一 */
|
|
2080
|
+
cn?: string;
|
|
2081
|
+
/** @example 月耀日 */
|
|
2082
|
+
ja?: string;
|
|
2083
|
+
/** @example 1 */
|
|
2084
|
+
id?: number;
|
|
2085
|
+
};
|
|
2086
|
+
items?: components['schemas']['Legacy_SubjectSmall'][];
|
|
2087
|
+
}[];
|
|
2088
|
+
};
|
|
2089
|
+
};
|
|
2090
|
+
};
|
|
2091
|
+
};
|
|
2092
|
+
searchSubjectByKeywords: {
|
|
2093
|
+
parameters: {
|
|
2094
|
+
path: {
|
|
2095
|
+
/** 关键词 <br> 需要 URL Encode */
|
|
2096
|
+
keywords: string;
|
|
2097
|
+
};
|
|
2098
|
+
query: {
|
|
2099
|
+
/** 条目类型,参考 [SubjectType](#model-Legacy_SubjectType) */
|
|
2100
|
+
type?: components['schemas']['Legacy_SubjectType'];
|
|
2101
|
+
/** 返回数据大小 <br> 默认为 small */
|
|
2102
|
+
responseGroup?: 'small' | 'medium' | 'large';
|
|
2103
|
+
/** 开始条数 */
|
|
2104
|
+
start?: number;
|
|
2105
|
+
/** 每页条数 <br> 最多 25 */
|
|
2106
|
+
max_results?: number;
|
|
2107
|
+
};
|
|
2108
|
+
};
|
|
2109
|
+
responses: {
|
|
2110
|
+
/** 搜索结果 */
|
|
2111
|
+
200: {
|
|
2112
|
+
content: {
|
|
2113
|
+
'application/json': {
|
|
2114
|
+
/** @description 总条数 */
|
|
2115
|
+
results?: number;
|
|
2116
|
+
/** @description 结果列表 */
|
|
2117
|
+
list?: components['schemas']['Legacy_SubjectSmall'][];
|
|
2118
|
+
} | {
|
|
2119
|
+
/** @description 总条数 */
|
|
2120
|
+
results?: number;
|
|
2121
|
+
/** @description 结果列表 */
|
|
2122
|
+
list?: components['schemas']['Legacy_SubjectMedium'][];
|
|
2123
|
+
} | {
|
|
2124
|
+
/** @description 总条数 */
|
|
2125
|
+
results?: number;
|
|
2126
|
+
/** @description 结果列表 */
|
|
2127
|
+
list?: components['schemas']['Legacy_SubjectLarge'][];
|
|
2128
|
+
};
|
|
2129
|
+
};
|
|
2130
|
+
};
|
|
2131
|
+
};
|
|
2132
|
+
};
|
|
2133
|
+
/**
|
|
2134
|
+
* ## 实验性 API, 本 schema 和实际的 API 行为都可能随时发生改动
|
|
2135
|
+
*
|
|
2136
|
+
* 目前支持的筛选条件包括:
|
|
2137
|
+
* - `type`: 条目类型,参照 `SubjectType` enum, `或`。
|
|
2138
|
+
* - `tag`: 标签,可以多次出现。`且` 关系。
|
|
2139
|
+
* - `airdate`: 播出日期/发售日期。`且` 关系。
|
|
2140
|
+
* - `rating`: 用于搜索指定评分的条目。`且` 关系。
|
|
2141
|
+
* - `rank`: 用于搜索指定排名的条目。`且` 关系。
|
|
2142
|
+
* - `nsfw`: 使用 `include` 包含NSFW搜索结果。默认排除搜索NSFW条目。无权限情况下忽略此选项,不会返回NSFW条目。
|
|
2143
|
+
*
|
|
2144
|
+
* 不同筛选条件之间为 `且`
|
|
2145
|
+
*/
|
|
2146
|
+
searchSubjects: {
|
|
2147
|
+
parameters: {
|
|
2148
|
+
query: {
|
|
2149
|
+
/** 分页参数 */
|
|
2150
|
+
limit?: number;
|
|
2151
|
+
/** 分页参数 */
|
|
2152
|
+
offset?: number;
|
|
2153
|
+
};
|
|
2154
|
+
};
|
|
2155
|
+
responses: {
|
|
2156
|
+
/** 返回搜索结果 */
|
|
2157
|
+
200: {
|
|
2158
|
+
content: {
|
|
2159
|
+
'application/json': components['schemas']['Paged_Subject'];
|
|
2160
|
+
};
|
|
2161
|
+
};
|
|
2162
|
+
};
|
|
2163
|
+
requestBody: {
|
|
2164
|
+
content: {
|
|
2165
|
+
'application/json': {
|
|
2166
|
+
keyword: string;
|
|
2167
|
+
/**
|
|
2168
|
+
* @description 排序规则
|
|
2169
|
+
*
|
|
2170
|
+
* - `match` meilisearch 的默认排序,按照匹配程度
|
|
2171
|
+
* - `heat` 收藏人数
|
|
2172
|
+
* - `rank` 排名由高到低
|
|
2173
|
+
* - `score` 评分
|
|
2174
|
+
*
|
|
2175
|
+
* @default match
|
|
2176
|
+
* @example rank
|
|
2177
|
+
* @enum {string}
|
|
2178
|
+
*/
|
|
2179
|
+
sort?: 'match' | 'heat' | 'rank' | 'score';
|
|
2180
|
+
/** @description 不同条件之间是 `且` 的关系 */
|
|
2181
|
+
filter?: {
|
|
2182
|
+
/** @description 条目类型,参照 `SubjectType` enum,多值之间为 `或` 的关系。 */
|
|
2183
|
+
type?: components['schemas']['SubjectType'][];
|
|
2184
|
+
/**
|
|
2185
|
+
* @description 公共标签。多个值之间为 `且` 关系。可以用 `-` 排除标签。比如 `-科幻` 可以排除科幻标签。
|
|
2186
|
+
* @example [
|
|
2187
|
+
* "童年",
|
|
2188
|
+
* "原创"
|
|
2189
|
+
* ]
|
|
2190
|
+
*/
|
|
2191
|
+
meta_tags?: string[];
|
|
2192
|
+
/**
|
|
2193
|
+
* @description 标签,可以多次出现。多值之间为 `且` 关系。
|
|
2194
|
+
* @example [
|
|
2195
|
+
* "童年",
|
|
2196
|
+
* "原创"
|
|
2197
|
+
* ]
|
|
2198
|
+
*/
|
|
2199
|
+
tag?: string[];
|
|
2200
|
+
/**
|
|
2201
|
+
* @description 播出日期/发售日期,日期必需为 `YYYY-MM-DD` 格式。多值之间为 `且` 关系。
|
|
2202
|
+
* @example [
|
|
2203
|
+
* ">=2020-07-01",
|
|
2204
|
+
* "<2020-10-01"
|
|
2205
|
+
* ]
|
|
2206
|
+
*/
|
|
2207
|
+
air_date?: string[];
|
|
2208
|
+
/**
|
|
2209
|
+
* @description 用于搜索指定评分的条目,多值之间为 `且` 关系。
|
|
2210
|
+
* @example [
|
|
2211
|
+
* ">=6",
|
|
2212
|
+
* "<8"
|
|
2213
|
+
* ]
|
|
2214
|
+
*/
|
|
2215
|
+
rating?: string[];
|
|
2216
|
+
/**
|
|
2217
|
+
* @description 用于搜索指定排名的条目,多值之间为 `且` 关系。
|
|
2218
|
+
* @example [
|
|
2219
|
+
* ">10",
|
|
2220
|
+
* "<=18"
|
|
2221
|
+
* ]
|
|
2222
|
+
*/
|
|
2223
|
+
rank?: string[];
|
|
2224
|
+
/**
|
|
2225
|
+
* @description 无权限的用户会直接忽略此字段,不会返回R18条目。
|
|
2226
|
+
*
|
|
2227
|
+
* 默认或者 `null` 会返回包含 R18 的所有搜索结果。
|
|
2228
|
+
*
|
|
2229
|
+
* `true` 只会返回 R18 条目。
|
|
2230
|
+
*
|
|
2231
|
+
* `false` 只会返回非 R18 条目。
|
|
2232
|
+
*/
|
|
2233
|
+
nsfw?: boolean;
|
|
2234
|
+
};
|
|
2235
|
+
};
|
|
2236
|
+
};
|
|
2237
|
+
};
|
|
2238
|
+
};
|
|
2239
|
+
/**
|
|
2240
|
+
* ## 实验性 API, 本 schema 和实际的 API 行为都可能随时发生改动
|
|
2241
|
+
*
|
|
2242
|
+
* 目前支持的筛选条件包括:
|
|
2243
|
+
* - `nsfw`: 使用 `include` 包含NSFW搜索结果。默认排除搜索NSFW条目。无权限情况下忽略此选项,不会返回NSFW条目。
|
|
2244
|
+
*/
|
|
2245
|
+
searchCharacters: {
|
|
2246
|
+
parameters: {
|
|
2247
|
+
query: {
|
|
2248
|
+
/** 分页参数 */
|
|
2249
|
+
limit?: number;
|
|
2250
|
+
/** 分页参数 */
|
|
2251
|
+
offset?: number;
|
|
2252
|
+
};
|
|
2253
|
+
};
|
|
2254
|
+
responses: {
|
|
2255
|
+
/** 返回搜索结果 */
|
|
2256
|
+
200: {
|
|
2257
|
+
content: {
|
|
2258
|
+
'application/json': components['schemas']['Paged_Character'];
|
|
2259
|
+
};
|
|
2260
|
+
};
|
|
2261
|
+
};
|
|
2262
|
+
requestBody: {
|
|
2263
|
+
content: {
|
|
2264
|
+
'application/json': {
|
|
2265
|
+
keyword: string;
|
|
2266
|
+
/** @description 不同条件之间是 `且` 的关系 */
|
|
2267
|
+
filter?: {
|
|
2268
|
+
/**
|
|
2269
|
+
* @description 无权限的用户会直接忽略此字段,不会返回 R18 角色。
|
|
2270
|
+
*
|
|
2271
|
+
* 默认或者 `null` 会返回包含 R18 的所有搜索结果。
|
|
2272
|
+
*
|
|
2273
|
+
* `true` 只会返回 R18 角色。
|
|
2274
|
+
*
|
|
2275
|
+
* `false` 只会返回非 R18 角色。
|
|
2276
|
+
*/
|
|
2277
|
+
nsfw?: boolean;
|
|
2278
|
+
};
|
|
2279
|
+
};
|
|
2280
|
+
};
|
|
2281
|
+
};
|
|
2282
|
+
};
|
|
2283
|
+
/**
|
|
2284
|
+
* ## 实验性 API, 本 schema 和实际的 API 行为都可能随时发生改动
|
|
2285
|
+
*
|
|
2286
|
+
* 目前支持的筛选条件包括:
|
|
2287
|
+
* - `career`: 职业,可以多次出现。`且` 关系。
|
|
2288
|
+
*
|
|
2289
|
+
* 不同筛选条件之间为 `且`
|
|
2290
|
+
*/
|
|
2291
|
+
searchPersons: {
|
|
2292
|
+
parameters: {
|
|
2293
|
+
query: {
|
|
2294
|
+
/** 分页参数 */
|
|
2295
|
+
limit?: number;
|
|
2296
|
+
/** 分页参数 */
|
|
2297
|
+
offset?: number;
|
|
2298
|
+
};
|
|
2299
|
+
};
|
|
2300
|
+
responses: {
|
|
2301
|
+
/** 返回搜索结果 */
|
|
2302
|
+
200: {
|
|
2303
|
+
content: {
|
|
2304
|
+
'application/json': components['schemas']['Paged_Person'];
|
|
2305
|
+
};
|
|
2306
|
+
};
|
|
2307
|
+
};
|
|
2308
|
+
requestBody: {
|
|
2309
|
+
content: {
|
|
2310
|
+
'application/json': {
|
|
2311
|
+
keyword: string;
|
|
2312
|
+
/** @description 不同条件之间是 `且` 的关系 */
|
|
2313
|
+
filter?: {
|
|
2314
|
+
/**
|
|
2315
|
+
* @description 职业,可以多次出现。多值之间为 `且` 关系。
|
|
2316
|
+
* @example [
|
|
2317
|
+
* "artist",
|
|
2318
|
+
* "director"
|
|
2319
|
+
* ]
|
|
2320
|
+
*/
|
|
2321
|
+
career?: string[];
|
|
2322
|
+
};
|
|
2323
|
+
};
|
|
2324
|
+
};
|
|
2325
|
+
};
|
|
2326
|
+
};
|
|
2327
|
+
/** 第一页会 cache 24h,之后会 cache 1h */
|
|
2328
|
+
getSubjects: {
|
|
2329
|
+
parameters: {
|
|
2330
|
+
query: {
|
|
2331
|
+
/** 条目类型 */
|
|
2332
|
+
type: components['schemas']['SubjectType'];
|
|
2333
|
+
/** 条目分类,参照 `SubjectCategory` enum */
|
|
2334
|
+
cat?: components['schemas']['SubjectCategory'];
|
|
2335
|
+
/** 是否系列,仅对书籍类型的条目有效 */
|
|
2336
|
+
series?: boolean;
|
|
2337
|
+
/** 平台,仅对游戏类型的条目有效 */
|
|
2338
|
+
platform?: string;
|
|
2339
|
+
/** 排序,枚举值 {date|rank} */
|
|
2340
|
+
sort?: string;
|
|
2341
|
+
/** 年份 */
|
|
2342
|
+
year?: number;
|
|
2343
|
+
/** 月份 */
|
|
2344
|
+
month?: number;
|
|
2345
|
+
/** 分页参数 */
|
|
2346
|
+
limit?: components['parameters']['default_query_limit'];
|
|
2347
|
+
/** 分页参数 */
|
|
2348
|
+
offset?: components['parameters']['default_query_offset'];
|
|
2349
|
+
};
|
|
2350
|
+
};
|
|
2351
|
+
responses: {
|
|
2352
|
+
/** Successful Response */
|
|
2353
|
+
200: {
|
|
2354
|
+
content: {
|
|
2355
|
+
'application/json': components['schemas']['Paged_Subject'];
|
|
2356
|
+
};
|
|
2357
|
+
};
|
|
2358
|
+
/** Validation Error */
|
|
2359
|
+
400: {
|
|
2360
|
+
content: {
|
|
2361
|
+
'application/json': components['schemas']['ErrorDetail'];
|
|
2362
|
+
};
|
|
2363
|
+
};
|
|
2364
|
+
/** Not Found */
|
|
2365
|
+
404: {
|
|
2366
|
+
content: {
|
|
2367
|
+
'application/json': components['schemas']['ErrorDetail'];
|
|
2368
|
+
};
|
|
2369
|
+
};
|
|
2370
|
+
};
|
|
2371
|
+
};
|
|
2372
|
+
/** cache with 300s */
|
|
2373
|
+
getSubjectById: {
|
|
2374
|
+
parameters: {
|
|
2375
|
+
path: {
|
|
2376
|
+
/** 条目 ID */
|
|
2377
|
+
subject_id: components['parameters']['path_subject_id'];
|
|
2378
|
+
};
|
|
2379
|
+
};
|
|
2380
|
+
responses: {
|
|
2381
|
+
/** Successful Response */
|
|
2382
|
+
200: {
|
|
2383
|
+
content: {
|
|
2384
|
+
'application/json': components['schemas']['Subject'];
|
|
2385
|
+
};
|
|
2386
|
+
};
|
|
2387
|
+
/** Validation Error */
|
|
2388
|
+
400: {
|
|
2389
|
+
content: {
|
|
2390
|
+
'application/json': components['schemas']['ErrorDetail'];
|
|
2391
|
+
};
|
|
2392
|
+
};
|
|
2393
|
+
/** Not Found */
|
|
2394
|
+
404: {
|
|
2395
|
+
content: {
|
|
2396
|
+
'application/json': components['schemas']['ErrorDetail'];
|
|
2397
|
+
};
|
|
2398
|
+
};
|
|
2399
|
+
};
|
|
2400
|
+
};
|
|
2401
|
+
getSubjectImageById: {
|
|
2402
|
+
parameters: {
|
|
2403
|
+
path: {
|
|
2404
|
+
/** 条目 ID */
|
|
2405
|
+
subject_id: components['parameters']['path_subject_id'];
|
|
2406
|
+
};
|
|
2407
|
+
query: {
|
|
2408
|
+
/** 枚举值 {small|grid|large|medium|common} */
|
|
2409
|
+
type: string;
|
|
2410
|
+
};
|
|
2411
|
+
};
|
|
2412
|
+
responses: {
|
|
2413
|
+
/** Successful Response */
|
|
2414
|
+
302: never;
|
|
2415
|
+
/** Validation Error */
|
|
2416
|
+
400: {
|
|
2417
|
+
content: {
|
|
2418
|
+
'application/json': components['schemas']['ErrorDetail'];
|
|
2419
|
+
};
|
|
2420
|
+
};
|
|
2421
|
+
/** Not Found */
|
|
2422
|
+
404: {
|
|
2423
|
+
content: {
|
|
2424
|
+
'application/json': components['schemas']['ErrorDetail'];
|
|
2425
|
+
};
|
|
2426
|
+
};
|
|
2427
|
+
};
|
|
2428
|
+
};
|
|
2429
|
+
getRelatedPersonsBySubjectId: {
|
|
2430
|
+
parameters: {
|
|
2431
|
+
path: {
|
|
2432
|
+
/** 条目 ID */
|
|
2433
|
+
subject_id: components['parameters']['path_subject_id'];
|
|
2434
|
+
};
|
|
2435
|
+
};
|
|
2436
|
+
responses: {
|
|
2437
|
+
/** Successful Response */
|
|
2438
|
+
200: {
|
|
2439
|
+
content: {
|
|
2440
|
+
'application/json': components['schemas']['RelatedPerson'][];
|
|
2441
|
+
};
|
|
2442
|
+
};
|
|
2443
|
+
/** Validation Error */
|
|
2444
|
+
400: {
|
|
2445
|
+
content: {
|
|
2446
|
+
'application/json': components['schemas']['ErrorDetail'];
|
|
2447
|
+
};
|
|
2448
|
+
};
|
|
2449
|
+
/** Not Found */
|
|
2450
|
+
404: {
|
|
2451
|
+
content: {
|
|
2452
|
+
'application/json': components['schemas']['ErrorDetail'];
|
|
2453
|
+
};
|
|
2454
|
+
};
|
|
2455
|
+
};
|
|
2456
|
+
};
|
|
2457
|
+
getRelatedCharactersBySubjectId: {
|
|
2458
|
+
parameters: {
|
|
2459
|
+
path: {
|
|
2460
|
+
/** 条目 ID */
|
|
2461
|
+
subject_id: components['parameters']['path_subject_id'];
|
|
2462
|
+
};
|
|
2463
|
+
};
|
|
2464
|
+
responses: {
|
|
2465
|
+
/** Successful Response */
|
|
2466
|
+
200: {
|
|
2467
|
+
content: {
|
|
2468
|
+
'application/json': components['schemas']['RelatedCharacter'][];
|
|
2469
|
+
};
|
|
2470
|
+
};
|
|
2471
|
+
/** Validation Error */
|
|
2472
|
+
400: {
|
|
2473
|
+
content: {
|
|
2474
|
+
'application/json': components['schemas']['ErrorDetail'];
|
|
2475
|
+
};
|
|
2476
|
+
};
|
|
2477
|
+
/** Not Found */
|
|
2478
|
+
404: {
|
|
2479
|
+
content: {
|
|
2480
|
+
'application/json': components['schemas']['ErrorDetail'];
|
|
2481
|
+
};
|
|
2482
|
+
};
|
|
2483
|
+
};
|
|
2484
|
+
};
|
|
2485
|
+
getRelatedSubjectsBySubjectId: {
|
|
2486
|
+
parameters: {
|
|
2487
|
+
path: {
|
|
2488
|
+
/** 条目 ID */
|
|
2489
|
+
subject_id: components['parameters']['path_subject_id'];
|
|
2490
|
+
};
|
|
2491
|
+
};
|
|
2492
|
+
responses: {
|
|
2493
|
+
/** Successful Response */
|
|
2494
|
+
200: {
|
|
2495
|
+
content: {
|
|
2496
|
+
'application/json': components['schemas']['v0_subject_relation'][];
|
|
2497
|
+
};
|
|
2498
|
+
};
|
|
2499
|
+
/** Validation Error */
|
|
2500
|
+
400: {
|
|
2501
|
+
content: {
|
|
2502
|
+
'application/json': components['schemas']['ErrorDetail'];
|
|
2503
|
+
};
|
|
2504
|
+
};
|
|
2505
|
+
/** Not Found */
|
|
2506
|
+
404: {
|
|
2507
|
+
content: {
|
|
2508
|
+
'application/json': components['schemas']['ErrorDetail'];
|
|
2509
|
+
};
|
|
2510
|
+
};
|
|
2511
|
+
};
|
|
2512
|
+
};
|
|
2513
|
+
getEpisodes: {
|
|
2514
|
+
parameters: {
|
|
2515
|
+
query: {
|
|
2516
|
+
/** 条目 ID */
|
|
2517
|
+
subject_id: components['parameters']['query_subject_id'];
|
|
2518
|
+
/** 参照章节的`type` */
|
|
2519
|
+
type?: components['schemas']['EpType'];
|
|
2520
|
+
/** 分页参数 */
|
|
2521
|
+
limit?: number;
|
|
2522
|
+
/** 分页参数 */
|
|
2523
|
+
offset?: number;
|
|
2524
|
+
};
|
|
2525
|
+
};
|
|
2526
|
+
responses: {
|
|
2527
|
+
/** Successful Response */
|
|
2528
|
+
200: {
|
|
2529
|
+
content: {
|
|
2530
|
+
'application/json': components['schemas']['Paged_Episode'];
|
|
2531
|
+
};
|
|
2532
|
+
};
|
|
2533
|
+
/** Validation Error */
|
|
2534
|
+
400: {
|
|
2535
|
+
content: {
|
|
2536
|
+
'application/json': components['schemas']['ErrorDetail'];
|
|
2537
|
+
};
|
|
2538
|
+
};
|
|
2539
|
+
/** Not Found */
|
|
2540
|
+
404: {
|
|
2541
|
+
content: {
|
|
2542
|
+
'application/json': components['schemas']['ErrorDetail'];
|
|
2543
|
+
};
|
|
2544
|
+
};
|
|
2545
|
+
};
|
|
2546
|
+
};
|
|
2547
|
+
getEpisodeById: {
|
|
2548
|
+
parameters: {
|
|
2549
|
+
path: {
|
|
2550
|
+
/** 章节 ID */
|
|
2551
|
+
episode_id: components['parameters']['path_episode_id'];
|
|
2552
|
+
};
|
|
2553
|
+
};
|
|
2554
|
+
responses: {
|
|
2555
|
+
/** Successful Response */
|
|
2556
|
+
200: {
|
|
2557
|
+
content: {
|
|
2558
|
+
'application/json': components['schemas']['EpisodeDetail'];
|
|
2559
|
+
};
|
|
2560
|
+
};
|
|
2561
|
+
/** Validation Error */
|
|
2562
|
+
400: {
|
|
2563
|
+
content: {
|
|
2564
|
+
'application/json': components['schemas']['ErrorDetail'];
|
|
2565
|
+
};
|
|
2566
|
+
};
|
|
2567
|
+
/** Not Found */
|
|
2568
|
+
404: {
|
|
2569
|
+
content: {
|
|
2570
|
+
'application/json': components['schemas']['ErrorDetail'];
|
|
2571
|
+
};
|
|
2572
|
+
};
|
|
2573
|
+
};
|
|
2574
|
+
};
|
|
2575
|
+
/** cache with 60s */
|
|
2576
|
+
getCharacterById: {
|
|
2577
|
+
parameters: {
|
|
2578
|
+
path: {
|
|
2579
|
+
/** 角色 ID */
|
|
2580
|
+
character_id: components['parameters']['path_character_id'];
|
|
2581
|
+
};
|
|
2582
|
+
};
|
|
2583
|
+
responses: {
|
|
2584
|
+
/** Successful Response */
|
|
2585
|
+
200: {
|
|
2586
|
+
content: {
|
|
2587
|
+
'application/json': components['schemas']['Character'];
|
|
2588
|
+
};
|
|
2589
|
+
};
|
|
2590
|
+
/** Validation Error */
|
|
2591
|
+
400: {
|
|
2592
|
+
content: {
|
|
2593
|
+
'application/json': components['schemas']['ErrorDetail'];
|
|
2594
|
+
};
|
|
2595
|
+
};
|
|
2596
|
+
/** Not Found */
|
|
2597
|
+
404: {
|
|
2598
|
+
content: {
|
|
2599
|
+
'application/json': components['schemas']['ErrorDetail'];
|
|
2600
|
+
};
|
|
2601
|
+
};
|
|
2602
|
+
};
|
|
2603
|
+
};
|
|
2604
|
+
getCharacterImageById: {
|
|
2605
|
+
parameters: {
|
|
2606
|
+
path: {
|
|
2607
|
+
/** 角色 ID */
|
|
2608
|
+
character_id: components['parameters']['path_character_id'];
|
|
2609
|
+
};
|
|
2610
|
+
query: {
|
|
2611
|
+
/** 枚举值 {small|grid|large|medium} */
|
|
2612
|
+
type: string;
|
|
2613
|
+
};
|
|
2614
|
+
};
|
|
2615
|
+
responses: {
|
|
2616
|
+
/** Successful Response */
|
|
2617
|
+
302: never;
|
|
2618
|
+
/** Validation Error */
|
|
2619
|
+
400: {
|
|
2620
|
+
content: {
|
|
2621
|
+
'application/json': components['schemas']['ErrorDetail'];
|
|
2622
|
+
};
|
|
2623
|
+
};
|
|
2624
|
+
/** Not Found */
|
|
2625
|
+
404: {
|
|
2626
|
+
content: {
|
|
2627
|
+
'application/json': components['schemas']['ErrorDetail'];
|
|
2628
|
+
};
|
|
2629
|
+
};
|
|
2630
|
+
};
|
|
2631
|
+
};
|
|
2632
|
+
getRelatedSubjectsByCharacterId: {
|
|
2633
|
+
parameters: {
|
|
2634
|
+
path: {
|
|
2635
|
+
/** 角色 ID */
|
|
2636
|
+
character_id: components['parameters']['path_character_id'];
|
|
2637
|
+
};
|
|
2638
|
+
};
|
|
2639
|
+
responses: {
|
|
2640
|
+
/** Successful Response */
|
|
2641
|
+
200: {
|
|
2642
|
+
content: {
|
|
2643
|
+
'application/json': components['schemas']['v0_RelatedSubject'][];
|
|
2644
|
+
};
|
|
2645
|
+
};
|
|
2646
|
+
/** Validation Error */
|
|
2647
|
+
400: {
|
|
2648
|
+
content: {
|
|
2649
|
+
'application/json': components['schemas']['ErrorDetail'];
|
|
2650
|
+
};
|
|
2651
|
+
};
|
|
2652
|
+
/** Not Found */
|
|
2653
|
+
404: {
|
|
2654
|
+
content: {
|
|
2655
|
+
'application/json': components['schemas']['ErrorDetail'];
|
|
2656
|
+
};
|
|
2657
|
+
};
|
|
2658
|
+
};
|
|
2659
|
+
};
|
|
2660
|
+
getRelatedPersonsByCharacterId: {
|
|
2661
|
+
parameters: {
|
|
2662
|
+
path: {
|
|
2663
|
+
/** 角色 ID */
|
|
2664
|
+
character_id: components['parameters']['path_character_id'];
|
|
2665
|
+
};
|
|
2666
|
+
};
|
|
2667
|
+
responses: {
|
|
2668
|
+
/** Successful Response */
|
|
2669
|
+
200: {
|
|
2670
|
+
content: {
|
|
2671
|
+
'application/json': components['schemas']['CharacterPerson'][];
|
|
2672
|
+
};
|
|
2673
|
+
};
|
|
2674
|
+
/** Validation Error */
|
|
2675
|
+
400: {
|
|
2676
|
+
content: {
|
|
2677
|
+
'application/json': components['schemas']['ErrorDetail'];
|
|
2678
|
+
};
|
|
2679
|
+
};
|
|
2680
|
+
/** Not Found */
|
|
2681
|
+
404: {
|
|
2682
|
+
content: {
|
|
2683
|
+
'application/json': components['schemas']['ErrorDetail'];
|
|
2684
|
+
};
|
|
2685
|
+
};
|
|
2686
|
+
};
|
|
2687
|
+
};
|
|
2688
|
+
/** 为当前用户收藏角色 */
|
|
2689
|
+
collectCharacterByCharacterIdAndUserId: {
|
|
2690
|
+
parameters: {
|
|
2691
|
+
path: {
|
|
2692
|
+
/** 角色 ID */
|
|
2693
|
+
character_id: components['parameters']['path_character_id'];
|
|
2694
|
+
};
|
|
2695
|
+
};
|
|
2696
|
+
responses: {
|
|
2697
|
+
/** Successful Response */
|
|
2698
|
+
204: never;
|
|
2699
|
+
/** character ID not valid */
|
|
2700
|
+
400: {
|
|
2701
|
+
content: {
|
|
2702
|
+
'application/json': components['schemas']['ErrorDetail'];
|
|
2703
|
+
};
|
|
2704
|
+
};
|
|
2705
|
+
/** not authorized */
|
|
2706
|
+
401: {
|
|
2707
|
+
content: {
|
|
2708
|
+
'application/json': components['schemas']['ErrorDetail'];
|
|
2709
|
+
};
|
|
2710
|
+
};
|
|
2711
|
+
/** 角色不存在 */
|
|
2712
|
+
404: {
|
|
2713
|
+
content: {
|
|
2714
|
+
'application/json': components['schemas']['ErrorDetail'];
|
|
2715
|
+
};
|
|
2716
|
+
};
|
|
2717
|
+
};
|
|
2718
|
+
};
|
|
2719
|
+
/** 为当前用户取消收藏角色 */
|
|
2720
|
+
uncollectCharacterByCharacterIdAndUserId: {
|
|
2721
|
+
parameters: {
|
|
2722
|
+
path: {
|
|
2723
|
+
/** 角色 ID */
|
|
2724
|
+
character_id: components['parameters']['path_character_id'];
|
|
2725
|
+
};
|
|
2726
|
+
};
|
|
2727
|
+
responses: {
|
|
2728
|
+
/** Successful Response */
|
|
2729
|
+
204: never;
|
|
2730
|
+
/** character ID not valid */
|
|
2731
|
+
400: {
|
|
2732
|
+
content: {
|
|
2733
|
+
'application/json': components['schemas']['ErrorDetail'];
|
|
2734
|
+
};
|
|
2735
|
+
};
|
|
2736
|
+
/** not authorized */
|
|
2737
|
+
401: {
|
|
2738
|
+
content: {
|
|
2739
|
+
'application/json': components['schemas']['ErrorDetail'];
|
|
2740
|
+
};
|
|
2741
|
+
};
|
|
2742
|
+
/** 角色不存在 */
|
|
2743
|
+
404: {
|
|
2744
|
+
content: {
|
|
2745
|
+
'application/json': components['schemas']['ErrorDetail'];
|
|
2746
|
+
};
|
|
2747
|
+
};
|
|
2748
|
+
};
|
|
2749
|
+
};
|
|
2750
|
+
/** cache with 60s */
|
|
2751
|
+
getPersonById: {
|
|
2752
|
+
parameters: {
|
|
2753
|
+
path: {
|
|
2754
|
+
/** 人物 ID */
|
|
2755
|
+
person_id: components['parameters']['path_person_id'];
|
|
2756
|
+
};
|
|
2757
|
+
};
|
|
2758
|
+
responses: {
|
|
2759
|
+
/** Successful Response */
|
|
2760
|
+
200: {
|
|
2761
|
+
content: {
|
|
2762
|
+
'application/json': components['schemas']['PersonDetail'];
|
|
2763
|
+
};
|
|
2764
|
+
};
|
|
2765
|
+
/** Validation Error */
|
|
2766
|
+
400: {
|
|
2767
|
+
content: {
|
|
2768
|
+
'application/json': components['schemas']['ErrorDetail'];
|
|
2769
|
+
};
|
|
2770
|
+
};
|
|
2771
|
+
/** Not Found */
|
|
2772
|
+
404: {
|
|
2773
|
+
content: {
|
|
2774
|
+
'application/json': components['schemas']['ErrorDetail'];
|
|
2775
|
+
};
|
|
2776
|
+
};
|
|
2777
|
+
};
|
|
2778
|
+
};
|
|
2779
|
+
getPersonImageById: {
|
|
2780
|
+
parameters: {
|
|
2781
|
+
path: {
|
|
2782
|
+
/** 人物 ID */
|
|
2783
|
+
person_id: components['parameters']['path_person_id'];
|
|
2784
|
+
};
|
|
2785
|
+
query: {
|
|
2786
|
+
/** 枚举值 {small|grid|large|medium} */
|
|
2787
|
+
type: string;
|
|
2788
|
+
};
|
|
2789
|
+
};
|
|
2790
|
+
responses: {
|
|
2791
|
+
/** Successful Response */
|
|
2792
|
+
302: never;
|
|
2793
|
+
/** Validation Error */
|
|
2794
|
+
400: {
|
|
2795
|
+
content: {
|
|
2796
|
+
'application/json': components['schemas']['ErrorDetail'];
|
|
2797
|
+
};
|
|
2798
|
+
};
|
|
2799
|
+
/** Not Found */
|
|
2800
|
+
404: {
|
|
2801
|
+
content: {
|
|
2802
|
+
'application/json': components['schemas']['ErrorDetail'];
|
|
2803
|
+
};
|
|
2804
|
+
};
|
|
2805
|
+
};
|
|
2806
|
+
};
|
|
2807
|
+
getRelatedSubjectsByPersonId: {
|
|
2808
|
+
parameters: {
|
|
2809
|
+
path: {
|
|
2810
|
+
/** 人物 ID */
|
|
2811
|
+
person_id: components['parameters']['path_person_id'];
|
|
2812
|
+
};
|
|
2813
|
+
};
|
|
2814
|
+
responses: {
|
|
2815
|
+
/** Successful Response */
|
|
2816
|
+
200: {
|
|
2817
|
+
content: {
|
|
2818
|
+
'application/json': components['schemas']['v0_RelatedSubject'][];
|
|
2819
|
+
};
|
|
2820
|
+
};
|
|
2821
|
+
/** Validation Error */
|
|
2822
|
+
400: {
|
|
2823
|
+
content: {
|
|
2824
|
+
'application/json': components['schemas']['ErrorDetail'];
|
|
2825
|
+
};
|
|
2826
|
+
};
|
|
2827
|
+
/** Not Found */
|
|
2828
|
+
404: {
|
|
2829
|
+
content: {
|
|
2830
|
+
'application/json': components['schemas']['ErrorDetail'];
|
|
2831
|
+
};
|
|
2832
|
+
};
|
|
2833
|
+
};
|
|
2834
|
+
};
|
|
2835
|
+
getRelatedCharactersByPersonId: {
|
|
2836
|
+
parameters: {
|
|
2837
|
+
path: {
|
|
2838
|
+
/** 人物 ID */
|
|
2839
|
+
person_id: components['parameters']['path_person_id'];
|
|
2840
|
+
};
|
|
2841
|
+
};
|
|
2842
|
+
responses: {
|
|
2843
|
+
/** Successful Response */
|
|
2844
|
+
200: {
|
|
2845
|
+
content: {
|
|
2846
|
+
'application/json': components['schemas']['PersonCharacter'][];
|
|
2847
|
+
};
|
|
2848
|
+
};
|
|
2849
|
+
/** Validation Error */
|
|
2850
|
+
400: {
|
|
2851
|
+
content: {
|
|
2852
|
+
'application/json': components['schemas']['ErrorDetail'];
|
|
2853
|
+
};
|
|
2854
|
+
};
|
|
2855
|
+
/** Not Found */
|
|
2856
|
+
404: {
|
|
2857
|
+
content: {
|
|
2858
|
+
'application/json': components['schemas']['ErrorDetail'];
|
|
2859
|
+
};
|
|
2860
|
+
};
|
|
2861
|
+
};
|
|
2862
|
+
};
|
|
2863
|
+
/** 为当前用户收藏人物 */
|
|
2864
|
+
collectPersonByPersonIdAndUserId: {
|
|
2865
|
+
parameters: {
|
|
2866
|
+
path: {
|
|
2867
|
+
/** 人物 ID */
|
|
2868
|
+
person_id: components['parameters']['path_person_id'];
|
|
2869
|
+
};
|
|
2870
|
+
};
|
|
2871
|
+
responses: {
|
|
2872
|
+
/** Successful Response */
|
|
2873
|
+
204: never;
|
|
2874
|
+
/** person ID not valid */
|
|
2875
|
+
400: {
|
|
2876
|
+
content: {
|
|
2877
|
+
'application/json': components['schemas']['ErrorDetail'];
|
|
2878
|
+
};
|
|
2879
|
+
};
|
|
2880
|
+
/** not authorized */
|
|
2881
|
+
401: {
|
|
2882
|
+
content: {
|
|
2883
|
+
'application/json': components['schemas']['ErrorDetail'];
|
|
2884
|
+
};
|
|
2885
|
+
};
|
|
2886
|
+
/** 人物不存在 */
|
|
2887
|
+
404: {
|
|
2888
|
+
content: {
|
|
2889
|
+
'application/json': components['schemas']['ErrorDetail'];
|
|
2890
|
+
};
|
|
2891
|
+
};
|
|
2892
|
+
};
|
|
2893
|
+
};
|
|
2894
|
+
/** 为当前用户取消收藏人物 */
|
|
2895
|
+
uncollectPersonByPersonIdAndUserId: {
|
|
2896
|
+
parameters: {
|
|
2897
|
+
path: {
|
|
2898
|
+
/** 人物 ID */
|
|
2899
|
+
person_id: components['parameters']['path_person_id'];
|
|
2900
|
+
};
|
|
2901
|
+
};
|
|
2902
|
+
responses: {
|
|
2903
|
+
/** Successful Response */
|
|
2904
|
+
204: never;
|
|
2905
|
+
/** person ID not valid */
|
|
2906
|
+
400: {
|
|
2907
|
+
content: {
|
|
2908
|
+
'application/json': components['schemas']['ErrorDetail'];
|
|
2909
|
+
};
|
|
2910
|
+
};
|
|
2911
|
+
/** not authorized */
|
|
2912
|
+
401: {
|
|
2913
|
+
content: {
|
|
2914
|
+
'application/json': components['schemas']['ErrorDetail'];
|
|
2915
|
+
};
|
|
2916
|
+
};
|
|
2917
|
+
/** 人物不存在 */
|
|
2918
|
+
404: {
|
|
2919
|
+
content: {
|
|
2920
|
+
'application/json': components['schemas']['ErrorDetail'];
|
|
2921
|
+
};
|
|
2922
|
+
};
|
|
2923
|
+
};
|
|
2924
|
+
};
|
|
2925
|
+
/** 获取用户信息 */
|
|
2926
|
+
getUserByName: {
|
|
2927
|
+
parameters: {
|
|
2928
|
+
path: {
|
|
2929
|
+
/** 设置了用户名之后无法使用 UID。 */
|
|
2930
|
+
username: components['parameters']['path_username'];
|
|
2931
|
+
};
|
|
2932
|
+
};
|
|
2933
|
+
responses: {
|
|
2934
|
+
/** Successful Response */
|
|
2935
|
+
200: {
|
|
2936
|
+
content: {
|
|
2937
|
+
'application/json': components['schemas']['User'];
|
|
2938
|
+
};
|
|
2939
|
+
};
|
|
2940
|
+
/** username 太长 */
|
|
2941
|
+
400: {
|
|
2942
|
+
content: {
|
|
2943
|
+
'application/json': components['schemas']['ErrorDetail'];
|
|
2944
|
+
};
|
|
2945
|
+
};
|
|
2946
|
+
/** 对应用户不存在 */
|
|
2947
|
+
404: {
|
|
2948
|
+
content: {
|
|
2949
|
+
'application/json': components['schemas']['ErrorDetail'];
|
|
2950
|
+
};
|
|
2951
|
+
};
|
|
2952
|
+
};
|
|
2953
|
+
};
|
|
2954
|
+
/** 获取用户头像,302 重定向至头像地址,设置了 username 之后无法使用 UID 查询。 */
|
|
2955
|
+
getUserAvatarByName: {
|
|
2956
|
+
parameters: {
|
|
2957
|
+
path: {
|
|
2958
|
+
/** 设置了用户名之后无法使用 UID。 */
|
|
2959
|
+
username: components['parameters']['path_username'];
|
|
2960
|
+
};
|
|
2961
|
+
query: {
|
|
2962
|
+
/** 枚举值 {small|large|medium} */
|
|
2963
|
+
type: string;
|
|
2964
|
+
};
|
|
2965
|
+
};
|
|
2966
|
+
responses: {
|
|
2967
|
+
/** Successful Response */
|
|
2968
|
+
302: never;
|
|
2969
|
+
/** username 太长 */
|
|
2970
|
+
400: {
|
|
2971
|
+
content: {
|
|
2972
|
+
'application/json': components['schemas']['ErrorDetail'];
|
|
2973
|
+
};
|
|
2974
|
+
};
|
|
2975
|
+
/** 对应用户不存在 */
|
|
2976
|
+
404: {
|
|
2977
|
+
content: {
|
|
2978
|
+
'application/json': components['schemas']['ErrorDetail'];
|
|
2979
|
+
};
|
|
2980
|
+
};
|
|
2981
|
+
};
|
|
2982
|
+
};
|
|
2983
|
+
/** 返回当前 Access Token 对应的用户信息 */
|
|
2984
|
+
getMyself: {
|
|
2985
|
+
responses: {
|
|
2986
|
+
/** Successful Response */
|
|
2987
|
+
200: {
|
|
2988
|
+
content: {
|
|
2989
|
+
'application/json': components['schemas']['User'] & unknown & {
|
|
2990
|
+
/**
|
|
2991
|
+
* Format: email
|
|
2992
|
+
* @description 用户绑定的邮箱地址
|
|
2993
|
+
*/
|
|
2994
|
+
email?: string;
|
|
2995
|
+
/**
|
|
2996
|
+
* Format: date-time
|
|
2997
|
+
* @description 用户注册时间。比如 2017-12-03T08:51:16+08:00
|
|
2998
|
+
*/
|
|
2999
|
+
reg_time?: string;
|
|
3000
|
+
/** @description 用户设置的时区偏移,以小时为单位。比如 GMT+8(shanghai/beijing)为 8 */
|
|
3001
|
+
time_offset?: number;
|
|
3002
|
+
};
|
|
3003
|
+
};
|
|
3004
|
+
};
|
|
3005
|
+
/** unauthorized */
|
|
3006
|
+
401: {
|
|
3007
|
+
content: {
|
|
3008
|
+
'application/json': components['schemas']['ErrorDetail'];
|
|
3009
|
+
};
|
|
3010
|
+
};
|
|
3011
|
+
};
|
|
3012
|
+
};
|
|
3013
|
+
/** 获取对应用户的收藏,查看私有收藏需要access token。 */
|
|
3014
|
+
getUserCollectionsByUsername: {
|
|
3015
|
+
parameters: {
|
|
3016
|
+
path: {
|
|
3017
|
+
/** 设置了用户名之后无法使用 UID。 */
|
|
3018
|
+
username: components['parameters']['path_username'];
|
|
3019
|
+
};
|
|
3020
|
+
query: {
|
|
3021
|
+
/**
|
|
3022
|
+
* 条目类型,默认为全部
|
|
3023
|
+
*
|
|
3024
|
+
* 具体含义见 [SubjectType](#model-SubjectType)
|
|
3025
|
+
*/
|
|
3026
|
+
subject_type?: components['schemas']['SubjectType'];
|
|
3027
|
+
/**
|
|
3028
|
+
* 收藏类型,默认为全部
|
|
3029
|
+
*
|
|
3030
|
+
* 具体含义见 [CollectionType](#model-CollectionType)
|
|
3031
|
+
*/
|
|
3032
|
+
type?: components['schemas']['SubjectCollectionType'];
|
|
3033
|
+
/** 分页参数 */
|
|
3034
|
+
limit?: components['parameters']['default_query_limit'];
|
|
3035
|
+
/** 分页参数 */
|
|
3036
|
+
offset?: components['parameters']['default_query_offset'];
|
|
3037
|
+
};
|
|
3038
|
+
};
|
|
3039
|
+
responses: {
|
|
3040
|
+
/** Successful Response */
|
|
3041
|
+
200: {
|
|
3042
|
+
content: {
|
|
3043
|
+
'application/json': components['schemas']['Paged_UserCollection'];
|
|
3044
|
+
};
|
|
3045
|
+
};
|
|
3046
|
+
/** Validation Error */
|
|
3047
|
+
400: {
|
|
3048
|
+
content: {
|
|
3049
|
+
'application/json': components['schemas']['ErrorDetail'];
|
|
3050
|
+
};
|
|
3051
|
+
};
|
|
3052
|
+
/** 用户不存在 */
|
|
3053
|
+
404: {
|
|
3054
|
+
content: {
|
|
3055
|
+
'application/json': components['schemas']['ErrorDetail'];
|
|
3056
|
+
};
|
|
3057
|
+
};
|
|
3058
|
+
};
|
|
3059
|
+
};
|
|
3060
|
+
/** 获取对应用户的收藏,查看私有收藏需要 access token */
|
|
3061
|
+
getUserCollection: {
|
|
3062
|
+
parameters: {
|
|
3063
|
+
path: {
|
|
3064
|
+
/** 设置了用户名之后无法使用 UID。 */
|
|
3065
|
+
username: components['parameters']['path_username'];
|
|
3066
|
+
/** 条目 ID */
|
|
3067
|
+
subject_id: components['parameters']['path_subject_id'];
|
|
3068
|
+
};
|
|
3069
|
+
};
|
|
3070
|
+
responses: {
|
|
3071
|
+
/** Successful Response */
|
|
3072
|
+
200: {
|
|
3073
|
+
content: {
|
|
3074
|
+
'application/json': components['schemas']['UserSubjectCollection'];
|
|
3075
|
+
};
|
|
3076
|
+
};
|
|
3077
|
+
/** Validation Error */
|
|
3078
|
+
400: {
|
|
3079
|
+
content: {
|
|
3080
|
+
'application/json': components['schemas']['ErrorDetail'];
|
|
3081
|
+
};
|
|
3082
|
+
};
|
|
3083
|
+
/** 用户不存在或者条目未收藏,或者条目为私有收藏 */
|
|
3084
|
+
404: {
|
|
3085
|
+
content: {
|
|
3086
|
+
'application/json': components['schemas']['ErrorDetail'];
|
|
3087
|
+
};
|
|
3088
|
+
};
|
|
3089
|
+
};
|
|
3090
|
+
};
|
|
3091
|
+
/**
|
|
3092
|
+
* 修改条目收藏状态, 如果不存在则创建,如果存在则修改
|
|
3093
|
+
*
|
|
3094
|
+
* 由于直接修改剧集条目的完成度可能会引起意料之外效果,只能用于修改书籍类条目的完成度。
|
|
3095
|
+
*
|
|
3096
|
+
* 方法的所有请求体字段均可选
|
|
3097
|
+
*/
|
|
3098
|
+
postUserCollection: {
|
|
3099
|
+
parameters: {
|
|
3100
|
+
path: {
|
|
3101
|
+
/** 条目 ID */
|
|
3102
|
+
subject_id: components['parameters']['path_subject_id'];
|
|
3103
|
+
};
|
|
3104
|
+
};
|
|
3105
|
+
responses: {
|
|
3106
|
+
/** Successful Response */
|
|
3107
|
+
204: never;
|
|
3108
|
+
/** Validation Error */
|
|
3109
|
+
400: {
|
|
3110
|
+
content: {
|
|
3111
|
+
'application/json': components['schemas']['ErrorDetail'];
|
|
3112
|
+
};
|
|
3113
|
+
};
|
|
3114
|
+
/** Unauthorized */
|
|
3115
|
+
401: {
|
|
3116
|
+
content: {
|
|
3117
|
+
'application/json': components['schemas']['ErrorDetail'];
|
|
3118
|
+
};
|
|
3119
|
+
};
|
|
3120
|
+
/** 用户不存在 */
|
|
3121
|
+
404: {
|
|
3122
|
+
content: {
|
|
3123
|
+
'application/json': components['schemas']['ErrorDetail'];
|
|
3124
|
+
};
|
|
3125
|
+
};
|
|
3126
|
+
};
|
|
3127
|
+
requestBody: {
|
|
3128
|
+
content: {
|
|
3129
|
+
'application/json': components['schemas']['UserSubjectCollectionModifyPayload'];
|
|
3130
|
+
};
|
|
3131
|
+
};
|
|
3132
|
+
};
|
|
3133
|
+
/**
|
|
3134
|
+
* 修改条目收藏状态
|
|
3135
|
+
*
|
|
3136
|
+
* 由于直接修改剧集条目的完成度可能会引起意料之外效果,只能用于修改书籍类条目的完成度。
|
|
3137
|
+
*
|
|
3138
|
+
* PATCH 方法的所有请求体字段均可选
|
|
3139
|
+
*/
|
|
3140
|
+
patchUserCollection: {
|
|
3141
|
+
parameters: {
|
|
3142
|
+
path: {
|
|
3143
|
+
/** 条目 ID */
|
|
3144
|
+
subject_id: components['parameters']['path_subject_id'];
|
|
3145
|
+
};
|
|
3146
|
+
};
|
|
3147
|
+
responses: {
|
|
3148
|
+
/** Successful Response */
|
|
3149
|
+
204: never;
|
|
3150
|
+
/** Validation Error */
|
|
3151
|
+
400: {
|
|
3152
|
+
content: {
|
|
3153
|
+
'application/json': components['schemas']['ErrorDetail'];
|
|
3154
|
+
};
|
|
3155
|
+
};
|
|
3156
|
+
/** Unauthorized */
|
|
3157
|
+
401: {
|
|
3158
|
+
content: {
|
|
3159
|
+
'application/json': components['schemas']['ErrorDetail'];
|
|
3160
|
+
};
|
|
3161
|
+
};
|
|
3162
|
+
/** 用户不存在或者条目未收藏 */
|
|
3163
|
+
404: {
|
|
3164
|
+
content: {
|
|
3165
|
+
'application/json': components['schemas']['ErrorDetail'];
|
|
3166
|
+
};
|
|
3167
|
+
};
|
|
3168
|
+
};
|
|
3169
|
+
requestBody: {
|
|
3170
|
+
content: {
|
|
3171
|
+
'application/json': components['schemas']['UserSubjectCollectionModifyPayload'];
|
|
3172
|
+
};
|
|
3173
|
+
};
|
|
3174
|
+
};
|
|
3175
|
+
getUserSubjectEpisodeCollection: {
|
|
3176
|
+
parameters: {
|
|
3177
|
+
path: {
|
|
3178
|
+
/** 条目 ID */
|
|
3179
|
+
subject_id: components['parameters']['path_subject_id'];
|
|
3180
|
+
};
|
|
3181
|
+
query: {
|
|
3182
|
+
/** 分页参数 */
|
|
3183
|
+
offset?: components['parameters']['default_query_offset'];
|
|
3184
|
+
/** 分页参数 */
|
|
3185
|
+
limit?: number;
|
|
3186
|
+
/** 章节类型,不传则不按照章节进行筛选 */
|
|
3187
|
+
episode_type?: components['schemas']['EpType'];
|
|
3188
|
+
};
|
|
3189
|
+
};
|
|
3190
|
+
responses: {
|
|
3191
|
+
/** Successful Response */
|
|
3192
|
+
200: {
|
|
3193
|
+
content: {
|
|
3194
|
+
'application/json': components['schemas']['Page'] & {
|
|
3195
|
+
data?: components['schemas']['UserEpisodeCollection'][];
|
|
3196
|
+
};
|
|
3197
|
+
};
|
|
3198
|
+
};
|
|
3199
|
+
/** Bad Request */
|
|
3200
|
+
400: {
|
|
3201
|
+
content: {
|
|
3202
|
+
'application/json': components['schemas']['ErrorDetail'];
|
|
3203
|
+
};
|
|
3204
|
+
};
|
|
3205
|
+
/** not authorized */
|
|
3206
|
+
401: {
|
|
3207
|
+
content: {
|
|
3208
|
+
'application/json': components['schemas']['ErrorDetail'];
|
|
3209
|
+
};
|
|
3210
|
+
};
|
|
3211
|
+
/** 条目不存在 */
|
|
3212
|
+
404: {
|
|
3213
|
+
content: {
|
|
3214
|
+
'application/json': components['schemas']['ErrorDetail'];
|
|
3215
|
+
};
|
|
3216
|
+
};
|
|
3217
|
+
};
|
|
3218
|
+
};
|
|
3219
|
+
/** 同时会重新计算条目的完成度 */
|
|
3220
|
+
patchUserSubjectEpisodeCollection: {
|
|
3221
|
+
parameters: {
|
|
3222
|
+
path: {
|
|
3223
|
+
/** 条目 ID */
|
|
3224
|
+
subject_id: components['parameters']['path_subject_id'];
|
|
3225
|
+
};
|
|
3226
|
+
};
|
|
3227
|
+
responses: {
|
|
3228
|
+
/** Successful Response */
|
|
3229
|
+
204: never;
|
|
3230
|
+
/** Bad Request */
|
|
3231
|
+
400: {
|
|
3232
|
+
content: {
|
|
3233
|
+
'application/json': components['schemas']['ErrorDetail'];
|
|
3234
|
+
};
|
|
3235
|
+
};
|
|
3236
|
+
/** not authorized */
|
|
3237
|
+
401: {
|
|
3238
|
+
content: {
|
|
3239
|
+
'application/json': components['schemas']['ErrorDetail'];
|
|
3240
|
+
};
|
|
3241
|
+
};
|
|
3242
|
+
/** 条目不存在 */
|
|
3243
|
+
404: {
|
|
3244
|
+
content: {
|
|
3245
|
+
'application/json': components['schemas']['ErrorDetail'];
|
|
3246
|
+
};
|
|
3247
|
+
};
|
|
3248
|
+
};
|
|
3249
|
+
requestBody: {
|
|
3250
|
+
content: {
|
|
3251
|
+
'application/json': {
|
|
3252
|
+
/**
|
|
3253
|
+
* @example [
|
|
3254
|
+
* 1,
|
|
3255
|
+
* 2,
|
|
3256
|
+
* 8
|
|
3257
|
+
* ]
|
|
3258
|
+
*/
|
|
3259
|
+
episode_id: number[];
|
|
3260
|
+
type: components['schemas']['EpisodeCollectionType'];
|
|
3261
|
+
};
|
|
3262
|
+
};
|
|
3263
|
+
};
|
|
3264
|
+
};
|
|
3265
|
+
getUserEpisodeCollection: {
|
|
3266
|
+
parameters: {
|
|
3267
|
+
path: {
|
|
3268
|
+
/** 章节 ID */
|
|
3269
|
+
episode_id: components['parameters']['path_episode_id'];
|
|
3270
|
+
};
|
|
3271
|
+
};
|
|
3272
|
+
responses: {
|
|
3273
|
+
/** Successful Response */
|
|
3274
|
+
200: {
|
|
3275
|
+
content: {
|
|
3276
|
+
'application/json': components['schemas']['UserEpisodeCollection'];
|
|
3277
|
+
};
|
|
3278
|
+
};
|
|
3279
|
+
/** episode ID not valid */
|
|
3280
|
+
400: {
|
|
3281
|
+
content: {
|
|
3282
|
+
'application/json': components['schemas']['ErrorDetail'];
|
|
3283
|
+
};
|
|
3284
|
+
};
|
|
3285
|
+
/** not authorized */
|
|
3286
|
+
401: {
|
|
3287
|
+
content: {
|
|
3288
|
+
'application/json': components['schemas']['ErrorDetail'];
|
|
3289
|
+
};
|
|
3290
|
+
};
|
|
3291
|
+
/** 条目或者章节不存在 */
|
|
3292
|
+
404: {
|
|
3293
|
+
content: {
|
|
3294
|
+
'application/json': components['schemas']['ErrorDetail'];
|
|
3295
|
+
};
|
|
3296
|
+
};
|
|
3297
|
+
};
|
|
3298
|
+
};
|
|
3299
|
+
putUserEpisodeCollection: {
|
|
3300
|
+
parameters: {
|
|
3301
|
+
path: {
|
|
3302
|
+
/** 章节 ID */
|
|
3303
|
+
episode_id: components['parameters']['path_episode_id'];
|
|
3304
|
+
};
|
|
3305
|
+
};
|
|
3306
|
+
responses: {
|
|
3307
|
+
/** Successful Response */
|
|
3308
|
+
204: never;
|
|
3309
|
+
/** episode ID not valid or subject not collected */
|
|
3310
|
+
400: {
|
|
3311
|
+
content: {
|
|
3312
|
+
'application/json': components['schemas']['ErrorDetail'];
|
|
3313
|
+
};
|
|
3314
|
+
};
|
|
3315
|
+
/** not authorized */
|
|
3316
|
+
401: {
|
|
3317
|
+
content: {
|
|
3318
|
+
'application/json': components['schemas']['ErrorDetail'];
|
|
3319
|
+
};
|
|
3320
|
+
};
|
|
3321
|
+
/** 条目或者章节不存在 */
|
|
3322
|
+
404: {
|
|
3323
|
+
content: {
|
|
3324
|
+
'application/json': components['schemas']['ErrorDetail'];
|
|
3325
|
+
};
|
|
3326
|
+
};
|
|
3327
|
+
};
|
|
3328
|
+
requestBody: {
|
|
3329
|
+
content: {
|
|
3330
|
+
'application/json': {
|
|
3331
|
+
type: components['schemas']['EpisodeCollectionType'];
|
|
3332
|
+
};
|
|
3333
|
+
};
|
|
3334
|
+
};
|
|
3335
|
+
};
|
|
3336
|
+
getUserCharacterCollections: {
|
|
3337
|
+
parameters: {
|
|
3338
|
+
path: {
|
|
3339
|
+
/** 设置了用户名之后无法使用 UID。 */
|
|
3340
|
+
username: components['parameters']['path_username'];
|
|
3341
|
+
};
|
|
3342
|
+
};
|
|
3343
|
+
responses: {
|
|
3344
|
+
/** Successful Response */
|
|
3345
|
+
200: {
|
|
3346
|
+
content: {
|
|
3347
|
+
'application/json': components['schemas']['Paged_UserCharacterCollection'];
|
|
3348
|
+
};
|
|
3349
|
+
};
|
|
3350
|
+
/** 用户不存在 */
|
|
3351
|
+
404: {
|
|
3352
|
+
content: {
|
|
3353
|
+
'application/json': components['schemas']['ErrorDetail'];
|
|
3354
|
+
};
|
|
3355
|
+
};
|
|
3356
|
+
};
|
|
3357
|
+
};
|
|
3358
|
+
getUserCharacterCollection: {
|
|
3359
|
+
parameters: {
|
|
3360
|
+
path: {
|
|
3361
|
+
/** 设置了用户名之后无法使用 UID。 */
|
|
3362
|
+
username: components['parameters']['path_username'];
|
|
3363
|
+
/** 角色 ID */
|
|
3364
|
+
character_id: components['parameters']['path_character_id'];
|
|
3365
|
+
};
|
|
3366
|
+
};
|
|
3367
|
+
responses: {
|
|
3368
|
+
/** Successful Response */
|
|
3369
|
+
200: {
|
|
3370
|
+
content: {
|
|
3371
|
+
'application/json': components['schemas']['UserCharacterCollection'];
|
|
3372
|
+
};
|
|
3373
|
+
};
|
|
3374
|
+
/** character ID not valid */
|
|
3375
|
+
400: {
|
|
3376
|
+
content: {
|
|
3377
|
+
'application/json': components['schemas']['ErrorDetail'];
|
|
3378
|
+
};
|
|
3379
|
+
};
|
|
3380
|
+
/** 用户或角色不存在 */
|
|
3381
|
+
404: {
|
|
3382
|
+
content: {
|
|
3383
|
+
'application/json': components['schemas']['ErrorDetail'];
|
|
3384
|
+
};
|
|
3385
|
+
};
|
|
3386
|
+
};
|
|
3387
|
+
};
|
|
3388
|
+
getUserPersonCollections: {
|
|
3389
|
+
parameters: {
|
|
3390
|
+
path: {
|
|
3391
|
+
/** 设置了用户名之后无法使用 UID。 */
|
|
3392
|
+
username: components['parameters']['path_username'];
|
|
3393
|
+
};
|
|
3394
|
+
};
|
|
3395
|
+
responses: {
|
|
3396
|
+
/** Successful Response */
|
|
3397
|
+
200: {
|
|
3398
|
+
content: {
|
|
3399
|
+
'application/json': components['schemas']['Paged_UserPersonCollection'];
|
|
3400
|
+
};
|
|
3401
|
+
};
|
|
3402
|
+
/** 用户不存在 */
|
|
3403
|
+
404: {
|
|
3404
|
+
content: {
|
|
3405
|
+
'application/json': components['schemas']['ErrorDetail'];
|
|
3406
|
+
};
|
|
3407
|
+
};
|
|
3408
|
+
};
|
|
3409
|
+
};
|
|
3410
|
+
getUserPersonCollection: {
|
|
3411
|
+
parameters: {
|
|
3412
|
+
path: {
|
|
3413
|
+
/** 设置了用户名之后无法使用 UID。 */
|
|
3414
|
+
username: components['parameters']['path_username'];
|
|
3415
|
+
/** 人物 ID */
|
|
3416
|
+
person_id: components['parameters']['path_person_id'];
|
|
3417
|
+
};
|
|
3418
|
+
};
|
|
3419
|
+
responses: {
|
|
3420
|
+
/** Successful Response */
|
|
3421
|
+
200: {
|
|
3422
|
+
content: {
|
|
3423
|
+
'application/json': components['schemas']['UserPersonCollection'];
|
|
3424
|
+
};
|
|
3425
|
+
};
|
|
3426
|
+
/** person ID not valid */
|
|
3427
|
+
400: {
|
|
3428
|
+
content: {
|
|
3429
|
+
'application/json': components['schemas']['ErrorDetail'];
|
|
3430
|
+
};
|
|
3431
|
+
};
|
|
3432
|
+
/** 用户或人物不存在 */
|
|
3433
|
+
404: {
|
|
3434
|
+
content: {
|
|
3435
|
+
'application/json': components['schemas']['ErrorDetail'];
|
|
3436
|
+
};
|
|
3437
|
+
};
|
|
3438
|
+
};
|
|
3439
|
+
};
|
|
3440
|
+
getPersonRevisions: {
|
|
3441
|
+
parameters: {
|
|
3442
|
+
query: {
|
|
3443
|
+
/** 角色 ID */
|
|
3444
|
+
person_id: number;
|
|
3445
|
+
/** 分页参数 */
|
|
3446
|
+
limit?: components['parameters']['default_query_limit'];
|
|
3447
|
+
/** 分页参数 */
|
|
3448
|
+
offset?: components['parameters']['default_query_offset'];
|
|
3449
|
+
};
|
|
3450
|
+
};
|
|
3451
|
+
responses: {
|
|
3452
|
+
/** Successful Response */
|
|
3453
|
+
200: {
|
|
3454
|
+
content: {
|
|
3455
|
+
'application/json': components['schemas']['Paged_Revision'];
|
|
3456
|
+
};
|
|
3457
|
+
};
|
|
3458
|
+
/** Validation Error */
|
|
3459
|
+
400: {
|
|
3460
|
+
content: {
|
|
3461
|
+
'application/json': components['schemas']['ErrorDetail'];
|
|
3462
|
+
};
|
|
3463
|
+
};
|
|
3464
|
+
};
|
|
3465
|
+
};
|
|
3466
|
+
getPersonRevisionByRevisionId: {
|
|
3467
|
+
parameters: {
|
|
3468
|
+
path: {
|
|
3469
|
+
/** 历史版本 ID */
|
|
3470
|
+
revision_id: number;
|
|
3471
|
+
};
|
|
3472
|
+
};
|
|
3473
|
+
responses: {
|
|
3474
|
+
/** Successful Response */
|
|
3475
|
+
200: {
|
|
3476
|
+
content: {
|
|
3477
|
+
'application/json': components['schemas']['PersonRevision'];
|
|
3478
|
+
};
|
|
3479
|
+
};
|
|
3480
|
+
/** Validation Error */
|
|
3481
|
+
400: {
|
|
3482
|
+
content: {
|
|
3483
|
+
'application/json': components['schemas']['ErrorDetail'];
|
|
3484
|
+
};
|
|
3485
|
+
};
|
|
3486
|
+
/** Not Found */
|
|
3487
|
+
404: {
|
|
3488
|
+
content: {
|
|
3489
|
+
'application/json': components['schemas']['ErrorDetail'];
|
|
3490
|
+
};
|
|
3491
|
+
};
|
|
3492
|
+
};
|
|
3493
|
+
};
|
|
3494
|
+
getCharacterRevisions: {
|
|
3495
|
+
parameters: {
|
|
3496
|
+
query: {
|
|
3497
|
+
/** 角色 ID */
|
|
3498
|
+
character_id: number;
|
|
3499
|
+
/** 分页参数 */
|
|
3500
|
+
limit?: components['parameters']['default_query_limit'];
|
|
3501
|
+
/** 分页参数 */
|
|
3502
|
+
offset?: components['parameters']['default_query_offset'];
|
|
3503
|
+
};
|
|
3504
|
+
};
|
|
3505
|
+
responses: {
|
|
3506
|
+
/** Successful Response */
|
|
3507
|
+
200: {
|
|
3508
|
+
content: {
|
|
3509
|
+
'application/json': components['schemas']['Paged_Revision'];
|
|
3510
|
+
};
|
|
3511
|
+
};
|
|
3512
|
+
/** Validation Error */
|
|
3513
|
+
400: {
|
|
3514
|
+
content: {
|
|
3515
|
+
'application/json': components['schemas']['ErrorDetail'];
|
|
3516
|
+
};
|
|
3517
|
+
};
|
|
3518
|
+
};
|
|
3519
|
+
};
|
|
3520
|
+
getCharacterRevisionByRevisionId: {
|
|
3521
|
+
parameters: {
|
|
3522
|
+
path: {
|
|
3523
|
+
/** 版本 ID */
|
|
3524
|
+
revision_id: components['parameters']['path_revision_id'];
|
|
3525
|
+
};
|
|
3526
|
+
};
|
|
3527
|
+
responses: {
|
|
3528
|
+
/** Successful Response */
|
|
3529
|
+
200: {
|
|
3530
|
+
content: {
|
|
3531
|
+
'application/json': components['schemas']['CharacterRevision'];
|
|
3532
|
+
};
|
|
3533
|
+
};
|
|
3534
|
+
/** Validation Error */
|
|
3535
|
+
400: {
|
|
3536
|
+
content: {
|
|
3537
|
+
'application/json': components['schemas']['ErrorDetail'];
|
|
3538
|
+
};
|
|
3539
|
+
};
|
|
3540
|
+
/** Not Found */
|
|
3541
|
+
404: {
|
|
3542
|
+
content: {
|
|
3543
|
+
'application/json': components['schemas']['ErrorDetail'];
|
|
3544
|
+
};
|
|
3545
|
+
};
|
|
3546
|
+
};
|
|
3547
|
+
};
|
|
3548
|
+
getSubjectRevisions: {
|
|
3549
|
+
parameters: {
|
|
3550
|
+
query: {
|
|
3551
|
+
/** 条目 ID */
|
|
3552
|
+
subject_id: number;
|
|
3553
|
+
/** 分页参数 */
|
|
3554
|
+
limit?: components['parameters']['default_query_limit'];
|
|
3555
|
+
/** 分页参数 */
|
|
3556
|
+
offset?: components['parameters']['default_query_offset'];
|
|
3557
|
+
};
|
|
3558
|
+
};
|
|
3559
|
+
responses: {
|
|
3560
|
+
/** Successful Response */
|
|
3561
|
+
200: {
|
|
3562
|
+
content: {
|
|
3563
|
+
'application/json': components['schemas']['Paged_Revision'];
|
|
3564
|
+
};
|
|
3565
|
+
};
|
|
3566
|
+
/** Validation Error */
|
|
3567
|
+
400: {
|
|
3568
|
+
content: {
|
|
3569
|
+
'application/json': components['schemas']['ErrorDetail'];
|
|
3570
|
+
};
|
|
3571
|
+
};
|
|
3572
|
+
};
|
|
3573
|
+
};
|
|
3574
|
+
getSubjectRevisionByRevisionId: {
|
|
3575
|
+
parameters: {
|
|
3576
|
+
path: {
|
|
3577
|
+
/** 版本 ID */
|
|
3578
|
+
revision_id: components['parameters']['path_revision_id'];
|
|
3579
|
+
};
|
|
3580
|
+
};
|
|
3581
|
+
responses: {
|
|
3582
|
+
/** Successful Response */
|
|
3583
|
+
200: {
|
|
3584
|
+
content: {
|
|
3585
|
+
'application/json': components['schemas']['SubjectRevision'];
|
|
3586
|
+
};
|
|
3587
|
+
};
|
|
3588
|
+
/** Validation Error */
|
|
3589
|
+
400: {
|
|
3590
|
+
content: {
|
|
3591
|
+
'application/json': components['schemas']['ErrorDetail'];
|
|
3592
|
+
};
|
|
3593
|
+
};
|
|
3594
|
+
/** Not Found */
|
|
3595
|
+
404: {
|
|
3596
|
+
content: {
|
|
3597
|
+
'application/json': components['schemas']['ErrorDetail'];
|
|
3598
|
+
};
|
|
3599
|
+
};
|
|
3600
|
+
};
|
|
3601
|
+
};
|
|
3602
|
+
getEpisodeRevisions: {
|
|
3603
|
+
parameters: {
|
|
3604
|
+
query: {
|
|
3605
|
+
/** 章节 ID */
|
|
3606
|
+
episode_id: number;
|
|
3607
|
+
/** 分页参数 */
|
|
3608
|
+
limit?: components['parameters']['default_query_limit'];
|
|
3609
|
+
/** 分页参数 */
|
|
3610
|
+
offset?: components['parameters']['default_query_offset'];
|
|
3611
|
+
};
|
|
3612
|
+
};
|
|
3613
|
+
responses: {
|
|
3614
|
+
/** Successful Response */
|
|
3615
|
+
200: {
|
|
3616
|
+
content: {
|
|
3617
|
+
'application/json': components['schemas']['Paged_Revision'];
|
|
3618
|
+
};
|
|
3619
|
+
};
|
|
3620
|
+
/** Validation Error */
|
|
3621
|
+
400: {
|
|
3622
|
+
content: {
|
|
3623
|
+
'application/json': components['schemas']['ErrorDetail'];
|
|
3624
|
+
};
|
|
3625
|
+
};
|
|
3626
|
+
};
|
|
3627
|
+
};
|
|
3628
|
+
getEpisodeRevisionByRevisionId: {
|
|
3629
|
+
parameters: {
|
|
3630
|
+
path: {
|
|
3631
|
+
/** 版本 ID */
|
|
3632
|
+
revision_id: components['parameters']['path_revision_id'];
|
|
3633
|
+
};
|
|
3634
|
+
};
|
|
3635
|
+
responses: {
|
|
3636
|
+
/** Successful Response */
|
|
3637
|
+
200: {
|
|
3638
|
+
content: {
|
|
3639
|
+
'application/json': components['schemas']['DetailedRevision'];
|
|
3640
|
+
};
|
|
3641
|
+
};
|
|
3642
|
+
/** Validation Error */
|
|
3643
|
+
400: {
|
|
3644
|
+
content: {
|
|
3645
|
+
'application/json': components['schemas']['ErrorDetail'];
|
|
3646
|
+
};
|
|
3647
|
+
};
|
|
3648
|
+
/** Not Found */
|
|
3649
|
+
404: {
|
|
3650
|
+
content: {
|
|
3651
|
+
'application/json': components['schemas']['ErrorDetail'];
|
|
3652
|
+
};
|
|
3653
|
+
};
|
|
3654
|
+
};
|
|
3655
|
+
};
|
|
3656
|
+
newIndex: {
|
|
3657
|
+
responses: {
|
|
3658
|
+
/** Successful Response */
|
|
3659
|
+
200: {
|
|
3660
|
+
content: {
|
|
3661
|
+
'application/json': components['schemas']['Index'];
|
|
3662
|
+
};
|
|
3663
|
+
};
|
|
3664
|
+
/** Unauthorized */
|
|
3665
|
+
401: {
|
|
3666
|
+
content: {
|
|
3667
|
+
'application/json': components['schemas']['ErrorDetail'];
|
|
3668
|
+
};
|
|
3669
|
+
};
|
|
3670
|
+
};
|
|
3671
|
+
};
|
|
3672
|
+
getIndexById: {
|
|
3673
|
+
parameters: {
|
|
3674
|
+
path: {
|
|
3675
|
+
/** 目录 ID */
|
|
3676
|
+
index_id: components['parameters']['path_index_id'];
|
|
3677
|
+
};
|
|
3678
|
+
};
|
|
3679
|
+
responses: {
|
|
3680
|
+
/** Successful Response */
|
|
3681
|
+
200: {
|
|
3682
|
+
content: {
|
|
3683
|
+
'application/json': components['schemas']['Index'];
|
|
3684
|
+
};
|
|
3685
|
+
};
|
|
3686
|
+
404: components['responses']['404'];
|
|
3687
|
+
};
|
|
3688
|
+
};
|
|
3689
|
+
editIndexById: {
|
|
3690
|
+
parameters: {
|
|
3691
|
+
path: {
|
|
3692
|
+
/** 目录 ID */
|
|
3693
|
+
index_id: components['parameters']['path_index_id'];
|
|
3694
|
+
};
|
|
3695
|
+
};
|
|
3696
|
+
responses: {
|
|
3697
|
+
/** Successful Response */
|
|
3698
|
+
200: {
|
|
3699
|
+
content: {
|
|
3700
|
+
'application/json': components['schemas']['Index'];
|
|
3701
|
+
};
|
|
3702
|
+
};
|
|
3703
|
+
400: components['responses']['400'];
|
|
3704
|
+
401: components['responses']['401'];
|
|
3705
|
+
404: components['responses']['404'];
|
|
3706
|
+
};
|
|
3707
|
+
requestBody: {
|
|
3708
|
+
content: {
|
|
3709
|
+
'application/json': components['schemas']['IndexBasicInfo'];
|
|
3710
|
+
};
|
|
3711
|
+
};
|
|
3712
|
+
};
|
|
3713
|
+
getIndexSubjectsByIndexId: {
|
|
3714
|
+
parameters: {
|
|
3715
|
+
path: {
|
|
3716
|
+
/** 目录 ID */
|
|
3717
|
+
index_id: components['parameters']['path_index_id'];
|
|
3718
|
+
};
|
|
3719
|
+
query: {
|
|
3720
|
+
/** 条目类型 */
|
|
3721
|
+
type?: components['schemas']['SubjectType'];
|
|
3722
|
+
/** 分页参数 */
|
|
3723
|
+
limit?: components['parameters']['default_query_limit'];
|
|
3724
|
+
/** 分页参数 */
|
|
3725
|
+
offset?: components['parameters']['default_query_offset'];
|
|
3726
|
+
};
|
|
3727
|
+
};
|
|
3728
|
+
responses: {
|
|
3729
|
+
/** Successful Response */
|
|
3730
|
+
200: unknown;
|
|
3731
|
+
400: components['responses']['400'];
|
|
3732
|
+
404: components['responses']['404'];
|
|
3733
|
+
};
|
|
3734
|
+
};
|
|
3735
|
+
addSubjectToIndexByIndexId: {
|
|
3736
|
+
parameters: {
|
|
3737
|
+
path: {
|
|
3738
|
+
/** 目录 ID */
|
|
3739
|
+
index_id: components['parameters']['path_index_id'];
|
|
3740
|
+
};
|
|
3741
|
+
};
|
|
3742
|
+
responses: {
|
|
3743
|
+
200: components['responses']['200-no-content'];
|
|
3744
|
+
400: components['responses']['401'];
|
|
3745
|
+
401: components['responses']['400'];
|
|
3746
|
+
404: components['responses']['404'];
|
|
3747
|
+
};
|
|
3748
|
+
requestBody: {
|
|
3749
|
+
content: {
|
|
3750
|
+
'application/json': components['schemas']['IndexSubjectAddInfo'];
|
|
3751
|
+
};
|
|
3752
|
+
};
|
|
3753
|
+
};
|
|
3754
|
+
/** 如果条目不存在于目录,会创建该条目 */
|
|
3755
|
+
editIndexSubjectsByIndexIdAndSubjectID: {
|
|
3756
|
+
parameters: {
|
|
3757
|
+
path: {
|
|
3758
|
+
/** 目录 ID */
|
|
3759
|
+
index_id: components['parameters']['path_index_id'];
|
|
3760
|
+
/** 条目 ID */
|
|
3761
|
+
subject_id: components['parameters']['path_subject_id'];
|
|
3762
|
+
};
|
|
3763
|
+
};
|
|
3764
|
+
responses: {
|
|
3765
|
+
200: components['responses']['200-no-content'];
|
|
3766
|
+
400: components['responses']['400'];
|
|
3767
|
+
401: components['responses']['401'];
|
|
3768
|
+
404: components['responses']['404'];
|
|
3769
|
+
};
|
|
3770
|
+
requestBody: {
|
|
3771
|
+
content: {
|
|
3772
|
+
'application/json': components['schemas']['IndexSubjectEditInfo'];
|
|
3773
|
+
};
|
|
3774
|
+
};
|
|
3775
|
+
};
|
|
3776
|
+
delelteSubjectFromIndexByIndexIdAndSubjectID: {
|
|
3777
|
+
parameters: {
|
|
3778
|
+
path: {
|
|
3779
|
+
/** 目录 ID */
|
|
3780
|
+
index_id: components['parameters']['path_index_id'];
|
|
3781
|
+
/** 条目 ID */
|
|
3782
|
+
subject_id: components['parameters']['path_subject_id'];
|
|
3783
|
+
};
|
|
3784
|
+
};
|
|
3785
|
+
responses: {
|
|
3786
|
+
200: components['responses']['200-no-content'];
|
|
3787
|
+
401: components['responses']['401'];
|
|
3788
|
+
404: components['responses']['404'];
|
|
3789
|
+
};
|
|
3790
|
+
};
|
|
3791
|
+
/** 为当前用户收藏一条目录 */
|
|
3792
|
+
collectIndexByIndexIdAndUserId: {
|
|
3793
|
+
parameters: {
|
|
3794
|
+
path: {
|
|
3795
|
+
/** 目录 ID */
|
|
3796
|
+
index_id: components['parameters']['path_index_id'];
|
|
3797
|
+
};
|
|
3798
|
+
};
|
|
3799
|
+
responses: {
|
|
3800
|
+
200: components['responses']['200-no-content'];
|
|
3801
|
+
401: components['responses']['401'];
|
|
3802
|
+
404: components['responses']['404'];
|
|
3803
|
+
500: components['responses']['500'];
|
|
3804
|
+
};
|
|
3805
|
+
};
|
|
3806
|
+
/** 为当前用户取消收藏一条目录 */
|
|
3807
|
+
uncollectIndexByIndexIdAndUserId: {
|
|
3808
|
+
parameters: {
|
|
3809
|
+
path: {
|
|
3810
|
+
/** 目录 ID */
|
|
3811
|
+
index_id: components['parameters']['path_index_id'];
|
|
3812
|
+
};
|
|
3813
|
+
};
|
|
3814
|
+
responses: {
|
|
3815
|
+
200: components['responses']['200-no-content'];
|
|
3816
|
+
401: components['responses']['401'];
|
|
3817
|
+
404: components['responses']['404'];
|
|
3818
|
+
500: components['responses']['500'];
|
|
3819
|
+
};
|
|
3820
|
+
};
|
|
3821
|
+
}
|
|
3822
|
+
//#endregion
|
|
3823
|
+
//#region ../bgmc/src/types/type.d.ts
|
|
3824
|
+
/** 条目 */
|
|
3825
|
+
declare namespace BGMSubject {
|
|
3826
|
+
type Calendar = paths['/calendar']['get']['responses']['200']['content']['application/json'];
|
|
3827
|
+
type GetSubjects = paths['/v0/subjects']['get']['responses']['200']['content']['application/json'];
|
|
3828
|
+
/** 实验性 API, 随时可能发生改动 */
|
|
3829
|
+
type Search = paths['/v0/search/subjects']['post']['responses']['200']['content']['application/json'];
|
|
3830
|
+
type Information = paths['/v0/subjects/{subject_id}']['get']['responses']['200']['content']['application/json'];
|
|
3831
|
+
type Persons = paths['/v0/subjects/{subject_id}/persons']['get']['responses']['200']['content']['application/json'];
|
|
3832
|
+
type Characters = paths['/v0/subjects/{subject_id}/characters']['get']['responses']['200']['content']['application/json'];
|
|
3833
|
+
type RelatedSubjects = paths['/v0/subjects/{subject_id}/subjects']['get']['responses']['200']['content']['application/json'];
|
|
3834
|
+
}
|
|
3835
|
+
//#endregion
|
|
3836
|
+
//#region ../bgmc/src/client.d.ts
|
|
3837
|
+
type SubjectInformation = BGMSubject.Information;
|
|
3838
|
+
//#endregion
|
|
3839
|
+
//#region src/utils/title.d.ts
|
|
3840
|
+
declare function normalizeTitle(t: string): string;
|
|
3841
|
+
declare function getSubjectDisplayName(bgm?: Pick<SubjectInformation, 'name' | 'name_cn'>): any;
|
|
3842
|
+
declare function getSubjectAlias(subject: Pick<SubjectInformation, 'infobox' | 'name' | 'name_cn'>): string[];
|
|
3843
|
+
declare function decodeSubjectTitle(name: string): string;
|
|
3844
|
+
//#endregion
|
|
3845
|
+
//#region src/utils/summary.d.ts
|
|
24
3846
|
declare function normalizeSummary(text: string): string;
|
|
25
|
-
|
|
26
|
-
export {
|
|
3847
|
+
//#endregion
|
|
3848
|
+
export { BasicSubject, FullSubject, NormalizeTagsOptions, SubjectImage, SubjectRating, SubjectSearch, Tag, decodeSubjectTitle, getSubjectAlias, getSubjectDisplayName, normalizeSummary, normalizeTags, normalizeTitle, trimSeason };
|