45 lines
1.0 KiB
TypeScript
45 lines
1.0 KiB
TypeScript
import request from '@/utils/request.ts'
|
|
import type { Favorite, FavoriteCreateParams, VideoInfo, PageResult, PageParams } from '@/types'
|
|
|
|
export type { Favorite }
|
|
|
|
/**
|
|
* 收藏夹相关 API
|
|
*/
|
|
export const favoriteApi = {
|
|
/**
|
|
* 获取用户收藏夹列表
|
|
*/
|
|
getFavoriteList(): Promise<Favorite[]> {
|
|
return request.get('/content/favorite/list')
|
|
},
|
|
|
|
/**
|
|
* 创建收藏夹
|
|
*/
|
|
createFavorite(params: FavoriteCreateParams): Promise<Favorite> {
|
|
return request.post('/content/favorite', params)
|
|
},
|
|
|
|
/**
|
|
* 更新收藏夹
|
|
*/
|
|
updateFavorite(params: Partial<Favorite> & { id: number }): Promise<void> {
|
|
return request.put('/content/favorite', params)
|
|
},
|
|
|
|
/**
|
|
* 删除收藏夹
|
|
*/
|
|
deleteFavorite(id: number): Promise<void> {
|
|
return request.delete(`/content/favorite/${id}`)
|
|
},
|
|
|
|
/**
|
|
* 获取收藏夹中的视频
|
|
*/
|
|
getFavoriteVideos(favoriteId: number, params?: PageParams): Promise<PageResult<VideoInfo>> {
|
|
return request.get(`/content/favorite/${favoriteId}/videos`, params)
|
|
}
|
|
}
|