🎨 修改 router 路径.

This commit is contained in:
lijiahang
2024-03-07 17:34:44 +08:00
parent 6a7615e294
commit 7413b7e932
13 changed files with 52 additions and 53 deletions

View File

@@ -46,7 +46,7 @@ demo: http://101.43.254.243:1081/#/
* 权限控制: 全面管理用户角色, 支持动态菜单配置和强制下线等功能。
* 在线终端: 提供便捷的在线 Web 终端服务, 支持快捷命令、自定义快捷键和主题风格。
* 文件管理: 实现远程主机大文件的批量上传、下载和在线编辑等操作。
* 可扩展性: 前后端代码规范统一, 代码质量高、健壮且易于阅读和扩展。
* 可扩展性: 前后端代码规范统一代码质量高、健壮且易于阅读和扩展。
[comment]: <> ( FIXME * 批量操作: 支持远程主机批量执行命令 以及 批量执行上传文件)

View File

@@ -46,7 +46,7 @@ demo: http://101.43.254.243:1081/#/
* 权限控制: 全面管理用户角色, 支持动态菜单配置和强制下线等功能。
* 在线终端: 提供便捷的在线 Web 终端服务, 支持快捷命令、自定义快捷键和主题风格。
* 文件管理: 实现远程主机大文件的批量上传、下载和在线编辑等操作。
* 可扩展性: 前后端代码规范统一, 代码质量高、健壮且易于阅读和扩展。
* 可扩展性: 前后端代码规范统一代码质量高、健壮且易于阅读和扩展。
[comment]: <> ( FIXME * 批量操作: 支持远程主机批量执行命令 以及 批量执行上传文件)

View File

@@ -4,8 +4,10 @@
`2024-03-` `release`
🐞 修复 SFTP 加载失败后一直 loading
🐞 修复 SSH 配置未启用还可以连接
🐞 修复 主机配置保存后无法修改状态
🐞 修复 主机配置保存后无法修改状态
🔨 修改 菜单路由地址简化
[如何升级](/about/update.md?id=_v102)

View File

@@ -1,10 +1,5 @@
## 已完成 ✅
## 功能排期 ⏳
## 开发中 ⏱
## 未开始 ⏳
* 资产管理表结构优化
* 批量执行
* 定时执行
* 站内消息

View File

