功能优化
This commit is contained in:
174
frontend/app/web-gold/src/api/material.js
Normal file
174
frontend/app/web-gold/src/api/material.js
Normal file
@@ -0,0 +1,174 @@
|
||||
/**
|
||||
* 素材库 API 服务
|
||||
* 对应后端 tik 模块的文件管理接口
|
||||
*/
|
||||
|
||||
import http from './http'
|
||||
import { API_BASE } from '@gold/config/api'
|
||||
|
||||
// 统一使用 /api/tik 前缀,与 tikhub 保持一致
|
||||
const BASE_URL = `${API_BASE.APP}/api/tik/file`
|
||||
|
||||
/**
|
||||
* 素材库 API 服务
|
||||
*/
|
||||
export const MaterialService = {
|
||||
/**
|
||||
* 分页查询文件列表
|
||||
* @param {Object} params - 查询参数
|
||||
* @param {number} params.pageNo - 页码
|
||||
* @param {number} params.pageSize - 每页数量
|
||||
* @param {string} params.fileCategory - 文件分类(video/generate/audio/mix/voice)
|
||||
* @param {string} params.fileName - 文件名(模糊查询)
|
||||
* @param {string} params.fileType - 文件类型
|
||||
* @param {number} params.groupId - 分组编号
|
||||
* @param {Array} params.createTime - 创建时间范围 [开始时间, 结束时间]
|
||||
* @returns {Promise}
|
||||
*/
|
||||
getFilePage(params) {
|
||||
return http.get(`${BASE_URL}/page`, { params })
|
||||
},
|
||||
|
||||
/**
|
||||
* 上传文件
|
||||
* @param {FormData} formData - 文件表单数据
|
||||
* @param {string} fileCategory - 文件分类(video/generate/audio/mix/voice)
|
||||
* @returns {Promise}
|
||||
*/
|
||||
uploadFile(file, fileCategory) {
|
||||
const formData = new FormData()
|
||||
formData.append('file', file)
|
||||
formData.append('fileCategory', fileCategory)
|
||||
return http.post(`${BASE_URL}/upload`, formData, {
|
||||
headers: {
|
||||
'Content-Type': 'multipart/form-data'
|
||||
}
|
||||
})
|
||||
},
|
||||
|
||||
/**
|
||||
* 删除文件(批量)
|
||||
* @param {Array<number>} fileIds - 文件编号列表
|
||||
* @returns {Promise}
|
||||
*/
|
||||
deleteFiles(fileIds) {
|
||||
// 根据后端接口,使用 delete-batch 接口
|
||||
return http.delete(`${BASE_URL}/delete-batch`, {
|
||||
params: { ids: fileIds.join(',') }
|
||||
})
|
||||
},
|
||||
|
||||
/**
|
||||
* 获取视频播放URL
|
||||
* @param {number} fileId - 文件编号
|
||||
* @returns {Promise}
|
||||
*/
|
||||
getVideoPlayUrl(fileId) {
|
||||
return http.get(`${BASE_URL}/video/play-url`, {
|
||||
params: { id: fileId }
|
||||
})
|
||||
},
|
||||
|
||||
/**
|
||||
* 获取音频播放URL
|
||||
* @param {number} fileId - 文件编号
|
||||
* @returns {Promise}
|
||||
*/
|
||||
getAudioPlayUrl(fileId) {
|
||||
return http.get(`${BASE_URL}/audio/play-url`, {
|
||||
params: { id: fileId }
|
||||
})
|
||||
},
|
||||
|
||||
/**
|
||||
* 获取预览URL
|
||||
* @param {number} fileId - 文件编号
|
||||
* @param {string} type - 预览类型(thumbnail/cover)
|
||||
* @returns {Promise}
|
||||
*/
|
||||
getPreviewUrl(fileId, type = 'thumbnail') {
|
||||
return http.get(`${BASE_URL}/preview-url`, {
|
||||
params: { id: fileId, type }
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 素材分组 API 服务
|
||||
*/
|
||||
const GROUP_BASE_URL = `${API_BASE.APP}/api/tik/file/group`
|
||||
|
||||
export const MaterialGroupService = {
|
||||
/**
|
||||
* 创建分组
|
||||
* @param {Object} data - 分组数据
|
||||
* @param {string} data.name - 分组名称
|
||||
* @param {string} data.description - 分组描述
|
||||
* @param {number} data.sort - 排序
|
||||
* @param {string} data.icon - 分组图标
|
||||
* @param {number} data.parentId - 父分组编号
|
||||
* @returns {Promise}
|
||||
*/
|
||||
createGroup(data) {
|
||||
return http.post(`${GROUP_BASE_URL}/create`, data)
|
||||
},
|
||||
|
||||
/**
|
||||
* 更新分组
|
||||
* @param {Object} data - 分组数据
|
||||
* @param {number} data.id - 分组编号
|
||||
* @param {string} data.name - 分组名称
|
||||
* @param {string} data.description - 分组描述
|
||||
* @param {number} data.sort - 排序
|
||||
* @param {string} data.icon - 分组图标
|
||||
* @param {number} data.parentId - 父分组编号
|
||||
* @returns {Promise}
|
||||
*/
|
||||
updateGroup(data) {
|
||||
return http.put(`${GROUP_BASE_URL}/update`, data)
|
||||
},
|
||||
|
||||
/**
|
||||
* 删除分组
|
||||
* @param {number} groupId - 分组编号
|
||||
* @returns {Promise}
|
||||
*/
|
||||
deleteGroup(groupId) {
|
||||
return http.delete(`${GROUP_BASE_URL}/delete`, {
|
||||
params: { id: groupId }
|
||||
})
|
||||
},
|
||||
|
||||
/**
|
||||
* 查询分组列表
|
||||
* @returns {Promise}
|
||||
*/
|
||||
getGroupList() {
|
||||
return http.get(`${GROUP_BASE_URL}/list`)
|
||||
},
|
||||
|
||||
/**
|
||||
* 将文件添加到分组
|
||||
* @param {Object} data - 请求数据
|
||||
* @param {Array<number>} data.fileIds - 文件编号列表
|
||||
* @param {Array<number>} data.groupIds - 分组编号列表
|
||||
* @returns {Promise}
|
||||
*/
|
||||
addFilesToGroups(data) {
|
||||
return http.post(`${GROUP_BASE_URL}/add-files`, data)
|
||||
},
|
||||
|
||||
/**
|
||||
* 从分组移除文件
|
||||
* @param {Object} data - 请求数据
|
||||
* @param {Array<number>} data.fileIds - 文件编号列表
|
||||
* @param {Array<number>} data.groupIds - 分组编号列表
|
||||
* @returns {Promise}
|
||||
*/
|
||||
removeFilesFromGroups(data) {
|
||||
return http.post(`${GROUP_BASE_URL}/remove-files`, data)
|
||||
}
|
||||
}
|
||||
|
||||
export default MaterialService
|
||||
|
||||
49
frontend/app/web-gold/src/api/test.js
Normal file
49
frontend/app/web-gold/src/api/test.js
Normal file
@@ -0,0 +1,49 @@
|
||||
/**
|
||||
* 测试 API 服务
|
||||
* 用于测试升级会员和创建OSS目录
|
||||
*/
|
||||
|
||||
import http from './http'
|
||||
import { API_BASE } from '@gold/config/api'
|
||||
|
||||
const BASE_URL = `${API_BASE.APP}/api/tik/test`
|
||||
|
||||
/**
|
||||
* 测试 API 服务
|
||||
*/
|
||||
export const TestService = {
|
||||
/**
|
||||
* 升级会员
|
||||
* @param {Object} params - 参数
|
||||
* @param {number} params.vipLevel - VIP等级
|
||||
* @param {number} params.totalStorage - 总存储空间(字节)
|
||||
* @param {number} params.totalQuota - 总配额(积分/额度)
|
||||
* @returns {Promise}
|
||||
*/
|
||||
upgradeVip(params = {}) {
|
||||
return http.post(`${BASE_URL}/upgrade-vip`, null, { params })
|
||||
},
|
||||
|
||||
/**
|
||||
* 初始化OSS目录
|
||||
* @returns {Promise}
|
||||
*/
|
||||
initOss() {
|
||||
return http.post(`${BASE_URL}/init-oss`)
|
||||
},
|
||||
|
||||
/**
|
||||
* 一键测试(升级会员 + 初始化OSS)
|
||||
* @param {Object} params - 参数
|
||||
* @param {number} params.vipLevel - VIP等级
|
||||
* @param {number} params.totalStorage - 总存储空间(字节)
|
||||
* @param {number} params.totalQuota - 总配额(积分/额度)
|
||||
* @returns {Promise}
|
||||
*/
|
||||
testAll(params = {}) {
|
||||
return http.post(`${BASE_URL}/test-all`, null, { params })
|
||||
}
|
||||
}
|
||||
|
||||
export default TestService
|
||||
|
||||
Reference in New Issue
Block a user