feat(recommendations): 添加合约推荐提示信息以优化用户排查流程
在后端API中新增合约推荐为空时的提示信息,指导用户检查推荐服务和策略运行状态。前端组件更新以显示该提示,提升用户体验并帮助用户更有效地进行问题排查。此改动增强了系统的可用性与用户友好性。
This commit is contained in:
parent
9a720b9a19
commit
104cb63802
|
|
@ -366,7 +366,15 @@ async def get_recommendations(
|
|||
|
||||
# 限制返回数量
|
||||
recommendations = recommendations[:limit]
|
||||
|
||||
# 合约推荐为空时给出排查提示(与现货独立:现货来自定时扫描,合约来自策略/推荐服务)
|
||||
hint = None
|
||||
if len(recommendations) == 0:
|
||||
hint = (
|
||||
"合约推荐来自策略扫描:需信号强度≥5且方向明确才会写入。"
|
||||
"若长期为空,请检查:1) 推荐服务(recommendations_main)或主策略(main)是否在运行;"
|
||||
"2) 扫描日志中是否有「信号:N」≥5 的标的;3) 是否有推荐被时间/价格偏离过滤掉(见 meta.dropped)。"
|
||||
)
|
||||
|
||||
return {
|
||||
"success": True,
|
||||
"count": len(recommendations),
|
||||
|
|
@ -384,6 +392,7 @@ async def get_recommendations(
|
|||
"price_drift": dropped_drift,
|
||||
"invalid": dropped_invalid,
|
||||
},
|
||||
"hint": hint,
|
||||
},
|
||||
"data": recommendations
|
||||
}
|
||||
|
|
|
|||
|
|
@ -22,7 +22,8 @@ function Recommendations() {
|
|||
const [bookmarking, setBookmarking] = useState({}) // 记录正在标记的推荐ID
|
||||
const [ordering, setOrdering] = useState({}) // 记录正在下单的推荐ID
|
||||
const [marketType, setMarketType] = useState('futures') // 'futures' | 'spot'
|
||||
|
||||
const [recommendationMeta, setRecommendationMeta] = useState(null) // 合约实时推荐的 meta(含 hint/dropped)
|
||||
|
||||
// 获取默认下单保证金(按账号存储,单位:USDT);现货时表示下单金额(USDT)
|
||||
const getDefaultOrderSize = () => {
|
||||
try {
|
||||
|
|
@ -108,6 +109,7 @@ function Recommendations() {
|
|||
const result = await api.getSpotRecommendations({ limit: 50 })
|
||||
const data = result.data || []
|
||||
setRecommendations(data)
|
||||
setRecommendationMeta(null)
|
||||
} else {
|
||||
const params = { type: typeFilter }
|
||||
if (typeFilter === 'bookmarked') {
|
||||
|
|
@ -122,6 +124,7 @@ function Recommendations() {
|
|||
const result = await api.getRecommendations(params)
|
||||
const data = result.data || []
|
||||
setRecommendations(data)
|
||||
setRecommendationMeta(result.meta || null)
|
||||
}
|
||||
} catch (err) {
|
||||
setError(err.message)
|
||||
|
|
@ -541,6 +544,11 @@ function Recommendations() {
|
|||
) : recommendations.length === 0 ? (
|
||||
<div className="empty-state">
|
||||
<p>暂无推荐记录</p>
|
||||
{marketType === 'futures' && typeFilter === 'realtime' && recommendationMeta?.hint && (
|
||||
<p style={{ marginTop: 10, fontSize: 13, color: '#666', maxWidth: 560, lineHeight: 1.5 }}>
|
||||
{recommendationMeta.hint}
|
||||
</p>
|
||||
)}
|
||||
<button className="btn-generate" onClick={handleGenerate}>
|
||||
生成推荐
|
||||
</button>
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user