feat: personal user edition v1.0.0-user on release branch

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
dekun
2026-06-30 20:22:42 +08:00
parent e5f264b774
commit ec1c9873b7
20 changed files with 324 additions and 294 deletions
+1
View File
@@ -121,6 +121,7 @@ min-height:100vh;
.page-wrap{max-width:1800px;margin:0 auto;min-height:100vh}
.site-header{text-align:center;padding:1.5rem 1rem 1.25rem;border-bottom:1px solid var(--border-header);position:relative}
.site-title{font-size:1.75rem;font-weight:700;color:var(--text-title);margin-bottom:1.65rem;line-height:1.3}
.site-edition-tag{display:inline-block;margin-left:.45rem;padding:.12rem .45rem;font-size:.62rem;font-weight:600;vertical-align:middle;border-radius:4px;background:var(--accent-dim, rgba(56,189,248,.15));color:var(--accent,#38bdf8);letter-spacing:.02em}
.header-tools{position:absolute;top:1rem;left:1.5rem;display:flex;gap:.5rem;align-items:center;z-index:20}
.theme-switch{
display:inline-flex;align-items:center;
+17 -6
View File
@@ -46,6 +46,7 @@
var REC_INDUSTRY_CACHE = 'qihuo_rec_industry_v1';
var REC_COLSPAN = 18;
var marketNavEnabled = false;
var userEdition = false;
var productCategories = [];
var POS_CACHE_KEY = 'qihuo_trading_live_v5';
@@ -58,6 +59,7 @@
if (sizingMode === 'risk') sizingMode = 'amount';
ctpAutoConnectEnabled = cfg.ctp_auto_connect !== false;
marketNavEnabled = !!cfg.market_nav_enabled;
userEdition = !!cfg.user_edition;
productCategories = cfg.product_categories || [];
window.TRADE_FIXED_LOTS = cfg.fixed_lots;
window.TRADE_FIXED_AMOUNT = cfg.fixed_amount;
@@ -1939,15 +1941,24 @@
connectPositionStream();
bindSlTpModal();
initCtpOnLoad();
connectRecommendStream();
initRecommendSortControls();
if (window.__RECOMMEND_ROWS__ && window.__RECOMMEND_ROWS__.length) {
recRowsRaw = window.__RECOMMEND_ROWS__.slice();
renderRecommendTable();
if (!userEdition) {
connectRecommendStream();
initRecommendSortControls();
if (window.__RECOMMEND_ROWS__ && window.__RECOMMEND_ROWS__.length) {
recRowsRaw = window.__RECOMMEND_ROWS__.slice();
renderRecommendTable();
}
}
fetch('/api/recommend/list')
.then(function (r) { return r.json(); })
.then(function (data) { if (data.ok) renderRecommendations(data); })
.then(function (data) {
if (!data.ok) return;
if (userEdition) {
updateRecommendMaxMaps(data);
return;
}
renderRecommendations(data);
})
.catch(function () {});
updateSessionUi();
updateRRDisplay();