feat: 架构升级 + 设计升级(node:sqlite 迁移 / P0 安全修复 / 游客通道 / SSE stream-ticket / 墨蓝主题 / ResultView 拆分 / 全站无障碍)+ RainID 接线整合

This commit is contained in:
2026-08-12 02:52:12 +08:00
parent 0b0144877e
commit ed6bc69ca3
82 changed files with 1974 additions and 2007 deletions
@@ -73,7 +73,7 @@ const FactorsTab: React.FC<Props> = ({ scale, updateScale }) => {
{Object.entries(factors).map(([id, f]) => (
<Card key={id} size="small" style={{ marginBottom: 8 }}
title={<Space>{id}<Tag>{f.name}</Tag></Space>}
extra={<Button icon={<DeleteOutlined />} size="small" danger onClick={() => removeFactor(id)} />}>
extra={<Button icon={<DeleteOutlined />} size="small" danger aria-label="删除因子" onClick={() => removeFactor(id)} />}>
<Collapse size="small" defaultActiveKey={["basic"]} items={[
{ key: "basic", label: "基本设置", children: (
<Form layout="inline" style={{ flexWrap: "wrap", gap: 8 }}>
@@ -136,12 +136,12 @@ const FactorsTab: React.FC<Props> = ({ scale, updateScale }) => {
<Input size="small" value={r.level || ""}
onChange={(e) => { var nr = [...(f.ranges || [])]; nr[ri] = { ...nr[ri], level: e.target.value }; updateFactor(id, { ranges: nr }); }}
style={{ width: 100 }} placeholder="等级" />
<Button icon={<DeleteOutlined />} size="small" danger
<Button icon={<DeleteOutlined />} size="small" danger aria-label="删除因子区间"
onClick={() => updateFactor(id, { ranges: (f.ranges || []).filter((_, i) => i !== ri) })} />
</Space>
))}
<Button icon={<PlusOutlined />} size="small"
onClick={() => updateFactor(id, { ranges: [...(f.ranges || []), { min: 0, max: 0, level: "", color: "#2563eb", severity: 0 }] })}
onClick={() => updateFactor(id, { ranges: [...(f.ranges || []), { min: 0, max: 0, level: "", color: "#1e3a5f", severity: 0 }] })}
style={{ marginTop: 4 }}></Button>
</div>
)},