Skip to content

movies · 短剧

ts
import { MoviesDomain } from '@hfyidu/api/movies'

短剧领域覆盖播放、微信剧场播放、推荐、解锁(含单集/批量/广告解锁)、剧集目录、点赞/转发、观看中/观看历史、收藏、分类、排行榜、推广挂包等全部短剧业务能力,服务前缀 theatre

用例总览

用例说明请求方式
MoviesDomain.cases.play播放剧集PUT theatre/play
MoviesDomain.cases.wxplayer微信小程序剧场播放初始化GET theatre/wxplayer/init
MoviesDomain.cases.adWxplayer广告场景微信小程序剧场初始化GET theatre/ad/wxplayer/init
MoviesDomain.cases.recommend获取推荐短剧GET theatre/recommend
MoviesDomain.cases.unlock解锁单集PUT theatre/unlock
MoviesDomain.cases.unlockBatch批量解锁剧集PUT theatre/unlocks
MoviesDomain.cases.catalogues剧集目录(分页)GET theatre/catalogues
MoviesDomain.cases.adPlay广告场景播放剧集PUT theatre/ad/play
MoviesDomain.cases.adUnlock广告场景解锁单集PUT theatre/ad/unlock
MoviesDomain.cases.adCatalogues广告场景剧集目录(分页)GET theatre/ad/catalogues
MoviesDomain.cases.like点赞POST theatre/like
MoviesDomain.cases.forwarded转发上报POST theatre/forwarded
MoviesDomain.cases.watching获取观看中的短剧GET theatre/watching
MoviesDomain.cases.history观看历史(分页)GET theatre/looks
MoviesDomain.cases.clearHistory清空观看历史DELETE theatre/looks
MoviesDomain.cases.favored收藏列表(分页)GET theatre/watches
MoviesDomain.cases.favor收藏短剧PUT theatre/watch
MoviesDomain.cases.unfavor取消收藏DELETE theatre/watch
MoviesDomain.cases.deleteHistory删除单条观看历史DELETE theatre/look
MoviesDomain.cases.classifyHead获取分类导航GET theatre/classifies
MoviesDomain.cases.classifyList分类下短剧列表(分页)GET theatre/class/list
MoviesDomain.cases.rankList排行榜(分页)GET theatre/list
MoviesDomain.cases.spreadBags推广挂包短剧列表(分页)GET theatre/bags
MoviesDomain.cases.playCopy播放剧集(静默副本)PUT theatre/play
MoviesDomain.cases.unlockCopy解锁单集(静默副本)PUT theatre/unlock
MoviesDomain.cases.unlockBatchCopy批量解锁剧集(静默副本)PUT theatre/unlocks

关于「静默副本」用例

playCopy / unlockCopy / unlockBatchCopy 与对应的 play / unlock / unlockBatch 请求路径、参数、响应结构完全一致,区别仅在于内部请求携带 ignore: trueunlockCopy / unlockBatchCopy)——即请求失败时不会触发框架统一的 Toast 提示,由业务代码自行处理错误展示,适合用在需要静默重试或自定义错误 UI 的场景。playCopyplay 行为完全相同,只是路径拼接走的是另一个仓储方法,供业务侧按需选择调用入口。

play · 播放剧集

ts
const { data } = await MoviesDomain.cases.play.run({
  theatre_id: 1001,
  spread_id: 0,
  collect_id: 2001,
  scene: 0,
})

console.log(data) // MoviesPlayDto

请求参数 MoviesPlayBodyParams

字段类型必填说明
theatre_idnumber | string短剧 ID
spread_idnumber | string推广 ID
collect_idnumber | string剧集 ID
scenenumber场景值(0:应用进入,1:外推进入)
not_is_autonumber | string是否非自动播放下一集
force_auto_unlocknumber | string是否强制自动解锁

响应 MoviesPlayDto

