// vue/src/api/style.js import request from '@/utils/request'; /** * 保存图谱样式配置 * @param {Object} data { canvas_name, current_label, styles, group_name } * 说明:group_name 为字符串,后端会自动判断是使用已有组还是新建组 */ export function saveGraphStyle(data) { return request({ url: '/api/graph/style/save', method: 'post', data: data, headers: { 'Content-Type': 'application/json' } }); } /** * 获取【分组嵌套】格式的样式配置列表 * 用于右侧折叠面板渲染:Group -> Configs * 后端已按 is_default 排序,并将 is_active 的项标记为 expanded */ export function getGroupedGraphStyleList() { return request({ url: '/api/graph/style/list/grouped', method: 'get' }); } /** * 应用全案 * @param {Number} group_id 分组ID * 说明:将该方案组设为 is_active=true,其余设为 false */ export function applyGraphStyleGroup(group_id) { return request({ url: '/api/graph/style/group/apply', method: 'post', data: { group_id }, headers: { 'Content-Type': 'application/json' } }); } /** * 设为默认方案 * @param {Number} group_id 分组ID * 说明:将该方案组设为系统初始加载时的默认配置 */ export function setDefaultGraphStyleGroup(group_id) { return request({ url: '/api/graph/style/group/set_default', method: 'post', data: { group_id }, headers: { 'Content-Type': 'application/json' } }); } /** * 获取所有已存在的方案组名称列表 * 用于保存配置弹窗中的下拉选择框 */ export function getGraphStyleGroups() { return request({ url: '/api/graph/style/groups', method: 'get' }); } export function getGraphStyleActive() { return request({ url: '/api/graph/style/active', method: 'get' }); } /** * 获取所有图谱样式配置列表 * 保留此接口用于兼容旧版逻辑或后台管理 */ export function getGraphStyleList() { return request({ url: '/api/graph/style/list', method: 'get' }); } /** * 删除整个方案组及其下属所有配置 * @param {Number} group_id 分组ID */ export function deleteGraphStyleGroup(group_id) { return request({ url: '/api/graph/style/group/delete', method: 'post', data: { group_id }, headers: { 'Content-Type': 'application/json' } }); } /** * 删除指定的单个画布样式配置 * @param {Number} id 配置ID */ export function deleteGraphStyle(id) { return request({ url: '/api/graph/style/delete', method: 'post', data: { id }, headers: { 'Content-Type': 'application/json' } }); } /** * 批量删除多个画布样式配置 * @param {Object} payload { ids: [1, 2, 3] } */ export function batchDeleteGraphStyle(payload) { return request({ url: '/api/graph/style/batch_delete', method: 'post', data: payload, headers: { 'Content-Type': 'application/json' } }); }