cankao-admin/src/router/route.ts

376 lines
9.5 KiB
TypeScript
Raw Normal View History

2025-08-03 13:41:47 +08:00
import { RouteRecordRaw } from 'vue-router';
/**
* path 便
*
* meta对象参数说明
* meta: {
* title: 菜单栏及 tagsView
* isLink `1、isLink: 链接地址不为空 2、isIframe:false`
* isHide
* isKeepAlive
* isAffix tagsView
* isIframe `1、isIframe:true 2、isLink链接地址不为空`
* roles admin common
* icon tagsView `iconfont xxx`fontawesome `fa xxx`
* }
*/
// 扩展 RouteMeta 接口
declare module 'vue-router' {
interface RouteMeta {
title?: string;
isLink?: string;
isHide?: boolean;
isKeepAlive?: boolean;
isAffix?: boolean;
isIframe?: boolean;
roles?: string[];
icon?: string;
}
}
/**
*
* `children 数组`
* @description isRequestRoutes true 使 children
* @description `/@/views/system/menu/component/addMenu.vue 下的 ruleForm`
* @returns
*/
export const dynamicRoutes: Array<RouteRecordRaw> = [
{
path: '/',
name: '/',
component: () => import('/@/layout/index.vue'),
redirect: '/index',
meta: {
isKeepAlive: true,
},
children: [
{
path: '/home',
name: 'home',
component: () => import('/@/views/pages/home/index.vue'),
meta: {
title: 'message.router.home',
isLink: '',
isHide: true,
isKeepAlive: true,
isAffix: true,
isIframe: false,
roles: ['admin', 'common'],
icon: 'iconfont ele-Edit',
},
},
{
path: '/index',
name: 'index',
component: () => import('/@/views/pages/index/index.vue'),
meta: {
title: 'message.router.home',
isLink: '',
isHide: true,
isKeepAlive: true,
isAffix: true,
isIframe: false,
roles: ['admin', 'common'],
icon: 'iconfont ele-Edit',
},
},
{
path: '/news',
name: 'news',
// component: () => import('/@/views/pages/news/index.vue'),
meta: {
title: '资讯管理',
isLink: '',
isHide: false,
isKeepAlive: true,
isAffix: true,
isIframe: false,
roles: ['admin', 'common'],
// icon: 'iconfont icon-diannao1',
icon: 'ele-Edit',
},
children: [
{
path: '/richedit',
name: 'richedit',
component: () => import('/@/views/pages/richedit/index.vue'),
meta: {
title: '资讯精选',
isLink: '',
isHide: false,
isKeepAlive: true,
isAffix: true,
isIframe: false,
roles: ['common'],
},
},
{
path: '/richedit',
name: 'richedit',
component: () => import('/@/views/pages/richedit/index.vue'),
meta: {
title: '资讯审核',
isLink: '',
isHide: false,
isKeepAlive: true,
isAffix: true,
isIframe: false,
roles: ['admin'],
},
},
{
path: '/detailMobile',
name: 'detailMobile',
component: () => import('/@/views/pages/richedit/detailMobile.vue'),
meta: {
title: '详情',
isLink: '',
isHide: true,
isKeepAlive: true,
isAffix: true,
isIframe: false,
roles: ['admin'],
},
},
{
path: '/richeditMobile',
name: 'richeditMobile',
component: () => import('/@/views/pages/richedit/indexMobile.vue'),
meta: {
title: '资讯审核',
isLink: '',
isHide: true,
isKeepAlive: true,
isAffix: true,
isIframe: false,
roles: ['admin'],
},
},
{
path: '/comprehensive',
name: 'comprehensive',
component: () => import('/@/views/pages/comprehensive/index.vue'),
meta: {
title: '全量资讯库',
isLink: '',
isHide: false,
isKeepAlive: true,
isAffix: true,
isIframe: false,
roles: ['common'],
},
},
{
path: '/addrich',
name: 'addrich',
component: () => import('/@/views/pages/richedit/detail.vue'),
meta: {
title: '添加文章',
isLink: '',
isHide: true,
isKeepAlive: true,
isAffix: true,
isIframe: false,
roles: ['admin', 'common'],
},
},
// {
// path: '/newsflash',
// name: 'newsflash',
// component: () => import('/@/views/pages/newsflash/index.vue'),
// meta: {
// title: '快讯管理',
// isLink: '',
// isHide: false,
// isKeepAlive: true,
// isAffix: true,
// isIframe: false,
// roles: ['admin', 'common'],
// },
// },
// {
// path: '/addnews',
// name: 'addnews',
// component: () => import('/@/views/pages/newsflash/detail.vue'),
// meta: {
// title: '添加快讯',
// isLink: '',
// isHide: true,
// isKeepAlive: true,
// isAffix: true,
// isIframe: false,
// roles: ['admin', 'common'],
// },
// },
],
},
// {
// path: '/column',
// name: 'column',
// // component: () => import('/@/views/pages/column/index.vue'),
// meta: {
// title: '栏目管理',
// isLink: '',
// isHide: false,
// isKeepAlive: true,
// isAffix: true,
// isIframe: false,
// roles: ['admin', 'common'],
// icon: 'iconfont icon-zidingyibuju',
// },
// children: [
// {
// path: '/homeCol',
// name: 'homeCol',
// component: () => import('/@/views/pages/homeCol/index.vue'),
// meta: {
// title: '首页栏目',
// isLink: '',
// isHide: false,
// isKeepAlive: true,
// isAffix: true,
// isIframe: false,
// roles: ['admin', 'common'],
// },
// },
// {
// path: '/vipCol',
// name: 'vipCol',
// component: () => import('/@/views/pages/vipCol/index.vue'),
// meta: {
// title: 'vip栏目',
// isLink: '',
// isHide: false,
// isKeepAlive: true,
// isAffix: true,
// isIframe: false,
// roles: ['admin', 'common'],
// },
// },
// ],
// },
{
path: '/tags',
name: 'tags',
// component: () => import('/@/views/pages/tags/index.vue'),
meta: {
title: '基础信息',
isLink: '',
isHide: false,
isKeepAlive: true,
isAffix: true,
isIframe: false,
roles: ['common'],
icon: 'ele-Document',
},
children: [
{
path: '/sourceTag',
name: 'sourceTag',
component: () => import('/@/views/pages/sourceTag/index.vue'),
meta: {
title: '媒体来源',
isLink: '',
isHide: false,
isKeepAlive: true,
isAffix: true,
isIframe: false,
roles: ['admin', 'common'],
},
},
{
path: '/customTag',
name: 'customTag',
component: () => import('/@/views/pages/customTag/index.vue'),
meta: {
title: '概念标签',
isLink: '',
isHide: false,
isKeepAlive: true,
isAffix: true,
isIframe: false,
roles: ['admin', 'common'],
},
},
{
path: '/industry',
name: 'industry',
component: () => import('/@/views/pages/industry/index.vue'),
meta: {
title: '行业分类',
isLink: '',
isHide: false,
isKeepAlive: true,
isAffix: true,
isIframe: false,
roles: ['admin', 'common'],
},
},
],
},
// {
// path: '/userManagement',
// name: 'userManagement',
// component: () => import('/@/views/pages/userManagement/index.vue'),
// meta: {
// title: '用户管理',
// isLink: '',
// isHide: false,
// isKeepAlive: true,
// isAffix: true,
// isIframe: false,
// roles: ['admin', 'common'],
// // icon: 'iconfont icon-diannao1',
// icon: 'ele-UserFilled',
// },
// children: [],
// },
],
},
];
/**
* 404401
* @link https://next.router.vuejs.org/zh/guide/essentials/history-mode.html#netlify
*/
export const notFoundAndNoPower = [
{
path: '/:path(.*)*',
name: 'notFound',
component: () => import('/@/views/error/404.vue'),
meta: {
title: 'message.staticRoutes.notFound',
isHide: true,
},
},
{
path: '/401',
name: 'noPower',
component: () => import('/@/views/error/401.vue'),
meta: {
title: 'message.staticRoutes.noPower',
isHide: true,
},
},
];
/**
*
* `dynamicRoutes 数组`
* @description dynamicRoutes dynamicRoutes children layout
* @returns
*/
export const staticRoutes: Array<RouteRecordRaw> = [
{
path: '/login',
name: 'login',
component: () => import('/@/views/login/index.vue'),
meta: {
title: '登录',
},
},
];