Tags: windfgg/Pan1Watch
Tags
feat: 账户支持多市场选择 & 前端优化 ## 主要变更 ### 账户多市场支持 (后端) - 新增 markets 字段(list[str]),账户可同时关联多个市场(如 CN+HK) - DB 中 market 列以逗号分隔存储,读写时自动解析/序列化 - 新增 normalize_account_markets / parse_account_markets / serialize_account_markets 工具函数 - 新增 validate_markets_currency_pair:多市场时放宽币种校验,单市场时保持原有严格规则 - _account_to_response 统一序列化账户输出,确保 markets 字段始终返回 - portfolio summary 接口同步返回 markets 数组 ### 账户多市场支持 (前端) - 账户创建/编辑改为多选按钮(替代单选下拉),支持同时勾选多个市场 - 账户列表和持仓页显示多市场标签(用 " / " 连接) - 提交时兼容新旧字段(market + markets) ### 已休市场日收益归零 - 根据 marketStatus 计算 closedMarketCodes 集合 - mergePortfolioQuotes 休市时将 day_pnl / day_pnl_pct 置为 0,避免显示过期数据 ### 价格闪烁动画优化 - 移除 'neutral' 状态,仅保留 'up' / 'down' - 价格无变化时不再触发闪烁动画,减少视觉干扰 ### Bug 修复 - 删除持仓时先缓存 account_name / stock_name,防止 ORM 对象删除后访问已分离关系报错 - 默认账户迁移 SQL 补全 market / base_currency 列,避免旧库升级时字段为空 ### 代码格式化 - accounts.py / mcp.py / database.py 长行拆分,提升可读性 ### 测试 - 新增 test_parse_account_markets_supports_multi_values - 新增 test_validate_markets_currency_pair 多市场/单市场币种校验用例 - 新增 test_positions_trade_reduce_and_overwrite_generate_records MCP 减仓/覆写交易记录测试
feat(mcp): 增强审计日志查询与持仓解析能力 - 日志 API 新增 MCP 审计筛选参数(mcp_only/mcp_tool/mcp_status/mcp_user/mcp_auth) - MCP 审计写入补充结构化 tags,支持按工具、状态、用户、鉴权方式查询 - 新增 mcp.logs.query 工具,支持分页与多条件过滤 - 增强 stocks.resolve 的符号归一化、市场优先级与自动补建逻辑 - 补充 test_mcp_positions 覆盖 mcp.logs.query 与 resolve 关键场景