refactor(project): Reorganize frontend and backend directories
This commit is contained in:
@@ -0,0 +1,142 @@
|
||||
import request from '@/utils/request.ts'
|
||||
import type {
|
||||
VideoInfo,
|
||||
VideoCreateParams,
|
||||
VideoUpdateParams,
|
||||
VideoQueryParams,
|
||||
VideoUploadParams,
|
||||
PlayRecord,
|
||||
PageResult
|
||||
} from '@/types'
|
||||
|
||||
/**
|
||||
* 视频相关 API
|
||||
*/
|
||||
export const videoApi = {
|
||||
// ==================== 视频上传 ====================
|
||||
|
||||
/**
|
||||
* 上传视频文件
|
||||
*/
|
||||
uploadVideo(params: VideoUploadParams): Promise<{ videoUrl: string; coverUrl: string }> {
|
||||
return request.upload('/content/video/upload', params.file, params.onProgress)
|
||||
},
|
||||
|
||||
/**
|
||||
* 创建视频记录
|
||||
*/
|
||||
createVideo(params: VideoCreateParams): Promise<VideoInfo> {
|
||||
return request.post('/content/video', params)
|
||||
},
|
||||
|
||||
// ==================== 视频查询 ====================
|
||||
|
||||
/**
|
||||
* 获取视频详情(公开接口)
|
||||
*/
|
||||
getVideoPublic(id: number): Promise<VideoInfo> {
|
||||
return request.get(`/content/video/public/${id}`)
|
||||
},
|
||||
|
||||
/**
|
||||
* 获取视频列表(公开接口)
|
||||
*/
|
||||
getVideoPublicList(params?: VideoQueryParams): Promise<PageResult<VideoInfo>> {
|
||||
return request.get('/content/video/public/list', params)
|
||||
},
|
||||
|
||||
/**
|
||||
* 获取视频详情(需登录)
|
||||
*/
|
||||
getVideo(id: number): Promise<VideoInfo> {
|
||||
return request.get(`/content/video/${id}`)
|
||||
},
|
||||
|
||||
/**
|
||||
* 获取视频列表(需登录)
|
||||
*/
|
||||
getVideoList(params?: VideoQueryParams): Promise<PageResult<VideoInfo>> {
|
||||
return request.get('/content/video/list', params)
|
||||
},
|
||||
|
||||
/**
|
||||
* 获取用户视频列表
|
||||
*/
|
||||
getUserVideos(userId: number, params?: VideoQueryParams): Promise<PageResult<VideoInfo>> {
|
||||
return request.get(`/content/video/user/${userId}`, params)
|
||||
},
|
||||
|
||||
// ==================== 视频管理 ====================
|
||||
|
||||
/**
|
||||
* 更新视频信息
|
||||
*/
|
||||
updateVideo(params: VideoUpdateParams): Promise<void> {
|
||||
return request.put('/content/video', params)
|
||||
},
|
||||
|
||||
/**
|
||||
* 删除视频
|
||||
*/
|
||||
deleteVideo(id: number): Promise<void> {
|
||||
return request.delete(`/content/video/${id}`)
|
||||
},
|
||||
|
||||
// ==================== 视频互动 ====================
|
||||
|
||||
/**
|
||||
* 点赞视频
|
||||
*/
|
||||
likeVideo(videoId: number): Promise<void> {
|
||||
return request.post(`/content/video/like/${videoId}`)
|
||||
},
|
||||
|
||||
/**
|
||||
* 取消点赞
|
||||
*/
|
||||
unlikeVideo(videoId: number): Promise<void> {
|
||||
return request.delete(`/content/video/like/${videoId}`)
|
||||
},
|
||||
|
||||
/**
|
||||
* 投币
|
||||
*/
|
||||
coinVideo(videoId: number): Promise<void> {
|
||||
return request.post(`/content/video/coin/${videoId}`)
|
||||
},
|
||||
|
||||
/**
|
||||
* 收藏视频
|
||||
*/
|
||||
favoriteVideo(videoId: number, favoriteId: number): Promise<void> {
|
||||
return request.post('/content/video/favorite', { videoId, favoriteId })
|
||||
},
|
||||
|
||||
/**
|
||||
* 取消收藏
|
||||
*/
|
||||
unfavoriteVideo(videoId: number): Promise<void> {
|
||||
return request.delete(`/content/video/favorite/${videoId}`)
|
||||
},
|
||||
|
||||
/**
|
||||
* 分享视频
|
||||
*/
|
||||
shareVideo(videoId: number): Promise<void> {
|
||||
return request.post(`/content/video/share/${videoId}`)
|
||||
},
|
||||
|
||||
/**
|
||||
* 记录播放
|
||||
*/
|
||||
recordPlay(params: PlayRecord): Promise<void> {
|
||||
return request.post('/content/video/play', params)
|
||||
},
|
||||
|
||||
/**
|
||||
* 增加评论数量(内部接口)
|
||||
*/
|
||||
incrementCommentCount(videoId: number, count: number): Promise<void> {
|
||||
return request.post(`/content/video/count/comment/${videoId}/${count}`)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user