字段类型后台原始字段说明
idnumbertheatre_id短剧 ID,必填
collectIdnumberid剧集 ID,必填
srcstringspaced_url播放地址,默认 ''
namestringtheatre_title短剧名称
collectsnumbertotal_collect总剧集数
durationnumbertotal_duration总时长
numbernumbernumber当前剧集序号,默认 0
isAutonumberis_auto是否自动播放,默认 1
isChargebooleanis_charge是否付费
isQuietbooleanis_quiet是否静默剧(免登录/免解锁)
isUnlockbooleanis_unlock当前剧集是否已解锁
isLikebooleanis_like是否已点赞
isFavorbooleanis_watch是否已收藏
nextIdnumbernext_id下一集剧集 ID
prevIdnumberprev_id上一集剧集 ID
forwardNumnumberforward_number转发数
likeNumnumberlike_number点赞数
theatreMoviesPlayDescDto短剧附加描述信息,默认新建一个 MoviesPlayDescDto 实例
descriptionstring只读 getter,等价于 theatre.description
coverstring只读 getter,等价于 theatre.cover
thumbnailstring只读 getter,等价于 theatre.thumbnail
heatnumber只读 getter,等价于 theatre.heat
licensestring只读 getter,等价于 theatre.beian || theatre.license

业务错误(劫持解锁提示)

当后台返回错误码 417001 / 417002 时(通常表示当前剧集需要解锁/需要看广告解锁),仓储层会将错误重新包装为一个附带 codedataMoviesPlayDto 实例)的 Error 抛出,业务代码可结合快速开始 · 错误处理error.code 分支处理,并使用 error.data 直接渲染剧集信息。

MoviesPlayDescDto

字段类型后台原始字段说明
descriptionstringdescription剧情简介,默认 ''
coverstringcover_url封面图,默认 ''
thumbnailstringtheatre_deputy_cover缩略图/横板封面,默认 ''
heatnumberheat热度,默认 80
beianstringdrama_record_number备案号,默认 ''
licensestringonline_drama_license发行许可证号,默认 ''

wxplayer · 微信小程序剧场初始化

ts
const { data } = await MoviesDomain.cases.wxplayer.run({
  theatre_id: 1001,
  wx_drama_id: 5001,
  number: 1,
})

console.log(data) // MoviesWxplayerDto

请求参数 MoviesWxplayerQueryParams

短剧 ID(theatre_id)与微信剧目 ID(wx_drama_id)需二者传其一(该接口 wx_drama_id 为必填,adWxplayer 接口该字段为选填,详见下方 adWxplayer)。

字段类型必填说明
theatre_idnumber | string系统剧目 ID
wx_drama_idnumber | string微信剧目 ID
main_app_idnumber | string应用的系统 ID
numbernumber | string指定剧集序号
collect_idnumber | string剧集 ID
codestring微信 code

响应 MoviesWxplayerDto

字段类型后台原始字段说明
freeListMoviesWxplayerFreeDto[]free_list免费剧集区间列表,默认 []
playNumberstringplay_number当前可播放集数
isWatchbooleanis_watch是否已观看,默认 false
encryptedDatastringdata微信侧加密数据
lockListMoviesWxplayerLockDto[]serial_map锁定剧集区间及解锁所需金额列表,默认 []

MoviesWxplayerFreeDto

字段类型后台原始字段说明
start_serial_nonumberstart_serial_no免费区间起始集数,默认 1
end_serial_nonumberend_serial_no免费区间结束集数

MoviesWxplayerLockDto

字段类型后台原始字段说明
numbernumbernumber锁定区间起始集数,默认 1
amountnumberamount解锁所需金额

adWxplayer · 广告场景微信小程序剧场初始化

ts
const { data } = await MoviesDomain.cases.adWxplayer.run({
  theatre_id: 1001,
  wx_drama_id: 5001,
})

console.log(data) // MoviesAdWxplayerDto

请求参数 MoviesAdWxplayerQueryParams

字段与 MoviesWxplayerQueryParams 基本一致,唯一区别是 wx_drama_id 在此为选填。

字段类型必填说明
theatre_idnumber | string系统剧目 ID
wx_drama_idnumber | string微信剧目 ID
main_app_idnumber | string应用的系统 ID
numbernumber | string指定剧集序号
collect_idnumber | string剧集 ID
codestring微信 code

响应 MoviesAdWxplayerDto

字段结构与 MoviesWxplayerDto 完全一致(freeList / playNumber / isWatch / encryptedData / lockList),仅为独立的 DTO 类。

