/** * Bangumi API * 你可以在 生成一个 Access Token ## [关于 User Agent](https://github.com/bangumi/api/blob/master/docs-raw/user%20agent.md) 如果你在使用中遇到了问题,请优先使用 GitHub issue 提交问题。在 bangumi 小组发帖可能无法得到及时反馈。 * * The version of the OpenAPI document: 2026-05-2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). * https://openapi-generator.tech * Do not edit the class manually. */ import { Observable } from 'rxjs'; import IHttpClient from '../IHttpClient'; import { IAPIConfiguration } from '../IAPIConfiguration'; import { Headers } from '../Headers'; import HttpResponse from '../HttpResponse'; import { Character } from '../model/character'; import { CharacterPerson } from '../model/characterPerson'; import { CharacterRevision } from '../model/characterRevision'; import { DetailedRevision } from '../model/detailedRevision'; import { EpType } from '../model/epType'; import { EpisodeDetail } from '../model/episodeDetail'; import { GetCalendar200ResponseInner } from '../model/getCalendar200ResponseInner'; import { GetMyself200Response } from '../model/getMyself200Response'; import { GetUserSubjectEpisodeCollection200Response } from '../model/getUserSubjectEpisodeCollection200Response'; import { Index } from '../model/index'; import { IndexBasicInfo } from '../model/indexBasicInfo'; import { IndexSubjectAddInfo } from '../model/indexSubjectAddInfo'; import { IndexSubjectEditInfo } from '../model/indexSubjectEditInfo'; import { PagedCharacter } from '../model/pagedCharacter'; import { PagedEpisode } from '../model/pagedEpisode'; import { PagedPerson } from '../model/pagedPerson'; import { PagedRevision } from '../model/pagedRevision'; import { PagedSubject } from '../model/pagedSubject'; import { PagedUserCharacterCollection } from '../model/pagedUserCharacterCollection'; import { PagedUserCollection } from '../model/pagedUserCollection'; import { PagedUserPersonCollection } from '../model/pagedUserPersonCollection'; import { PatchUserSubjectEpisodeCollectionRequest } from '../model/patchUserSubjectEpisodeCollectionRequest'; import { PersonCharacter } from '../model/personCharacter'; import { PersonDetail } from '../model/personDetail'; import { PersonRevision } from '../model/personRevision'; import { PutUserEpisodeCollectionRequest } from '../model/putUserEpisodeCollectionRequest'; import { RelatedCharacter } from '../model/relatedCharacter'; import { RelatedPerson } from '../model/relatedPerson'; import { SearchCharactersRequest } from '../model/searchCharactersRequest'; import { SearchPersonsRequest } from '../model/searchPersonsRequest'; import { SearchSubjectsRequest } from '../model/searchSubjectsRequest'; import { Subject } from '../model/subject'; import { SubjectCategory } from '../model/subjectCategory'; import { SubjectCollectionType } from '../model/subjectCollectionType'; import { SubjectRevision } from '../model/subjectRevision'; import { SubjectType } from '../model/subjectType'; import { User } from '../model/user'; import { UserCharacterCollection } from '../model/userCharacterCollection'; import { UserEpisodeCollection } from '../model/userEpisodeCollection'; import { UserPersonCollection } from '../model/userPersonCollection'; import { UserSubjectCollection } from '../model/userSubjectCollection'; import { UserSubjectCollectionModifyPayload } from '../model/userSubjectCollectionModifyPayload'; import { V0RelatedSubject } from '../model/v0RelatedSubject'; import { V0SubjectRelation } from '../model/v0SubjectRelation'; import { DefaultServiceInterface } from './default.serviceInterface'; export declare class DefaultService implements DefaultServiceInterface { private httpClient; private APIConfiguration; private basePath; constructor(httpClient: IHttpClient, APIConfiguration: IAPIConfiguration); /** * Add a subject to Index * * @param index_id 目录 ID * @param IndexSubjectAddInfo */ addSubjectToIndexByIndexId(index_id: number, IndexSubjectAddInfo?: IndexSubjectAddInfo, observe?: 'body', headers?: Headers): Observable; addSubjectToIndexByIndexId(index_id: number, IndexSubjectAddInfo?: IndexSubjectAddInfo, observe?: 'response', headers?: Headers): Observable>; /** * Collect character for current user * 为当前用户收藏角色 * @param character_id 角色 ID */ collectCharacterByCharacterIdAndUserId(character_id: number, observe?: 'body', headers?: Headers): Observable; collectCharacterByCharacterIdAndUserId(character_id: number, observe?: 'response', headers?: Headers): Observable>; /** * Collect index for current user * 为当前用户收藏一条目录 * @param index_id 目录 ID */ collectIndexByIndexIdAndUserId(index_id: number, observe?: 'body', headers?: Headers): Observable; collectIndexByIndexIdAndUserId(index_id: number, observe?: 'response', headers?: Headers): Observable>; /** * Collect person for current user * 为当前用户收藏人物 * @param person_id 人物 ID */ collectPersonByPersonIdAndUserId(person_id: number, observe?: 'body', headers?: Headers): Observable; collectPersonByPersonIdAndUserId(person_id: number, observe?: 'response', headers?: Headers): Observable>; /** * Delete a subject from a Index * * @param index_id 目录 ID * @param subject_id 条目 ID */ delelteSubjectFromIndexByIndexIdAndSubjectID(index_id: number, subject_id: number, observe?: 'body', headers?: Headers): Observable; delelteSubjectFromIndexByIndexIdAndSubjectID(index_id: number, subject_id: number, observe?: 'response', headers?: Headers): Observable>; /** * Edit index\'s information * * @param index_id 目录 ID * @param IndexBasicInfo */ editIndexById(index_id: number, IndexBasicInfo?: IndexBasicInfo, observe?: 'body', headers?: Headers): Observable; editIndexById(index_id: number, IndexBasicInfo?: IndexBasicInfo, observe?: 'response', headers?: Headers): Observable>; /** * Edit subject information in a index * 如果条目不存在于目录,会创建该条目 * @param index_id 目录 ID * @param subject_id 条目 ID * @param IndexSubjectEditInfo */ editIndexSubjectsByIndexIdAndSubjectID(index_id: number, subject_id: number, IndexSubjectEditInfo?: IndexSubjectEditInfo, observe?: 'body', headers?: Headers): Observable; editIndexSubjectsByIndexIdAndSubjectID(index_id: number, subject_id: number, IndexSubjectEditInfo?: IndexSubjectEditInfo, observe?: 'response', headers?: Headers): Observable>; /** * 每日放送 * */ getCalendar(observe?: 'body', headers?: Headers): Observable>; getCalendar(observe?: 'response', headers?: Headers): Observable>>; /** * Get Character Detail * cache with 60s * @param character_id 角色 ID */ getCharacterById(character_id: number, observe?: 'body', headers?: Headers): Observable; getCharacterById(character_id: number, observe?: 'response', headers?: Headers): Observable>; /** * Get Character Image * * @param character_id 角色 ID * @param type 枚举值 {small|grid|large|medium} */ getCharacterImageById(character_id: number, type: string, observe?: 'body', headers?: Headers): Observable; getCharacterImageById(character_id: number, type: string, observe?: 'response', headers?: Headers): Observable>; /** * Get Character Revision * * @param revision_id 版本 ID */ getCharacterRevisionByRevisionId(revision_id: number, observe?: 'body', headers?: Headers): Observable; getCharacterRevisionByRevisionId(revision_id: number, observe?: 'response', headers?: Headers): Observable>; /** * Get Character Revisions * * @param character_id 角色 ID * @param limit 分页参数 * @param offset 分页参数 */ getCharacterRevisions(character_id: number, limit?: number, offset?: number, observe?: 'body', headers?: Headers): Observable; getCharacterRevisions(character_id: number, limit?: number, offset?: number, observe?: 'response', headers?: Headers): Observable>; /** * Get Episode * * @param episode_id 章节 ID */ getEpisodeById(episode_id: number, observe?: 'body', headers?: Headers): Observable; getEpisodeById(episode_id: number, observe?: 'response', headers?: Headers): Observable>; /** * Get Episode Revision * * @param revision_id 版本 ID */ getEpisodeRevisionByRevisionId(revision_id: number, observe?: 'body', headers?: Headers): Observable; getEpisodeRevisionByRevisionId(revision_id: number, observe?: 'response', headers?: Headers): Observable>; /** * Get Episode Revisions * * @param episode_id 章节 ID * @param limit 分页参数 * @param offset 分页参数 */ getEpisodeRevisions(episode_id: number, limit?: number, offset?: number, observe?: 'body', headers?: Headers): Observable; getEpisodeRevisions(episode_id: number, limit?: number, offset?: number, observe?: 'response', headers?: Headers): Observable>; /** * Get Episodes * * @param subject_id 条目 ID * @param type 参照章节的`type` * @param limit 分页参数 * @param offset 分页参数 */ getEpisodes(subject_id: number, type?: EpType, limit?: number, offset?: number, observe?: 'body', headers?: Headers): Observable; getEpisodes(subject_id: number, type?: EpType, limit?: number, offset?: number, observe?: 'response', headers?: Headers): Observable>; /** * Get Index By ID * * @param index_id 目录 ID */ getIndexById(index_id: number, observe?: 'body', headers?: Headers): Observable; getIndexById(index_id: number, observe?: 'response', headers?: Headers): Observable>; /** * Get Index Subjects * * @param index_id 目录 ID * @param type 条目类型 * @param limit 分页参数 * @param offset 分页参数 */ getIndexSubjectsByIndexId(index_id: number, type?: SubjectType, limit?: number, offset?: number, observe?: 'body', headers?: Headers): Observable; getIndexSubjectsByIndexId(index_id: number, type?: SubjectType, limit?: number, offset?: number, observe?: 'response', headers?: Headers): Observable>; /** * Get User * 返回当前 Access Token 对应的用户信息 */ getMyself(observe?: 'body', headers?: Headers): Observable; getMyself(observe?: 'response', headers?: Headers): Observable>; /** * Get Person * cache with 60s * @param person_id 人物 ID */ getPersonById(person_id: number, observe?: 'body', headers?: Headers): Observable; getPersonById(person_id: number, observe?: 'response', headers?: Headers): Observable>; /** * Get Person Image * * @param person_id 人物 ID * @param type 枚举值 {small|grid|large|medium} */ getPersonImageById(person_id: number, type: string, observe?: 'body', headers?: Headers): Observable; getPersonImageById(person_id: number, type: string, observe?: 'response', headers?: Headers): Observable>; /** * Get Person Revision * * @param revision_id 历史版本 ID */ getPersonRevisionByRevisionId(revision_id: number, observe?: 'body', headers?: Headers): Observable; getPersonRevisionByRevisionId(revision_id: number, observe?: 'response', headers?: Headers): Observable>; /** * Get Person Revisions * * @param person_id 角色 ID * @param limit 分页参数 * @param offset 分页参数 */ getPersonRevisions(person_id: number, limit?: number, offset?: number, observe?: 'body', headers?: Headers): Observable; getPersonRevisions(person_id: number, limit?: number, offset?: number, observe?: 'response', headers?: Headers): Observable>; /** * get person related characters * * @param person_id 人物 ID */ getRelatedCharactersByPersonId(person_id: number, observe?: 'body', headers?: Headers): Observable>; getRelatedCharactersByPersonId(person_id: number, observe?: 'response', headers?: Headers): Observable>>; /** * Get Subject Characters * * @param subject_id 条目 ID */ getRelatedCharactersBySubjectId(subject_id: number, observe?: 'body', headers?: Headers): Observable>; getRelatedCharactersBySubjectId(subject_id: number, observe?: 'response', headers?: Headers): Observable>>; /** * get character related persons * * @param character_id 角色 ID */ getRelatedPersonsByCharacterId(character_id: number, observe?: 'body', headers?: Headers): Observable>; getRelatedPersonsByCharacterId(character_id: number, observe?: 'response', headers?: Headers): Observable>>; /** * Get Subject Persons * * @param subject_id 条目 ID */ getRelatedPersonsBySubjectId(subject_id: number, observe?: 'body', headers?: Headers): Observable>; getRelatedPersonsBySubjectId(subject_id: number, observe?: 'response', headers?: Headers): Observable>>; /** * get character related subjects * * @param character_id 角色 ID */ getRelatedSubjectsByCharacterId(character_id: number, observe?: 'body', headers?: Headers): Observable>; getRelatedSubjectsByCharacterId(character_id: number, observe?: 'response', headers?: Headers): Observable>>; /** * get person related subjects * * @param person_id 人物 ID */ getRelatedSubjectsByPersonId(person_id: number, observe?: 'body', headers?: Headers): Observable>; getRelatedSubjectsByPersonId(person_id: number, observe?: 'response', headers?: Headers): Observable>>; /** * Get Subject Relations * * @param subject_id 条目 ID */ getRelatedSubjectsBySubjectId(subject_id: number, observe?: 'body', headers?: Headers): Observable>; getRelatedSubjectsBySubjectId(subject_id: number, observe?: 'response', headers?: Headers): Observable>>; /** * 获取条目 * cache with 300s * @param subject_id 条目 ID */ getSubjectById(subject_id: number, observe?: 'body', headers?: Headers): Observable; getSubjectById(subject_id: number, observe?: 'response', headers?: Headers): Observable>; /** * Get Subject Image * * @param subject_id 条目 ID * @param type 枚举值 {small|grid|large|medium|common} */ getSubjectImageById(subject_id: number, type: string, observe?: 'body', headers?: Headers): Observable; getSubjectImageById(subject_id: number, type: string, observe?: 'response', headers?: Headers): Observable>; /** * Get Subject Revision * * @param revision_id 版本 ID */ getSubjectRevisionByRevisionId(revision_id: number, observe?: 'body', headers?: Headers): Observable; getSubjectRevisionByRevisionId(revision_id: number, observe?: 'response', headers?: Headers): Observable>; /** * Get Subject Revisions * * @param subject_id 条目 ID * @param limit 分页参数 * @param offset 分页参数 */ getSubjectRevisions(subject_id: number, limit?: number, offset?: number, observe?: 'body', headers?: Headers): Observable; getSubjectRevisions(subject_id: number, limit?: number, offset?: number, observe?: 'response', headers?: Headers): Observable>; /** * 浏览条目 * 第一页会 cache 24h,之后会 cache 1h * @param type 条目类型 * @param cat 条目分类,参照 `SubjectCategory` enum * @param series 是否系列,仅对书籍类型的条目有效 * @param platform 平台,仅对游戏类型的条目有效 * @param sort 排序,枚举值 {date|rank} * @param year 年份 * @param month 月份 * @param limit 分页参数 * @param offset 分页参数 */ getSubjects(type: SubjectType, cat?: SubjectCategory, series?: boolean, platform?: string, sort?: string, year?: number, month?: number, limit?: number, offset?: number, observe?: 'body', headers?: Headers): Observable; getSubjects(type: SubjectType, cat?: SubjectCategory, series?: boolean, platform?: string, sort?: string, year?: number, month?: number, limit?: number, offset?: number, observe?: 'response', headers?: Headers): Observable>; /** * Get User Avatar by name * 获取用户头像,302 重定向至头像地址,设置了 username 之后无法使用 UID 查询。 * @param username 设置了用户名之后无法使用 UID。 * @param type 枚举值 {small|large|medium} */ getUserAvatarByName(username: string, type: string, observe?: 'body', headers?: Headers): Observable; getUserAvatarByName(username: string, type: string, observe?: 'response', headers?: Headers): Observable>; /** * Get User by name * 获取用户信息 * @param username 设置了用户名之后无法使用 UID。 */ getUserByName(username: string, observe?: 'body', headers?: Headers): Observable; getUserByName(username: string, observe?: 'response', headers?: Headers): Observable>; /** * 获取用户单个角色收藏信息 * * @param username 设置了用户名之后无法使用 UID。 * @param character_id 角色 ID */ getUserCharacterCollection(username: string, character_id: number, observe?: 'body', headers?: Headers): Observable; getUserCharacterCollection(username: string, character_id: number, observe?: 'response', headers?: Headers): Observable>; /** * 获取用户角色收藏列表 * * @param username 设置了用户名之后无法使用 UID。 */ getUserCharacterCollections(username: string, observe?: 'body', headers?: Headers): Observable; getUserCharacterCollections(username: string, observe?: 'response', headers?: Headers): Observable>; /** * 获取用户单个条目收藏 * 获取对应用户的收藏,查看私有收藏需要 access token * @param username 设置了用户名之后无法使用 UID。 * @param subject_id 条目 ID */ getUserCollection(username: string, subject_id: number, observe?: 'body', headers?: Headers): Observable; getUserCollection(username: string, subject_id: number, observe?: 'response', headers?: Headers): Observable>; /** * 获取用户收藏 * 获取对应用户的收藏,查看私有收藏需要access token。 * @param username 设置了用户名之后无法使用 UID。 * @param subject_type 条目类型,默认为全部 具体含义见 [SubjectType](#model-SubjectType) * @param type 收藏类型,默认为全部 具体含义见 [CollectionType](#model-CollectionType) * @param limit 分页参数 * @param offset 分页参数 */ getUserCollectionsByUsername(username: string, subject_type?: SubjectType, type?: SubjectCollectionType, limit?: number, offset?: number, observe?: 'body', headers?: Headers): Observable; getUserCollectionsByUsername(username: string, subject_type?: SubjectType, type?: SubjectCollectionType, limit?: number, offset?: number, observe?: 'response', headers?: Headers): Observable>; /** * 章节收藏信息 * * @param episode_id 章节 ID */ getUserEpisodeCollection(episode_id: number, observe?: 'body', headers?: Headers): Observable; getUserEpisodeCollection(episode_id: number, observe?: 'response', headers?: Headers): Observable>; /** * 获取用户单个人物收藏信息 * * @param username 设置了用户名之后无法使用 UID。 * @param person_id 人物 ID */ getUserPersonCollection(username: string, person_id: number, observe?: 'body', headers?: Headers): Observable; getUserPersonCollection(username: string, person_id: number, observe?: 'response', headers?: Headers): Observable>; /** * 获取用户人物收藏列表 * * @param username 设置了用户名之后无法使用 UID。 */ getUserPersonCollections(username: string, observe?: 'body', headers?: Headers): Observable; getUserPersonCollections(username: string, observe?: 'response', headers?: Headers): Observable>; /** * 章节收藏信息 * * @param subject_id 条目 ID * @param offset 分页参数 * @param limit 分页参数 * @param episode_type 章节类型,不传则不按照章节进行筛选 */ getUserSubjectEpisodeCollection(subject_id: number, offset?: number, limit?: number, episode_type?: EpType, observe?: 'body', headers?: Headers): Observable; getUserSubjectEpisodeCollection(subject_id: number, offset?: number, limit?: number, episode_type?: EpType, observe?: 'response', headers?: Headers): Observable>; /** * Create a new index * */ newIndex(observe?: 'body', headers?: Headers): Observable; newIndex(observe?: 'response', headers?: Headers): Observable>; /** * 修改用户单个收藏 * 修改条目收藏状态 由于直接修改剧集条目的完成度可能会引起意料之外效果,只能用于修改书籍类条目的完成度。 PATCH 方法的所有请求体字段均可选 * @param subject_id 条目 ID * @param UserSubjectCollectionModifyPayload */ patchUserCollection(subject_id: number, UserSubjectCollectionModifyPayload?: UserSubjectCollectionModifyPayload, observe?: 'body', headers?: Headers): Observable; patchUserCollection(subject_id: number, UserSubjectCollectionModifyPayload?: UserSubjectCollectionModifyPayload, observe?: 'response', headers?: Headers): Observable>; /** * 章节收藏信息 * 同时会重新计算条目的完成度 * @param subject_id 条目 ID * @param PatchUserSubjectEpisodeCollectionRequest */ patchUserSubjectEpisodeCollection(subject_id: number, PatchUserSubjectEpisodeCollectionRequest?: PatchUserSubjectEpisodeCollectionRequest, observe?: 'body', headers?: Headers): Observable; patchUserSubjectEpisodeCollection(subject_id: number, PatchUserSubjectEpisodeCollectionRequest?: PatchUserSubjectEpisodeCollectionRequest, observe?: 'response', headers?: Headers): Observable>; /** * 新增或修改用户单个条目收藏 * 修改条目收藏状态, 如果不存在则创建,如果存在则修改 由于直接修改剧集条目的完成度可能会引起意料之外效果,只能用于修改书籍类条目的完成度。 方法的所有请求体字段均可选 * @param subject_id 条目 ID * @param UserSubjectCollectionModifyPayload */ postUserCollection(subject_id: number, UserSubjectCollectionModifyPayload?: UserSubjectCollectionModifyPayload, observe?: 'body', headers?: Headers): Observable; postUserCollection(subject_id: number, UserSubjectCollectionModifyPayload?: UserSubjectCollectionModifyPayload, observe?: 'response', headers?: Headers): Observable>; /** * 更新章节收藏信息 * * @param episode_id 章节 ID * @param PutUserEpisodeCollectionRequest */ putUserEpisodeCollection(episode_id: number, PutUserEpisodeCollectionRequest?: PutUserEpisodeCollectionRequest, observe?: 'body', headers?: Headers): Observable; putUserEpisodeCollection(episode_id: number, PutUserEpisodeCollectionRequest?: PutUserEpisodeCollectionRequest, observe?: 'response', headers?: Headers): Observable>; /** * 角色搜索 * ## 实验性 API, 本 schema 和实际的 API 行为都可能随时发生改动 目前支持的筛选条件包括: - `nsfw`: 使用 `include` 包含NSFW搜索结果。默认排除搜索NSFW条目。无权限情况下忽略此选项,不会返回NSFW条目。 * @param limit 分页参数 * @param offset 分页参数 * @param SearchCharactersRequest */ searchCharacters(limit?: number, offset?: number, SearchCharactersRequest?: SearchCharactersRequest, observe?: 'body', headers?: Headers): Observable; searchCharacters(limit?: number, offset?: number, SearchCharactersRequest?: SearchCharactersRequest, observe?: 'response', headers?: Headers): Observable>; /** * 人物搜索 * ## 实验性 API, 本 schema 和实际的 API 行为都可能随时发生改动 目前支持的筛选条件包括: - `career`: 职业,可以多次出现。`且` 关系。 不同筛选条件之间为 `且` * @param limit 分页参数 * @param offset 分页参数 * @param SearchPersonsRequest */ searchPersons(limit?: number, offset?: number, SearchPersonsRequest?: SearchPersonsRequest, observe?: 'body', headers?: Headers): Observable; searchPersons(limit?: number, offset?: number, SearchPersonsRequest?: SearchPersonsRequest, observe?: 'response', headers?: Headers): Observable>; /** * 条目搜索 * ## 实验性 API, 本 schema 和实际的 API 行为都可能随时发生改动 目前支持的筛选条件包括: - `type`: 条目类型,参照 `SubjectType` enum, `或`。 - `tag`: 标签,可以多次出现。`且` 关系。 - `air_date`: 播出日期/发售日期。`且` 关系。 - `rating`: 用于搜索指定评分的条目。`且` 关系。 - `rating_count`: 用于按照评分人数筛选条目。`且` 关系。 - `rank`: 用于搜索指定排名的条目。`且` 关系。 - `nsfw`: 使用 `include` 包含NSFW搜索结果。默认排除搜索NSFW条目。无权限情况下忽略此选项,不会返回NSFW条目。 不同筛选条件之间为 `且` * @param limit 分页参数 * @param offset 分页参数 * @param SearchSubjectsRequest */ searchSubjects(limit?: number, offset?: number, SearchSubjectsRequest?: SearchSubjectsRequest, observe?: 'body', headers?: Headers): Observable; searchSubjects(limit?: number, offset?: number, SearchSubjectsRequest?: SearchSubjectsRequest, observe?: 'response', headers?: Headers): Observable>; /** * Uncollect character for current user * 为当前用户取消收藏角色 * @param character_id 角色 ID */ uncollectCharacterByCharacterIdAndUserId(character_id: number, observe?: 'body', headers?: Headers): Observable; uncollectCharacterByCharacterIdAndUserId(character_id: number, observe?: 'response', headers?: Headers): Observable>; /** * Uncollect index for current user * 为当前用户取消收藏一条目录 * @param index_id 目录 ID */ uncollectIndexByIndexIdAndUserId(index_id: number, observe?: 'body', headers?: Headers): Observable; uncollectIndexByIndexIdAndUserId(index_id: number, observe?: 'response', headers?: Headers): Observable>; /** * Uncollect person for current user * 为当前用户取消收藏人物 * @param person_id 人物 ID */ uncollectPersonByPersonIdAndUserId(person_id: number, observe?: 'body', headers?: Headers): Observable; uncollectPersonByPersonIdAndUserId(person_id: number, observe?: 'response', headers?: Headers): Observable>; }