mirror of
https://github.com/Rain-kl/OpenFlare.git
synced 2026-09-29 05:56:38 +08:00
[重构] 资源路径使用单数
This commit is contained in:
@@ -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('设置');
|
||||
});
|
||||
});
|
||||
|
||||
@@ -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 页面职责
|
||||
|
||||
|
||||
@@ -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` 等模块
|
||||
* 重构表单项、标签页、操作区布局
|
||||
* 增加部署命令复制、时间友好显示、状态颜色体系
|
||||
|
||||
|
||||
Reference in New Issue
Block a user