recommend · 获取推荐短剧

ts
const { data } = await MoviesDomain.cases.recommend.run({
  page: 1,
})

console.log(data) // MoviesRecommendDto

请求参数 MoviesRecommendQueryParams

字段类型必填说明
pagestring | number推荐指定页

响应 MoviesRecommendDto

字段类型后台原始字段说明
idstringid推荐短剧 ID,必填

unlock · 解锁单集

ts
const { data } = await MoviesDomain.cases.unlock.run({
  theatre_id: 1001,
  collect_id: 2002,
  scene: 0,
})

console.log(data) // MoviesUnlockDto

请求参数 MoviesUnlockBodyParams

字段类型必填说明
theatre_idnumber | string短剧 ID
collect_idnumber | string剧集 ID
spread_idnumber | string推广 ID
numbernumber剧集序号
scenenumber | string场景值
is_autonumber | string是否自动解锁
ad_confirmednumber | string是否已确认观看激励广告

响应 MoviesUnlockDto | HttpBusinessError

该用例声明的响应类型为 MoviesUnlockDtoHttpBusinessError 的联合类型,业务错误场景请结合快速开始 · 错误处理判断。

字段类型后台原始字段说明
idnumbertheatre_id短剧 ID,必填
collectIdnumberid剧集 ID,必填
srcstringspaced_url播放地址,默认 ''
namestringtheatre_title短剧名称
collectsnumbertotal_collect总剧集数
durationnumbertotal_duration总时长
numbernumbernumber当前剧集序号,默认 0
isAutonumberis_auto是否自动播放,默认 1
isChargebooleanis_charge是否付费
isQuietbooleanis_quiet是否静默剧
isUnlockbooleanis_unlock当前剧集是否已解锁
isLikebooleanis_like是否已点赞
isFavorbooleanis_watch是否已收藏
nextIdnumbernext_id下一集剧集 ID
prevIdnumberprev_id上一集剧集 ID
forwardNumnumberforward_number转发数
likeNumnumberlike_number点赞数
theatreMoviesPlayDescDto短剧附加描述信息,默认新建一个 MoviesPlayDescDto 实例
descriptionstring只读 getter,等价于 theatre.description
coverstring只读 getter,等价于 theatre.cover
thumbnailstring只读 getter,等价于 theatre.thumbnail
heatnumber只读 getter,等价于 theatre.heat
licensestring只读 getter,等价于 theatre.beian || theatre.license

unlockBatch · 批量解锁

ts
const { data } = await MoviesDomain.cases.unlockBatch.run({
  theatre_id: 1001,
  collect_ids: '1,2,3,4',
  scene: 0,
})

console.log(data) // MoviesUnlockBatchDto

请求参数 MoviesUnlockBatchBodyParams

字段类型必填说明
theatre_idnumber | string短剧 ID
collect_idsstring剧集 ID 集合,半角逗号连接(如 1,2,3,4),不传则默认解锁短剧下的所有剧集
scenenumber场景值(0:应用进入,1:外推进入)

响应 MoviesUnlockBatchDto

字段类型说明
coinnumber本次解锁消耗的金币数,默认 0
statestring解锁结果状态

catalogues · 剧集目录(分页)

这是分页列表用例,返回结构为 { list: MoviesCataloguesDto[] },建议参考快速开始 · 分页列表请求的用法只 new 一次并复用实例。

ts
// 只 new 一次,复用同一实例
const cataloguesCase = MoviesDomain.cases.catalogues

await cataloguesCase.refresh({
  theatre_id: 1001,
  page: 1,
  limit: 20,
})

console.log(cataloguesCase.list) // MoviesCataloguesDto[]

请求参数 MoviesCataloguesQueryParams

字段类型必填说明
theatre_idnumber短剧 ID
pagenumber页码
limitnumber每页条数
scene0 | 1场景值(0:应用进入,1:外推进入)

响应 { list: MoviesCataloguesDto[] }

MoviesCataloguesDto

