feat: 添加关键字过滤功能并优化市场 slug 处理
主要变更: 1. 关键字过滤功能 - 添加关键字过滤模式(白名单/黑名单/禁用) - 支持关键字列表配置(JSON 存储) - 实现关键字匹配逻辑(不区分大小写) - 数据库迁移:V20__add_keyword_filter.sql 2. 市场 slug 优化 - 区分显示用 slug 和跳转用 eventSlug - 添加 event_slug 字段到 markets 表(V21__add_event_slug_to_markets.sql) - 从 events[0].slug 获取跳转用的 slug 并存入数据库 - 减少 API 请求,提高性能 3. UI 优化 - 将创建/编辑跟单配置改为 Modal 方式 - 删除独立的 CopyTradingAdd 和 CopyTradingEdit 页面 - 更新前端跳转逻辑,优先使用 eventSlug 4. API 响应优化 - 更新 MarketResponse 添加 events 字段 - 统一从 events[0].slug 获取跳转用的 slug - 更新所有相关服务使用新的 slug 获取逻辑
This commit is contained in:
@@ -0,0 +1,19 @@
|
||||
-- ============================================
|
||||
-- V20: 添加关键字过滤字段
|
||||
-- 在 copy_trading 表中添加关键字过滤配置
|
||||
-- 支持白名单和黑名单两种模式
|
||||
-- ============================================
|
||||
|
||||
-- 添加关键字过滤模式字段
|
||||
-- DISABLED: 不启用关键字过滤(默认)
|
||||
-- WHITELIST: 白名单模式,只跟单包含关键字的市场
|
||||
-- BLACKLIST: 黑名单模式,不跟单包含关键字的市场
|
||||
ALTER TABLE copy_trading
|
||||
ADD COLUMN keyword_filter_mode VARCHAR(20) NOT NULL DEFAULT 'DISABLED' COMMENT '关键字过滤模式(DISABLED/WHITELIST/BLACKLIST)' AFTER max_position_count;
|
||||
|
||||
-- 添加关键字列表字段(JSON 数组)
|
||||
-- 当 keyword_filter_mode 为 DISABLED 时,此字段为 NULL
|
||||
-- 当 keyword_filter_mode 为 WHITELIST 或 BLACKLIST 时,此字段存储关键字数组,例如:["NBA", "足球", "NBA总决赛"]
|
||||
ALTER TABLE copy_trading
|
||||
ADD COLUMN keywords JSON NULL COMMENT '关键字列表(JSON数组),仅在WHITELIST或BLACKLIST模式下使用' AFTER keyword_filter_mode;
|
||||
|
||||
@@ -0,0 +1,8 @@
|
||||
-- ============================================
|
||||
-- V21: 添加 event_slug 字段到 markets 表
|
||||
-- 用于存储跳转用的 slug(从 events[0].slug 获取)
|
||||
-- ============================================
|
||||
|
||||
ALTER TABLE markets
|
||||
ADD COLUMN event_slug VARCHAR(200) NULL COMMENT '跳转用的 slug(从 events[0].slug 获取,用于构建 URL)' AFTER slug;
|
||||
|
||||
Reference in New Issue
Block a user