You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

129 lines
3.0 KiB

// 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 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'
}
});
}