字段类型后台原始字段说明
idnumberid剧集 ID,必填
amountnumberamount解锁所需金额,默认 0
numbernumbernumber剧集序号,默认 1
posterstringcover_url封面图,默认 ''
srcstringspaced_url播放地址,默认 ''
titlestringtitle标题,默认 ''
chargebooleanis_charge是否付费
quietbooleanis_quiet是否静默剧,默认 false
unlockbooleanis_unlock是否已解锁
total_durationnumbertotal_duration总时长,默认 0
isLikeboolean是否已点赞,默认 false
durationnumber只读 getter,Math.floor(total_duration)
progressnumberprogress播放进度,默认 0
likesstring只读 getter,随机生成的格式化点赞数(仅前端展示用途,非真实后台数据)
favorsstring只读 getter,随机生成的格式化收藏数(仅前端展示用途,非真实后台数据)

adPlay · 广告场景播放剧集

ts
const { data } = await MoviesDomain.cases.adPlay.run({
  theatre_id: 1001,
  collect_id: 2001,
  scene: 0,
})

console.log(data) // MoviesAdPlayDto

请求参数

复用 MoviesPlayBodyParams 类型(theatre_id / spread_id / collect_id / scene / not_is_auto / force_auto_unlock)。

TIP

包内另定义了一个 MoviesAdPlayBodyParams 接口(theatre_id / id? / collect_id? / spread_id? / scene? / force_auto_unlock? / not_is_auto?),但当前 adPlay 用例实际引用的是 MoviesPlayBodyParams,调用时以本节参数表为准。

响应 MoviesAdPlayDto

字段结构与 MoviesPlayDto 完全一致(id / collectId / src / name / collects / duration / number / isAuto / isCharge / isQuiet / isUnlock / isLike / isFavor / nextId / prevId / forwardNum / likeNum / theatredescription / cover / thumbnail / heat / license 只读 getter,均嵌套 MoviesPlayDescDto),仅为独立的 DTO 类。

业务错误

play 用例一致,后台返回 417001 / 417002 时会抛出附带 code / dataMoviesAdPlayDto)的错误。

adUnlock · 广告场景解锁单集

ts
const { data } = await MoviesDomain.cases.adUnlock.run({
  theatre_id: 1001,
  collect_id: 2002,
  spread_id: 0,
  scene: 0,
  ad_confirmed: 1,
})

console.log(data) // MoviesUnlockDto

请求参数 MoviesAdUnlockBodyParams

字段类型必填说明
theatre_idstring | number短剧 ID
collect_idstring | number剧集 ID
spread_idstring | number推广 ID
numbernumber剧集序号
scenestring | number场景值
is_autostring | number是否自动解锁
ad_confirmedstring | number是否已确认观看激励广告

响应

复用 MoviesUnlockDto 类型,字段结构完全一致。

adCatalogues · 广告场景剧集目录(分页)

这是分页列表用例,返回结构为 { list: MoviesAdCataloguesDto[] },建议参考快速开始 · 分页列表请求的用法只 new 一次并复用实例。

ts
const adCataloguesCase = MoviesDomain.cases.adCatalogues

await adCataloguesCase.refresh({
  theatre_id: 1001,
  page: 1,
  limit: 20,
  scene: 1,
})

console.log(adCataloguesCase.list) // MoviesAdCataloguesDto[]

请求参数 MoviesAdCataloguesQueryParams

字段与 MoviesCataloguesQueryParams 基本一致,区别是 scene 为必填。

字段类型必填说明
theatre_idnumber短剧 ID
pagenumber页码
limitnumber每页条数
scene0 | 1场景值(0:应用进入,1:外推进入)

响应 { list: MoviesAdCataloguesDto[] }

字段结构与 MoviesCataloguesDto 完全一致(id / amount / number / poster / src / title / charge / quiet / unlock / total_duration / isLike / duration / progress / likes / favors),仅为独立的 DTO 类。

like · 点赞

ts
await MoviesDomain.cases.like.run({
  id: 2001,
})

请求参数 MoviesLikeBodyParams

字段类型必填说明
idstring | number剧集 ID

响应

无格式化 DTO,请求成功即完成点赞,直接透传后台原始返回(void)。

forwarded · 转发上报

ts
await MoviesDomain.cases.forwarded.run({
  collect_id: 2001,
})

请求参数 MoviesForwardedBodyParams

字段类型必填说明
collect_idstring | number剧集 ID

响应

