// Author: fruit.com.cn import request from '@/axios' import type { PageResult } from './types' export interface DramaClassificationItem { id: number name: string nameEn: string nameId: string locales?: Record sort: number status: number dramaCount: number updatedAt?: string } export interface DramaClassificationSaveData { name: string locales: Record sort?: number status?: number } export interface ClassificationDramaItem { id: number title: string cover: string status: string totalEpisodes: number sort: number updatedAt: string } export interface ClassificationDramaPageParams { keyword?: string pageIndex?: number pageSize?: number } export const listClassificationsApi = () => { return request.get({ url: '/admin/drama-classifications' }) } export const createClassificationApi = (data: DramaClassificationSaveData) => { return request.post({ url: '/admin/drama-classifications', data }) } export const updateClassificationApi = (id: number, data: DramaClassificationSaveData) => { return request.put({ url: `/admin/drama-classifications/${id}`, data }) } export const deleteClassificationApi = (id: number) => { return request.delete({ url: `/admin/drama-classifications/${id}` }) } /** 分类下已关联的短剧 */ export const listClassificationDramasApi = (id: number, params: ClassificationDramaPageParams) => { return request.get>({ url: `/admin/drama-classifications/${id}/dramas`, params }) } /** 尚未关联到该分类的短剧(添加弹窗用) */ export const listClassificationDramaCandidatesApi = ( id: number, params: ClassificationDramaPageParams ) => { return request.get>({ url: `/admin/drama-classifications/${id}/dramas/candidates`, params }) } /** 批量关联短剧,返回实际新增数量 */ export const bindClassificationDramasApi = (id: number, dramaIds: number[]) => { return request.post({ url: `/admin/drama-classifications/${id}/dramas`, data: { dramaIds } }) } /** 从分类移除短剧 */ export const unbindClassificationDramaApi = (id: number, dramaId: number) => { return request.delete({ url: `/admin/drama-classifications/${id}/dramas/${dramaId}` }) }