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.

126 lines
2.8 KiB

// src/api/data.js
import request from '@/utils/request';
/**
* 知识图谱管理接口
*/
// --- 存量数据 ID 自动修复 ---
/**
* 触发后端检查并修复 nodeId 0 或缺失的节点
*/
export function fixNodeIds() {
return request({
url: '/api/kg/admin/fix-ids',
method: 'post'
})
}
// --- 0. 获取图谱全局统计数据 ---
export function getKgStats() {
return request({
url: '/api/kg/stats',
method: 'get'
})
}
// --- 1. 获取全量动态标签 (用于节点管理下拉框) ---
export function getLabels() {
return request({
url: '/api/kg/labels',
method: 'get'
})
}
// --- 新增:获取全量动态关系类型 (用于关系管理下拉框) ---
/**
* 从后端获取所有关系类型 type 及其对应的中文 label 映射
* 返回格式示例: [{type: 'adverseReactions', label: '不良反应'}, ...]
*/
export function getRelationshipTypes() {
return request({
url: '/api/kg/relationship-types',
method: 'get'
})
}
// --- 2. 输入联想建议 ---
export function getNodeSuggestions(keyword) {
return request({
url: '/api/kg/node/suggest',
method: 'get',
params: { keyword }
})
}
// --- 3. 获取分页节点列表 ---
export function getNodesList(params) {
return request({
url: '/api/kg/nodes',
method: 'get',
params // 包含 page, pageSize, name, label
})
}
// --- 4. 获取分页关系列表 ---
export function getRelationshipsList(params) {
return request({
url: '/api/kg/relationships',
method: 'get',
params // 包含 page, pageSize, source, target, type
})
}
// --- 5. 新增节点 ---
export function addNode(data) {
return request({
url: '/api/kg/node/add',
method: 'post',
data // 格式: { label, name }
})
}
// --- 6. 修改节点 ---
export function updateNode(data) {
return request({
url: '/api/kg/node/update',
method: 'post',
data
})
}
// --- 7. 新增关系 ---
export function addRelationship(data) {
return request({
url: '/api/kg/rel/add',
method: 'post',
data // 格式: { source, target, type, label }
})
}
// --- 8. 修改关系 ---
export function updateRelationship(data) {
return request({
url: '/api/kg/rel/update',
method: 'post',
data // 格式: { id, source, target, type, label }
})
}
// --- 9. 删除节点 ---
export function deleteNode(id) {
return request({
url: '/api/kg/node/delete',
method: 'post',
data: { id }
})
}
// --- 10. 删除关系 ---
export function deleteRelationship(id) {
return request({
url: '/api/kg/rel/delete',
method: 'post',
data: { id }
})
}