forked from 77media/video-flow
115 lines
3.0 KiB
TypeScript
115 lines
3.0 KiB
TypeScript
import { post } from './request';
|
|
import { ApiResponse } from './common';
|
|
|
|
// 创建剧本项目的数据类型
|
|
export interface CreateScriptProjectRequest {
|
|
title?: string;
|
|
script_author?: string;
|
|
characters?: Array<{
|
|
name?: string;
|
|
desc?: string;
|
|
}>;
|
|
summary?: string;
|
|
project_type?: number;
|
|
status?: number;
|
|
cate_tags?: string[];
|
|
creator_name?: string;
|
|
mode?: number;
|
|
resolution?: number;
|
|
}
|
|
|
|
// 剧本项目数据类型
|
|
export interface ScriptProject {
|
|
id: number;
|
|
title: string;
|
|
script_author: string;
|
|
characters: Array<{
|
|
name: string;
|
|
desc: string;
|
|
}>;
|
|
summary: string;
|
|
project_type: number;
|
|
status: number;
|
|
cate_tags: string[];
|
|
creator_name: string;
|
|
updated_at?: string;
|
|
created_at?: string;
|
|
mode: number;
|
|
resolution: number;
|
|
}
|
|
|
|
// 获取剧本项目列表请求数据类型
|
|
export interface GetScriptProjectListRequest {
|
|
page: number; // 页码 从1开始
|
|
per_page: number; // 每页条数 默认10条
|
|
sort_by: string; // 排序字段 默认update_time
|
|
sort_order: string; // 排序顺序 默认desc
|
|
project_type: number; // 项目类型 默认1
|
|
}
|
|
// 获取剧本项目列表响应数据类型
|
|
export interface ScriptProjectList {
|
|
total: number;
|
|
items: ScriptProject[];
|
|
}
|
|
|
|
// 修改剧本项目请求数据类型
|
|
export interface UpdateScriptProjectRequest {
|
|
id: number;
|
|
title?: string;
|
|
script_author?: string;
|
|
characters?: Array<{
|
|
name?: string;
|
|
desc?: string;
|
|
}>;
|
|
summary?: string;
|
|
status?: number;
|
|
}
|
|
|
|
// 删除剧本项目请求数据类型
|
|
export interface DeleteScriptProjectRequest {
|
|
id: number;
|
|
}
|
|
|
|
// 创建剧本项目
|
|
export const createScriptProject = async (data: CreateScriptProjectRequest): Promise<ApiResponse<ScriptProject>> => {
|
|
// return post<ApiResponse<ScriptProject>>('/script_project/create', data);
|
|
return new Promise((resolve) => {
|
|
setTimeout(() => {
|
|
resolve({
|
|
code: 0,
|
|
message: 'success',
|
|
data: {
|
|
id: 1,
|
|
title: '2025·07·03·001',
|
|
script_author: 'king',
|
|
characters: [],
|
|
summary: '',
|
|
project_type: 1,
|
|
status: 1,
|
|
cate_tags: [],
|
|
creator_name: 'king',
|
|
mode: 1,
|
|
resolution: 1,
|
|
created_at: '2025-07-03 10:00:00',
|
|
updated_at: '2025-07-03 10:00:00'
|
|
},
|
|
successful: true
|
|
});
|
|
}, 0);
|
|
});
|
|
};
|
|
|
|
// 获取剧本项目列表
|
|
export const getScriptProjectList = async (data: GetScriptProjectListRequest): Promise<ApiResponse<ScriptProjectList>> => {
|
|
return post<ApiResponse<ScriptProjectList>>('/script_project/page', data);
|
|
};
|
|
|
|
// 修改剧本项目
|
|
export const updateScriptProject = async (data: UpdateScriptProjectRequest): Promise<ApiResponse<ScriptProject>> => {
|
|
return post<ApiResponse<ScriptProject>>('/script_project/update', data);
|
|
};
|
|
|
|
// 删除剧本项目
|
|
export const deleteScriptProject = async (data: DeleteScriptProjectRequest): Promise<ApiResponse<ScriptProject>> => {
|
|
return post<ApiResponse<ScriptProject>>('/script_project/delete', data);
|
|
}; |