# 2026-05-26 — 移除资产管理页面，简化服务器表单

## 变更摘要

移除独立资产管理页面（assets.html），精简服务器表单组织信息区域：

1. **删除 assets.html** — 平台模板和节点分组功能实际用途有限，移除独立页面
2. **侧边栏移除入口** — layout.js 删除「🗂 资产管理」导航项
3. **服务器表单简化** — 移除平台/节点下拉，仅保留分类（Category）combobox
4. **Category 改为 combobox** — `<input list="categoryList">` 支持从已有分类选择或自由输入
5. **Nginx 缓存控制** — 为 JS/CSS 静态文件添加 `no-store` 响应头，防止浏览器缓存旧版

## 动机

- 平台模板的 `default_protocols`、`charset`、`type` 字段未被任何功能使用
- 节点树仅用于服务器表单下拉，无按节点筛选等联动
- 服务器列表的「分类」筛选基于 `server.category` 自由文本字段，与节点分组独立
- 用户明确要求直接去掉资产管理

## 涉及文件

| 文件 | 改动 |
|------|------|
| `web/app/assets.html` | 删除 |
| `web/app/layout.js` | 移除 `{ id:'assets', ... }` 导航项 |
| `web/app/servers.html` | 移除平台/节点下拉、`loadOrgSelects()`；Category 改为 combobox + datalist；移除 `platform_id`/`node_id` |

## 不变的部分

- **数据库模型**：Platform 和 Node 表不变，无迁移
- **后端 API**：`/api/assets/platforms` 和 `/api/assets/nodes` 端点保留
- **CSV 导入**：继续通过 platform_name/node_name 解析 ID

## 是否需迁移/重启

- **DB 迁移**: 无
- **需重启**: 否（仅前端静态文件变更）
- **Nginx**: 已为 JS/CSS 添加 no-cache 头（需 reload，已执行）

## 验证方式

1. 远程服务器 `layout.js` 不含「资产管理」(SSH grep 确认 0 匹配)
2. `assets.html` 已删除 (SSH 确认文件不存在)
3. `servers.html` 不含 `srvPlatform`/`srvNode`/`loadOrgSelects` (0 匹配)
4. `servers.html` 含 `categoryList` datalist (2 匹配)
5. Playwright fetch (cache: no-store) 确认最新 layout.js 正确
6. Nginx 为 `/app/*.js` 和 `/app/*.css` 添加 Cache-Control: no-store
