refactor(project): Reorganize frontend and backend directories

This commit is contained in:
2026-03-18 10:45:15 +08:00
parent cc9eaf4cdf
commit 92a139e470
513 changed files with 28251 additions and 287 deletions
@@ -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}`)
}
}