import { API_CONFIG, graphqlRequest } from '@/config/api' // 使用统一的GraphQL请求函数 // GraphQL查询语句 const GET_RATING_SCHEMES_QUERY = ` query GetRatingSchemes($page: Int!, $size: Int!, $name: String) { ratingSchemes(page: $page, size: $size, name: $name) { content { id name description totalScore state stateName createTime updateTime } totalElements page size } } ` const GET_ALL_RATING_SCHEMES_QUERY = ` query GetAllRatingSchemes { allRatingSchemes { id name description totalScore state stateName } } ` const GET_RATING_SCHEME_QUERY = ` query GetRatingScheme($id: ID!) { ratingScheme(id: $id) { id name description totalScore state stateName createTime updateTime items { id name maxScore orderNo } } } ` const SAVE_RATING_SCHEME_MUTATION = ` mutation SaveRatingScheme($input: RatingSchemeInput!) { saveRatingScheme(input: $input) { id name description totalScore state stateName createTime updateTime } } ` const DELETE_RATING_SCHEME_MUTATION = ` mutation DeleteRatingScheme($id: ID!) { deleteRatingScheme(id: $id) } ` // API函数 export const getRatingSchemes = async (page = 0, size = 10, name = '') => { try { const data = await graphqlRequest(GET_RATING_SCHEMES_QUERY, { page, size, name }) return data.ratingSchemes } catch (error) { throw new Error(error.message || '获取评分方案列表失败') } } export const getAllRatingSchemes = async () => { try { const data = await graphqlRequest(GET_ALL_RATING_SCHEMES_QUERY) return data.allRatingSchemes || [] } catch (error) { throw new Error(error.message || '获取所有评分方案失败') } } export const getRatingScheme = async (id) => { try { const data = await graphqlRequest(GET_RATING_SCHEME_QUERY, { id }) return data.ratingScheme } catch (error) { throw new Error(error.message || '获取评分方案详情失败') } } export const saveRatingScheme = async (ratingSchemeData) => { try { const data = await graphqlRequest(SAVE_RATING_SCHEME_MUTATION, { input: ratingSchemeData }) return data.saveRatingScheme } catch (error) { throw new Error(error.message || '保存评分方案失败') } } export const deleteRatingScheme = async (id) => { try { const data = await graphqlRequest(DELETE_RATING_SCHEME_MUTATION, { id }) return data.deleteRatingScheme } catch (error) { throw new Error(error.message || '删除评分方案失败') } }