[重构] 资源路径使用单数

This commit is contained in:
ryan
2026-03-11 17:27:37 +08:00
parent 57ac8b6f7c
commit 1bca93b332
13 changed files with 78 additions and 79 deletions
+15 -15
View File
@@ -7,56 +7,56 @@ export const dashboardNavigation: NavigationItem[] = [
shortLabel: '总览',
description: '查看阶段推进情况、系统入口与模块骨架状态。',
},
{
href: '/proxy-routes',
{
href: '/proxy-route',
label: '反代规则',
shortLabel: '规则',
description: '已接入列表、表单、证书匹配与发布动作。',
},
{
href: '/config-versions',
{
href: '/config-version',
label: '配置版本',
shortLabel: '版本',
description: '已接入版本预览、发布前 diff 与重新激活。',
},
{
href: '/nodes',
{
href: '/node',
label: '节点管理',
shortLabel: '节点',
description: '已接入状态标签、部署命令、心跳与更新动作。',
},
{
href: '/apply-logs',
href: '/apply-log',
label: '应用记录',
shortLabel: '记录',
description: '已接入 node_id 筛选、结果状态展示与单条详情查看。',
},
{
href: '/managed-domains',
href: '/managed-domain',
label: '域名管理',
shortLabel: '域名',
description: '已接入列表、证书绑定、启停控制与编辑删除。',
},
{
href: '/tls-certificates',
href: '/tls-certificate',
label: 'TLS 证书',
shortLabel: '证书',
description: '已接入 PEM 导入、文件上传、到期展示与删除。',
},
{
href: '/files',
{
href: '/file',
label: '文件管理',
shortLabel: '文件',
description: '已接入上传、下载、复制链接、搜索与删除动作。',
},
{
href: '/users',
{
href: '/user',
label: '用户管理',
shortLabel: '用户',
description: '已接入搜索、创建、编辑、封禁与权限调整。',
},
{
href: '/settings',
{
href: '/setting',
label: '设置',
shortLabel: '设置',
description: '已接入个人、运维、系统与关于内容维护。',
@@ -3,13 +3,13 @@ import { describe, expect, it } from 'vitest';
import { getCurrentNavigationItem, isPathActive } from '@/lib/utils/navigation';
describe('navigation utils', () => {
it('marks root path as active only for home', () => {
expect(isPathActive('/', '/')).toBe(true);
expect(isPathActive('/nodes', '/')).toBe(false);
});
it('resolves current navigation item for nested paths', () => {
expect(getCurrentNavigationItem('/nodes/abc')?.label).toBe('节点管理');
expect(getCurrentNavigationItem('/settings')?.label).toBe('设置');
});
it('marks root path as active only for home', () => {
expect(isPathActive('/', '/')).toBe(true);
expect(isPathActive('/node', '/')).toBe(false);
});
it('resolves current navigation item for nested paths', () => {
expect(getCurrentNavigationItem('/node/abc')?.label).toBe('节点管理');
expect(getCurrentNavigationItem('/setting')?.label).toBe('设置');
});
});
+12 -12
View File
@@ -135,18 +135,18 @@ tests/
### 4.1 路由命名
要求:
* 使用英文小写复数资源名
* 使用语义清晰的层级结构
示例:
* `/nodes`
* `/proxy-routes`
* `/config-versions`
* `/tls-certificates`
* `/managed-domains`
要求:
* 使用英文小写单数资源名
* 使用语义清晰的层级结构
示例:
* `/node`
* `/proxy-route`
* `/config-version`
* `/tls-certificate`
* `/managed-domain`
### 4.2 页面职责
+42 -43
View File
@@ -152,15 +152,15 @@ atsf_server/web/
(dashboard)/
layout.tsx
page.tsx
proxy-routes/
config-versions/
nodes/
apply-logs/
managed-domains/
tls-certificates/
files/
users/
settings/
proxy-route/
config-version/
node/
apply-log/
managed-domain/
tls-certificate/
file/
user/
setting/
not-found.tsx
components/
ui/
@@ -170,15 +170,15 @@ atsf_server/web/
feedback/
features/
auth/
proxy-routes/
config-versions/
nodes/
apply-logs/
managed-domains/
tls-certificates/
files/
users/
settings/
proxy-route/
config-version/
node/
apply-log/
managed-domain/
tls-certificate/
file/
user/
setting/
lib/
api/
auth/
@@ -207,24 +207,23 @@ atsf_server/web/
建议按“业务模块”而不是“旧文件结构”迁移:
| 现有路由 | 目标路由 | 改造重点 |
| --- | --- | --- |
| `/` | `/` | 首页概览卡片、系统状态、公告区域重设计 |
| `/proxy-route` | `/proxy-routes` | 表格、创建/编辑抽屉、发布动作、域名证书联动 |
| `/config-version` | `/config-versions` | 版本列表、diff 预览、激活流程、只读预览体验 |
| `/node` | `/nodes` | 节点状态标签、心跳时间、部署命令、更新动作 |
| `/apply-log` | `/apply-logs` | 过滤器、结果状态可视化、分页与详情展示 |
| `/managed-domain` | `/managed-domains` | 通配符匹配提示、证书绑定状态、启用状态切换 |
| `/tls-certificate` | `/tls-certificates` | 导入、上传、有效期展示、到期提醒样式 |
| `/file` | `/files` | 文件列表与下载交互优化 |
| `/user` | `/users` | 用户列表、角色管理、搜索与编辑体验 |
| `/setting` | `/settings` | 系统设置、运维设置、个人设置按信息架构重组 |
| `/login` 等 | `/login` 等 | 统一认证页视觉与表单规范 |
说明:
* 路由命名建议统一改为复数英文资源名。
* 为兼容旧链接,可在切换期保留旧路由跳转。
| 现有路由 | 目标路由 | 改造重点 |
| --- | --- | --- |
| `/` | `/` | 首页概览卡片、系统状态、公告区域重设计 |
| `/proxy-route` | `/proxy-route` | 表格、创建/编辑抽屉、发布动作、域名证书联动 |
| `/config-version` | `/config-version` | 版本列表、diff 预览、激活流程、只读预览体验 |
| `/node` | `/node` | 节点状态标签、心跳时间、部署命令、更新动作 |
| `/apply-log` | `/apply-log` | 过滤器、结果状态可视化、分页与详情展示 |
| `/managed-domain` | `/managed-domain` | 通配符匹配提示、证书绑定状态、启用状态切换 |
| `/tls-certificate` | `/tls-certificate` | 导入、上传、有效期展示、到期提醒样式 |
| `/file` | `/file` | 文件列表与下载交互优化 |
| `/user` | `/user` | 用户列表、角色管理、搜索与编辑体验 |
| `/setting` | `/setting` | 系统设置、运维设置、个人设置按信息架构重组 |
| `/login` 等 | `/login` 等 | 统一认证页视觉与表单规范 |
说明:
* 路由命名统一使用单数英文资源名。
---
@@ -302,12 +301,12 @@ atsf_server/web/
优先顺序:
1. `proxy-routes`
2. `config-versions`
3. `nodes`
4. `managed-domains`
5. `tls-certificates`
6. `apply-logs`
1. `proxy-route`
2. `config-version`
3. `node`
4. `managed-domain`
5. `tls-certificate`
6. `apply-log`
验收:
@@ -320,7 +319,7 @@ atsf_server/web/
任务:
* 迁移 `settings`、`users`、`files`、`about` 等模块
* 迁移 `setting`、`user`、`file`、`about` 等模块
* 重构表单项、标签页、操作区布局
* 增加部署命令复制、时间友好显示、状态颜色体系