无格式化 DTO,请求成功即完成转发上报,直接透传后台原始返回(void)。

watching · 获取观看中的短剧

ts
const { data } = await MoviesDomain.cases.watching.run({
  theatre_id: 1001,
})

console.log(data) // MoviesWatchingDto

请求参数 MoviesWatchingQueryParams

字段类型必填说明
theatre_idstring | number指定短剧 ID,若不指定则返回最近观看的短剧剧集

响应 MoviesWatchingDto(不可变,@Freeze

字段类型后台原始字段说明
idstringid观看中剧集 ID,必填

history · 观看历史(分页)

这是分页列表用例,返回结构为 { list: MoviesHistoryDto[] },建议参考快速开始 · 分页列表请求的用法只 new 一次并复用实例。

ts
const historyCase = MoviesDomain.cases.history

await historyCase.refresh({
  page: 1,
  limit: 20,
})

console.log(historyCase.list) // MoviesHistoryDto[]

请求参数 MoviesHistoryQueryParams

字段类型必填说明
pagenumber页码
limitnumber每页条数

响应 { list: MoviesHistoryDto[] }

MoviesHistoryDto

字段类型后台原始字段说明
idstringid观看历史记录 ID,必填
videoIdnumbertheatre_id短剧 ID,默认 0
vodCateIdnumbervod_cate_id视频分类 ID,默认 0
titlestringtheatre_title短剧名称,默认 '未知剧名'
copyrightstringcopyright版权方,默认 ''
coverstringtheatre_cover封面图,默认 ''
thumbnailstringthumbnail_cover_url缩略图,默认 ''
deputyCoverstringdeputy_cover_url横板封面,默认 ''
latestnumberlook_collect_number最近观看到的剧集序号,默认 1
isWatchbooleanis_watch是否已收藏,默认 false
collectIdnumberlook_collect_id最近观看的剧集 ID
isAutonumberis_auto是否自动播放
createAtstringcreated_at创建时间
updateAtstringupdated_at更新时间

clearHistory · 清空观看历史

ts
await MoviesDomain.cases.clearHistory.run(null)

请求参数 MoviesClearHistoryBodyParams

类型为 null,调用时直接传 null 即可,无需构造参数对象。

响应

无格式化 DTO,请求成功即清空全部观看历史,直接透传后台原始返回(void)。

favored · 收藏列表(分页)

这是分页列表用例,返回结构为 { list: MoviesFavoredDto[] },建议参考快速开始 · 分页列表请求的用法只 new 一次并复用实例。

ts
const favoredCase = MoviesDomain.cases.favored

await favoredCase.refresh({
  id: '1001',
  page: 1,
  limit: 20,
})

console.log(favoredCase.list) // MoviesFavoredDto[]

请求参数 MoviesFavoredQueryParams

继承自 PagedQueryParams(分页参数基类,提供 page/limit 等标准分页字段)。

字段类型必填说明
idstring查询标识(收藏列表定位参数)

响应 { list: MoviesFavoredDto[] }

MoviesFavoredDto(不可变,@Freeze

字段类型后台原始字段说明
idstringid收藏记录 ID,必填
videoIdnumberid短剧 ID,默认 0
channelnumberchannel频道,默认 0
class_idnumberclass_id分类 ID,默认 0
titlestringtitle短剧名称,默认 '未知剧名'
descriptionstringdescription简介,默认 '无介绍'
keywordsstringkeywords关键词
coverstringcover_url封面图,默认 ''
thumbnailstringthumbnail_cover_url缩略图,默认 ''
deputyCoverstringdeputy_cover_url横板封面,默认 ''
heatnumberheat热度,默认 80
theatre_source_typenumbertheatre_source_type来源类型,默认 0
total_collectnumbertotal_collect总剧集数
total_durationnumbertotal_duration总时长
spread_idnumberspread_id推广 ID,默认 0
lead_namestringlead_name推荐名,默认 '暂无'
last_collect_numbernumberlast_collect_number最新更新的剧集序号
nearMoviesFavoredNearDtonear_collect最新一集附加信息,默认新建一个 MoviesFavoredNearDto 实例
latestnumber只读 getter,等价于 near.numbers
forwardnumber只读 getter,等价于 near.forwardNumbers
likenumber只读 getter,等价于 near.likeNumbers
updateAtDate | number只读 getter,near.updateAt 存在时转为 Date,否则为 0

MoviesFavoredNearDto

字段类型后台原始字段说明
likeNumbersnumberlike_number点赞数,默认 0
forwardNumbersnumberforward_number转发数,默认 0
numbersnumbernumber最新一集序号,默认 1
updateAtstringwatch_time观看/更新时间,默认 ''

favor · 收藏短剧

ts
await MoviesDomain.cases.favor.run({
  theatre_id: 1001,
})

请求参数 MoviesFavorBodyParams

字段类型必填说明
theatre_idnumber | string短剧 ID

响应

无格式化 DTO,请求成功即完成收藏,直接透传后台原始返回(void)。

unfavor · 取消收藏

ts
await MoviesDomain.cases.unfavor.run({
  theatre_id: 1001,
})

请求参数 MoviesUnfavorBodyParams

字段类型必填说明
theatre_idstring | number短剧 ID

响应

无格式化 DTO,请求成功即取消收藏,直接透传后台原始返回(void)。

deleteHistory · 删除单条观看历史

ts
await MoviesDomain.cases.deleteHistory.run({
  look_id: 3001,
})

请求参数 MoviesDeleteHistoryBodyParams

字段类型必填说明
look_idnumber要删除的观看记录 ID

响应

无格式化 DTO,请求成功即删除对应记录,直接透传后台原始返回(void)。

classifyHead · 获取分类导航

ts
const { data } = await MoviesDomain.cases.classifyHead.run({
  page: 1,
  limit: 20,
})

console.log(data) // MoviesClassifyHeadDto[]

请求参数 MoviesClassifyHeadQueryParams

字段类型必填说明
class_idnumber指定分类 ID,不填默认返回所有分类
pagenumber页码
limitnumber每页条数

响应 MoviesClassifyHeadDto[]

MoviesClassifyHeadDto

字段类型后台原始字段说明
idnumberid分类 ID,必填
namestringclass_name分类名称,默认 ''
sortnumbersort排序权重,默认 0

classifyList · 分类下短剧列表(分页)

这是分页列表用例,返回结构为 { list: MoviesClassifyListDto[] },建议参考快速开始 · 分页列表请求的用法只 new 一次并复用实例。

ts
const classifyListCase = MoviesDomain.cases.classifyList

await classifyListCase.refresh({
  class_id: 1,
  page: 1,
  limit: 20,
})

console.log(classifyListCase.list) // MoviesClassifyListDto[]

请求参数 MoviesClassifyListQueryParams

字段类型必填说明
class_idnumber指定分类 ID,不填默认返回所有分类
pagenumber页码
limitnumber每页条数

响应 { list: MoviesClassifyListDto[] }

MoviesClassifyListDto(不可变,@Freeze

字段类型后台原始字段说明
idnumberid短剧 ID,必填
coverstringcover_url封面图,默认 ''
thumbstringdeputy_cover_url横板封面,默认 ''
titlestringtitle短剧名称,默认 '无剧名'
adContentDelivernumberad_content_deliver广告内容投放策略,默认 1
descstringdescription简介,默认 ''
videoSourceTypeVideoSourceTypetheatre_source_type短剧来源类型,默认 VideoSourceType.SWTJ
adEffectLimitnumberad_effect_limit广告效果限制,默认 1
adUnlockStepnumberad_unlock_step广告解锁步长,默认 1
browseNumbernumberbrowse_num浏览数,默认 0
channelVideoChannelchannel短剧频道,默认 VideoChannel.ALL
classIdnumberclass_id分类 ID,默认 0
classNamestringclass_name分类名称,默认 ''
heatnumberheat热度,默认 80
keywordsstringkeywords关键词,默认 ''
leadNamestringlead_name推荐名,默认 ''
beianstringdrama_record_number备案号,默认 ''
licensestringonline_drama_license发行许可证号,默认 ''
quiet_collectnumberquiet_collect静默剧集数,默认 1
pricenumberset_price单集售价,默认 120
priceTypenumberset_price_type售价类型,默认 2
chargeTypenumbercharge_type付费类型,默认 3
isRisknumberis_risk是否风险剧,默认 0
isSensitivenumberis_sensitive是否敏感剧,默认 0
freeNumbernumberfree_collect免费剧集数,默认 20
lastCollectNumbernumberlast_collect_number最新更新的剧集序号,默认 0
createdAtstringcreated_at创建时间,默认 '2099-12-31'
updatedAtstringupdated_at更新时间,默认 '2099-12-31'
totalCollectnumbertotal_collect总剧集数,默认 0
totalDurationnumbertotal_duration总时长,默认 0
previewUrlstringtrailer_url预告片地址,默认 ''
statusVideoUpdateStatusupdate_status更新状态,默认 VideoUpdateStatus.COMPLETED
nearMoviesCollectNearDtonear_collect最新一集信息,默认新建一个 MoviesCollectNearDto 实例
vodCateIdnumber | stringvod_cate_id视频分类 ID,默认 0
copyrightstringcopyright版权方
fakeBrowseNumberstring只读 getter,随机生成的格式化浏览数(仅前端展示用途,非真实后台数据)

MoviesCollectNearDto(不可变,@Freeze

字段类型后台原始字段说明
collect_idnumberid最新一集的剧集 ID,默认 0
titlestringtitle剧集标题,默认 '第1集'
numbernumbernumber剧集序号,默认 1
idnumbertheatre_id短剧 ID,默认 0
coverstringcover_url封面图,默认 ''
forwardnumberforward_number转发数,默认 0
isChargenumberis_charge是否付费,默认 0

rankList · 排行榜(分页)

这是分页列表用例,返回结构为 { list: MoviesRankListDto[] },建议参考快速开始 · 分页列表请求的用法只 new 一次并复用实例。

ts
const rankListCase = MoviesDomain.cases.rankList

await rankListCase.refresh({
  page: 1,
  limit: 20,
  list_name: 'hot',
})

console.log(rankListCase.list) // MoviesRankListDto[]

请求参数 MoviesRankListQueryParams

字段类型必填说明
pagenumber页码
limitnumber每页条数
list_namestring指定榜单名,不填默认返回所有榜单

响应 { list: MoviesRankListDto[] }

MoviesRankListDto

字段类型后台原始字段说明
infoMoviesRankListInfoDto榜单基础信息,默认新建一个 MoviesRankListInfoDto 实例
listMoviesRankListDataDto[]榜单内短剧列表,默认 []

MoviesRankListInfoDto

字段类型说明
idnumber | string榜单 ID,必填
channelnumber榜单所属频道,默认 0
codestring榜单代码,默认 ''
describestring榜单说明,默认 ''
titlestring榜单标题,默认 ''

MoviesRankListDataDto

字段类型后台原始字段说明
videoIdnumber | stringid短剧 ID,必填
titlestringtitle短剧名称,默认 ''
descriptionstringdescription简介,默认 ''
coverstringcover_url封面图,默认 ''
deputyCoverstringdeputy_cover_url横板封面,默认 ''
thumbnailstringthumbnail_cover_url缩略图,默认 ''
collectsnumbertotal_collect总剧集数,默认 0
trailSrcstringtrailer_url预告片地址,默认 ''
statusnumberupdate_status更新状态,默认 2
catalogNamestringclass_name分类名称,默认 '精选'
heatnumberheat热度,默认 80
labelsstringkeywords标签关键词,默认 ''
theatre_source_typenumbertheatre_source_type来源类型,默认 4
vodCateIdnumbervod_cate_id视频分类 ID,默认 0
statusTxtstring只读 getter,status === 2 时为 '完结',否则为 '连载中'
browsestring只读 getter,随机生成的格式化浏览数(仅前端展示用途,非真实后台数据)
descstring只读 getter,description 为空时返回占位文案 '这个小主偷懒啦,还没有编辑剧情简介哦~~'

spreadBags · 推广挂包短剧列表(分页)

这是分页列表用例,返回结构为 { list: MoviesSpreadBagsDto[] },建议参考快速开始 · 分页列表请求的用法只 new 一次并复用实例。

TIP

该用例底层请求携带 ignore: true,请求失败时不会触发框架统一的 Toast 提示,需要业务代码自行处理错误展示。

ts
const spreadBagsCase = MoviesDomain.cases.spreadBags

await spreadBagsCase.refresh({
  spread_id: 3001,
})

console.log(spreadBagsCase.list) // MoviesSpreadBagsDto[]

请求参数 MoviesSpreadBagsQueryParams

字段类型必填说明
spread_idnumber | string推广 ID

响应 { list: MoviesSpreadBagsDto[] }

MoviesSpreadBagsDto(不可变,@Freeze

字段类型后台原始字段说明
idnumber | stringid记录 ID,必填
videoIdnumberid短剧 ID,必填
titlestringtitle短剧名称,默认 ''
copyrightstringcopyright版权方,默认 ''
vodCateIdnumbervod_cate_id视频分类 ID,默认 0
descstringdescription简介,默认 '暂无简介'
coverstringcover_url封面图,默认 ''
thumbstringthumbnail_cover_url缩略图,默认 ''
deputystringdeputy_cover_url横板封面,默认 ''
statusVideoUpdateStatusupdate_status更新状态,默认 VideoUpdateStatus.COMPLETED
heatnumberheat热度,默认 80
freeCollectnumberfree_collect免费剧集数,默认 20
totalCollectnumbertotal_collect总剧集数,默认 0
totalDurationnumbertotal_duration总时长,默认 0
keywordsstringkeywords关键词,默认 ''
leadNamestringlead_name推荐名,默认 ''

playCopy · 播放剧集(静默副本)

ts
const { data } = await MoviesDomain.cases.playCopy.run({
  theatre_id: 1001,
  spread_id: 0,
  collect_id: 2001,
  scene: 0,
})

console.log(data) // MoviesPlayDto

请求参数

复用 MoviesPlayBodyParams 类型,字段完全一致。

响应

复用 MoviesPlayDto 类型,字段完全一致(与 play 请求路径、参数、响应结构完全相同)。

unlockCopy · 解锁单集(静默副本)

ts
const { data } = await MoviesDomain.cases.unlockCopy.run({
  theatre_id: 1001,
  collect_id: 2002,
  scene: 0,
})

console.log(data) // MoviesPlayDto

TIP

该用例底层请求携带 ignore: true,请求失败时不会触发框架统一的 Toast 提示,需要业务代码自行处理错误展示。

请求参数

复用 MoviesUnlockBodyParams 类型,字段完全一致。

响应 MoviesPlayDto | HttpBusinessError

注意响应 DTO 与 unlock 不同

unlockCopy 声明的响应类型是 MoviesPlayDto(而不是 unlock 用例使用的 MoviesUnlockDto),字段结构参考 play 一节;业务错误场景同样参考快速开始 · 错误处理

unlockBatchCopy · 批量解锁(静默副本)

ts
const { data } = await MoviesDomain.cases.unlockBatchCopy.run({
  theatre_id: 1001,
  collect_ids: '1,2,3,4',
  scene: 0,
})

console.log(data) // MoviesUnlockBatchDto

TIP

该用例底层请求携带 ignore: true,请求失败时不会触发框架统一的 Toast 提示,需要业务代码自行处理错误展示。

请求参数

复用 MoviesUnlockBatchBodyParams 类型,字段完全一致。

响应 MoviesUnlockBatchDto | HttpBusinessError

复用 MoviesUnlockBatchDto 类型,字段完全一致;业务错误场景参考快速开始 · 错误处理

枚举

VideoChannel 短剧频道

枚举成员valuecode说明
ALL0all通频
MALE1male男频
FEMALE2female女频

VideoSourceType 短剧来源类型

枚举成员valuecode说明
WTDJ1wtdj外推短剧
WTGB2wtgb外推挂包
NT3nt内推
SWTJ4swtj首位推荐
BDTJ5bdtj榜单推荐
FL6fl分类
SEARCH7search自搜索
XTTS8xtts系统推送
XSMF9xsmf限时免费
SHARE10share分享
OTHER99other其他

VideoUpdateStatus 短剧更新状态

枚举成员valuecode说明
ALL0all全部
SERIALIZED1serialized更新中
COMPLETED2completed完结

内部工具包 · 未开源授权,仅限公司内部授权团队使用