文章、课程标签的默认封面

This commit is contained in:
2025-12-24 15:44:07 +08:00
parent 46464f36a0
commit 878133fb40
22 changed files with 1278 additions and 25 deletions

View File

@@ -147,6 +147,78 @@ export const resourceTagApi = {
async getResourcesByTag(tagID: string): Promise<ResultDomain<string>> {
const response = await api.get<string>(`/news/tags/tag/${tagID}/resources`);
return response.data;
},
// ==================== 标签默认封面操作 ====================
/**
* 获取标签的启用默认封面列表
* @param tagID 标签ID
* @returns Promise<ResultDomain<any>>
*/
async getDefaultCovers(tagID: string): Promise<ResultDomain<any>> {
const response = await api.get<any>(`/news/tags/tag/${tagID}/default-covers`);
return response.data;
},
/**
* 获取标签的所有默认封面列表(管理端使用)
* @param tagID 标签ID
* @returns Promise<ResultDomain<any>>
*/
async getAllDefaultCovers(tagID: string): Promise<ResultDomain<any>> {
const response = await api.get<any>(`/news/tags/tag/${tagID}/all-default-covers`);
return response.data;
},
/**
* 添加默认封面
* @param cover 默认封面对象
* @returns Promise<ResultDomain<string>>
*/
async addDefaultCover(cover: any): Promise<ResultDomain<string>> {
const response = await api.post<string>('/news/tags/default-cover', cover);
return response.data;
},
/**
* 更新默认封面
* @param cover 默认封面对象
* @returns Promise<ResultDomain<string>>
*/
async updateDefaultCover(cover: any): Promise<ResultDomain<string>> {
const response = await api.put<string>('/news/tags/default-cover', cover);
return response.data;
},
/**
* 删除默认封面
* @param id 主键ID
* @returns Promise<ResultDomain<string>>
*/
async deleteDefaultCover(id: string): Promise<ResultDomain<string>> {
const response = await api.delete<string>(`/news/tags/default-cover/${id}`);
return response.data;
},
/**
* 批量添加默认封面
* @param covers 默认封面列表
* @returns Promise<ResultDomain<string>>
*/
async batchAddDefaultCovers(covers: any[]): Promise<ResultDomain<string>> {
const response = await api.post<string>('/news/tags/default-covers/batch', covers);
return response.data;
},
/**
* 根据标签ID删除所有默认封面
* @param tagID 标签ID
* @returns Promise<ResultDomain<string>>
*/
async deleteDefaultCoversByTagId(tagID: string): Promise<ResultDomain<string>> {
const response = await api.delete<string>(`/news/tags/tag/${tagID}/default-covers`);
return response.data;
}
};