106 lines
2.5 KiB
TypeScript
106 lines
2.5 KiB
TypeScript
import type { Component } from 'vue'
|
|
import {
|
|
AppstoreOutlined,
|
|
AuditOutlined,
|
|
DashboardOutlined,
|
|
TeamOutlined,
|
|
SettingOutlined,
|
|
FileTextOutlined,
|
|
CustomerServiceOutlined,
|
|
ShopOutlined,
|
|
GitlabOutlined,
|
|
GlobalOutlined,
|
|
} from '@ant-design/icons-vue'
|
|
|
|
export type AdminNavItem = {
|
|
key: string
|
|
label: string
|
|
icon?: Component
|
|
to: string
|
|
}
|
|
|
|
export type AdminNavGroup = {
|
|
key: string
|
|
label: string
|
|
icon?: Component
|
|
iconColor?: string
|
|
badge?: string
|
|
disabled?: boolean
|
|
children: AdminNavItem[]
|
|
}
|
|
|
|
export type AdminNavLink = Omit<AdminNavGroup, 'children'> & {
|
|
to: string
|
|
}
|
|
|
|
export type AdminNavEntry = AdminNavGroup | AdminNavLink
|
|
|
|
export const adminNav: AdminNavEntry[] = [
|
|
{
|
|
key: 'admin-home',
|
|
label: '管理首页',
|
|
icon: DashboardOutlined,
|
|
to: '/admin',
|
|
},
|
|
{
|
|
key: 'admin-app-review',
|
|
label: '应用审核',
|
|
icon: AuditOutlined,
|
|
badge: 'NEW',
|
|
to: '/admin/app-review',
|
|
},
|
|
{
|
|
key: 'admin-git-review',
|
|
label: 'Git 审核',
|
|
icon: GitlabOutlined,
|
|
to: '/admin/git-review',
|
|
},
|
|
{
|
|
key: 'admin-apps',
|
|
label: '应用管理',
|
|
icon: AppstoreOutlined,
|
|
children: [
|
|
{ key: 'admin-all-apps', label: '全局应用', icon: GlobalOutlined, to: '/admin/all-apps' },
|
|
{ key: 'admin-apps-list', label: '我的应用', icon: AppstoreOutlined, to: '/admin/apps' },
|
|
{ key: 'admin-market', label: '应用市场', icon: ShopOutlined, to: '/admin/market' },
|
|
],
|
|
},
|
|
{
|
|
key: 'admin-users',
|
|
label: '用户管理',
|
|
icon: TeamOutlined,
|
|
children: [
|
|
{ key: 'admin-users-list', label: '所有用户', icon: TeamOutlined, to: '/admin/users' },
|
|
{ key: 'admin-developers', label: '开发者', icon: TeamOutlined, to: '/admin/developers' },
|
|
],
|
|
},
|
|
{
|
|
key: 'admin-tickets',
|
|
label: '工单处理',
|
|
icon: CustomerServiceOutlined,
|
|
to: '/admin/tickets',
|
|
},
|
|
{
|
|
key: 'admin-content',
|
|
label: '内容管理',
|
|
icon: FileTextOutlined,
|
|
children: [
|
|
{ key: 'admin-articles', label: '文章管理', icon: FileTextOutlined, to: '/admin/articles' },
|
|
{ key: 'admin-article-categories', label: '文章分类', icon: FileTextOutlined, to: '/admin/article-categories' },
|
|
{ key: 'admin-announcements', label: '公告管理', icon: FileTextOutlined, to: '/admin/announcements' },
|
|
],
|
|
},
|
|
{
|
|
key: 'admin-tenant',
|
|
label: '租户管理',
|
|
icon: ShopOutlined,
|
|
to: '/admin/tenants',
|
|
},
|
|
{
|
|
key: 'admin-settings',
|
|
label: '平台设置',
|
|
icon: SettingOutlined,
|
|
to: '/admin/settings',
|
|
},
|
|
]
|