// Author: fruit.com.cn import request from '@/axios' import type { DramaCategory, DramaItem, DramaReviewAction, DramaSaveData, PageResult } from './types' export interface DramaPageParams { pageIndex?: number pageSize?: number keyword?: string status?: string categoryId?: number isHot?: boolean dramaTypes?: Array<'ANIME' | 'LIVE'> } export const pageDramasApi = (params: DramaPageParams) => { return request.get>({ url: '/admin/dramas/page', params }) } export const getDramaApi = (id: number) => { return request.get({ url: `/admin/dramas/${id}` }) } export const createDramaApi = (data: DramaSaveData) => { return request.post({ url: '/admin/dramas', data }) } export const updateDramaApi = (id: number, data: DramaSaveData) => { return request.put({ url: `/admin/dramas/${id}`, data }) } export const deleteDramaApi = (id: number) => { return request.delete({ url: `/admin/dramas/${id}` }) } /** 审核与发布:submit / approve / reject / publish / offline */ export const changeDramaStatusApi = (id: number, action: DramaReviewAction, reason?: string) => { return request.post({ url: `/admin/dramas/${id}/${action}`, data: { reason } }) } /** 下拉选项(短剧表单用),只返回 id/name */ export const listDramaCategoryOptionsApi = () => { return request.get({ url: '/admin/dicts/drama-category' }) } export interface DramaCategorySaveData { name: string sort?: number status?: number } /** 类型管理列表,带短剧数量 */ export const listDramaCategoriesApi = () => { return request.get({ url: '/admin/drama-categories' }) } export const createDramaCategoryApi = (data: DramaCategorySaveData) => { return request.post({ url: '/admin/drama-categories', data }) } export const updateDramaCategoryApi = (id: number, data: DramaCategorySaveData) => { return request.put({ url: `/admin/drama-categories/${id}`, data }) } export const deleteDramaCategoryApi = (id: number) => { return request.delete({ url: `/admin/drama-categories/${id}` }) }