@@ -3,12 +3,11 @@ import { DEFAULT_LAYOUT } from '../base';
const $vue.moduleConst: AppRouteRecordRaw = {
name: '$vue.moduleEntityFirstLower',
path: '/$vue.module',
component: DEFAULT_LAYOUT,
children: [
{
name: '$vue.moduleEntityFirstLower$vue.featureEntity',
path: '/$vue.module/$vue.feature',
path: '/$vue.module-$vue.feature',
component: () => import('@/views/$vue.module/$vue.feature/index.vue'),
},
],

View File

@@ -25,12 +25,15 @@
</div>
<!-- 右侧操作 -->
<ul class="right-side">
<!-- 搜索 -->
<li v-if="false">
<a-tooltip content="搜索">
<a-button class="nav-btn" type="outline" shape="circle">
<!-- 主机终端 -->
<li v-permission="['asset:host-terminal:access']">
<a-tooltip content="主机终端">
<a-button class="nav-btn"
type="outline"
shape="circle"
@click="openNewRoute('hostTerminal')">
<template #icon>
<icon-search />
<icon-code-square />
</template>
</a-button>
</a-tooltip>
@@ -210,6 +213,7 @@
import { openAppSettingKey, toggleDrawerMenuKey } from '@/types/symbol';
import { preferenceTipsKey } from './const';
import { REDIRECT_ROUTE_NAME, routerToTag } from '@/router/constants';
import { openWindow } from '@/utils';
import Menu from '@/components/system/menu/tree/index.vue';
import UpdatePasswordModal from '@/components/user/user/update-password-modal.vue';
import MessageBox from '@/components/system/message-box/index.vue';
@@ -276,6 +280,12 @@
triggerMouseEvent(localeRef);
};
// 打开新页面
const openNewRoute = (name: string) => {
const { href } = router.resolve({ name });
openWindow(href);
};
// 刷新页面
const reloadCurrent = async () => {
if (appStore.tabBar) {

View File

@@ -11,7 +11,7 @@ export const NOT_FOUND_ROUTER_NAME = 'notFound';
export const DEFAULT_ROUTE_NAME = 'workplace';
export const DEFAULT_ROUTE_FULL_PATH = '/dashboard/workplace';
export const DEFAULT_ROUTE_FULL_PATH = '/workplace';
/**
* 路由白名单

View File

@@ -1,23 +1,21 @@
import type { AppRouteRecordRaw } from '../types';
import { DEFAULT_LAYOUT } from '../base';
const ASSET_AUDIT: AppRouteRecordRaw =
{
name: 'assetAudit',
path: '/asset-audit',
component: DEFAULT_LAYOUT,
children: [
{
name: 'assetAuditConnectLog',
path: '/asset-audit/connect-log',
component: () => import('@/views/asset-audit/connect-log/index.vue'),
},
{
name: 'assetAuditSftpLog',
path: '/asset-audit/sftp-log',
component: () => import('@/views/asset-audit/sftp-log/index.vue'),
},
],
};
const ASSET_AUDIT: AppRouteRecordRaw = {
name: 'assetAudit',
component: DEFAULT_LAYOUT,
children: [
{
name: 'assetAuditConnectLog',
path: '/connect-log',
component: () => import('@/views/asset-audit/connect-log/index.vue'),
},
{
name: 'assetAuditSftpLog',
path: '/sftp-log',
component: () => import('@/views/asset-audit/sftp-log/index.vue'),
},
],
};
export default ASSET_AUDIT;

View File

@@ -3,24 +3,23 @@ import { DEFAULT_LAYOUT } from '../base';
const ASSET: AppRouteRecordRaw = {
name: 'asset',
path: '/asset',
component: DEFAULT_LAYOUT,
children: [
{
name: 'assetHostList',
path: '/asset/host-list',
path: '/host-list',
component: () => import('@/views/asset/host-list/index.vue'),
}, {
name: 'assetHostKey',
path: '/asset/host-key',
path: '/host-key',
component: () => import('@/views/asset/host-key/index.vue'),
}, {
name: 'assetHostIdentity',
path: '/asset/host-identity',
path: '/host-identity',
component: () => import('@/views/asset/host-identity/index.vue'),
}, {
name: 'assetGrant',
path: '/asset/grant',
path: '/asset-grant',
component: () => import('@/views/asset/grant/index.vue'),
},
],

View File

@@ -3,12 +3,11 @@ import { DEFAULT_LAYOUT } from '../base';
const DASHBOARD: AppRouteRecordRaw = {
name: 'dashboard',
path: '/dashboard',
component: DEFAULT_LAYOUT,
children: [
{
name: 'workplace',
path: '/dashboard/workplace',
path: '/workplace',
component: () => import('@/views/dashboard/workplace/index.vue'),
},
],

View File

@@ -3,12 +3,11 @@ import { FULL_LAYOUT } from '../base';
const HOST: AppRouteRecordRaw = {
name: 'host',
path: '/host',
component: FULL_LAYOUT,
children: [
{
name: 'hostTerminal',
path: '/host/terminal',
path: '/terminal',
component: () => import('@/views/host/terminal/index.vue'),
meta: {
noAffix: true

View File

@@ -3,22 +3,21 @@ import { DEFAULT_LAYOUT } from '../base';
const SYSTEM: AppRouteRecordRaw = {
name: 'system',
path: '/system',
component: DEFAULT_LAYOUT,
children: [
{
name: 'systemMenu',
path: '/system/menu',
path: '/menu',
component: () => import('@/views/system/menu/index.vue'),
},
{
name: 'systemDictKey',
path: '/system/dict-key',
path: '/dict-key',
component: () => import('@/views/system/dict-key/index.vue'),
},
{
name: 'systemDictValue',
path: '/system/dict-value',
path: '/dict-value',
component: () => import('@/views/system/dict-value/index.vue'),
},
],

View File

@@ -3,27 +3,26 @@ import { DEFAULT_LAYOUT } from '../base';
const USER: AppRouteRecordRaw = {
name: 'user',
path: '/user',
component: DEFAULT_LAYOUT,
children: [
{
name: 'userRole',
path: '/user/role',
path: '/role',
component: () => import('@/views/user/role/index.vue'),
},
{
name: 'userUser',
path: '/user/user',
path: '/user',
component: () => import('@/views/user/user/index.vue'),
},
{
name: 'userInfo',
path: '/user/info',
path: '/user-info',
component: () => import('@/views/user/info/index.vue'),
},
{
name: 'userOperatorLog',
path: '/user/operator-log',
path: '/operator-log',
component: () => import('@/views/user/operator-log/index.vue'),
},
],