import request from "@/utils/request"; import type { ApiResult, PageResult } from "@/api"; import type { GxRole, GxRoleParam } from "./model"; import { MODULES_API_URL } from "@/config/setting"; /** * 分页查询 */ export async function pageGxRole(params: GxRoleParam) { const res = await request.get>>( MODULES_API_URL + "/gx/gx-role/page", { params } ); if (res.data.code === 0) { return res.data.data; } return Promise.reject(new Error(res.data.message)); } /** * 查询列表 */ export async function listGxRole(params?: GxRoleParam) { const res = await request.get>( MODULES_API_URL + "/gx/gx-role", { params } ); if (res.data.code === 0 && res.data.data) { return res.data.data; } return Promise.reject(new Error(res.data.message)); } /** * 添加 */ export async function addGxRole(data: GxRole) { const res = await request.post>( MODULES_API_URL + "/gx/gx-role", data ); if (res.data.code === 0) { return res.data.message; } return Promise.reject(new Error(res.data.message)); } /** * 修改 */ export async function updateGxRole(data: GxRole) { const res = await request.put>( MODULES_API_URL + "/gx/gx-role", data ); if (res.data.code === 0) { return res.data.message; } return Promise.reject(new Error(res.data.message)); } /** * 删除 */ export async function removeGxRole(id?: number) { const res = await request.delete>( MODULES_API_URL + "/gx/gx-role/" + id ); if (res.data.code === 0) { return res.data.message; } return Promise.reject(new Error(res.data.message)); } /** * 批量删除 */ export async function removeBatchGxRole(data: (number | undefined)[]) { const res = await request.delete>( MODULES_API_URL + "/gx/gx-role/batch", { data } ); if (res.data.code === 0) { return res.data.message; } return Promise.reject(new Error(res.data.message)); } /** * 根据id查询 */ export async function getGxRole(id: number) { const res = await request.get>( MODULES_API_URL + "/gx/gx-role/" + id ); if (res.data.code === 0 && res.data.data) { return res.data.data; } return Promise.reject(new Error(res.data.message)); } export interface VoiceMakeParam { voice: string; text: string; emo?: string; } export type VoiceMakeResult = | string | { url?: string; audioUrl?: string; src?: string; path?: string; }; /** * 角色音色试听 */ export async function makeVoice(params: VoiceMakeParam) { const { voice, text, emo } = params; const res = await request.post>( `${MODULES_API_URL}/voice/make`, { text, content: text, emo, voice } ); if (res.data.code === 0) { return res.data.data; } return Promise.reject(new Error(res.data.message)); }