feat(web): add MCP market database tracking and refresh status messages

- Add i18n translations for refresh success and failure messages in English and Chinese
- Track MCP tools already stored in database with inDatabase flag in Market component
- Display "已入库" (In Database) tag alongside activation status for MCPs
- Import getTools API to fetch full tool list for database status comparison
- Add market metadata fields (source_channel, market_id, market_config_id, mcp_service_id) to tool items when adding from market
- Preserve market source information through McpServiceModal when saving tools
- Update ToolItem type to include market tracking fields in config_data
- Improve MCP card layout to properly display multiple status tags
This commit is contained in:
yujiangping
2026-03-09 15:36:49 +08:00
parent 247db844a4
commit 4c2b31f31f
6 changed files with 52 additions and 9 deletions

View File

@@ -87,6 +87,10 @@ const McpServiceModal = forwardRef<McpServiceModalRef, McpServiceModalProps>(({
name, description, icon,
...(config_data ? { config: { ...config_data } } : {})
})
// 如果是从 Market 组件传来的数据(包含 market_id保存完整的 data 用于后续提交
if ((data as any).market_id) {
setEditVo(data)
}
} else {
form.resetFields();
}
@@ -116,6 +120,15 @@ const McpServiceModal = forwardRef<McpServiceModalRef, McpServiceModalProps>(({
}
}
}
// 如果是从 Market 组件传来的数据,添加市场相关字段
if ((editVo as any)?.market_id) {
(newService.config as any).source_channel = (editVo as any).source_channel;
(newService.config as any).market_id = (editVo as any).market_id;
(newService.config as any).market_config_id = (editVo as any).market_config_id;
(newService.config as any).mcp_service_id = (editVo as any).mcp_service_id;
}
const request = editVo?.id ? updateTool(editVo.id, newService) : addTool(newService)
request.then((res: any) => {
message.success(t('common.saveSuccess'));