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