基于 Vite + React + TypeScript + Ant Design + SCSS 的后台管理平台。
内置多级路由菜单、登录 / 退出、动态菜单,以及一套可直接运行的 CRM 演示页面。
cd tenant-console
npm install
npm run dev
默认访问地址:http://localhost:5173
npm run build # 类型检查 + 生产构建
npm run preview # 预览生产构建
npm run typecheck # 仅做 TypeScript 类型检查
| 账号 | 密码 | 说明 |
|---|---|---|
admin |
admin123 |
超级管理员 |
user |
user123 |
普通运营账号 |
登录页提供了一键填充演示账号的按钮。
src/pages/login/index.tsxlocalStorage 持久化:src/store/auth.ts路由、菜单、面包屑共用一份配置:src/router/routeConfig.tsx。
{
path: '/system',
title: '系统管理',
icon: <SettingOutlined />,
children: [
{
path: '/system/users',
title: '用户管理',
icon: <TeamOutlined />,
element: <Users />,
},
],
}
src/router/index.tsx)/system)时,自动跳转到第一个子页面/login 并带上 state.from| 页面 | 路由 | 说明 |
|---|---|---|
| 工作台 | /dashboard |
数据卡片、快捷入口、动态、最近订单 |
| 用户管理 | /system/users |
搜索、新增 / 编辑 / 删除用户 |
| 订单管理 | /business/orders |
筛选、处理订单、导出 |
| 客户管理 | /business/customers |
筛选、新增 / 编辑客户 |
| 404 | 任意未知地址 | 页面不存在提示 |
src/
├── api/ # 模拟登录接口(替换为真实后端)
├── layouts/ # 后台整体布局(侧边栏、头部、内容区)
├── pages/ # 业务页面
│ ├── login/
│ ├── dashboard/
│ ├── system/
│ ├── business/
│ └── error/
├── router/
│ ├── routeConfig.tsx # 路由 + 菜单唯一数据源
│ ├── menu.tsx # 菜单构建
│ └── index.tsx # React Router 路由生成 + 登录校验
├── store/ # Zustand 登录状态
├── styles/ # 全局 SCSS
├── types/
└── main.tsx
src/pages 下创建页面组件。src/router/routeConfig.tsx 中添加一条配置(path、title、icon、element)。侧边栏、面包屑会自动读取新配置,无需重复维护。
本项目中的登录接口与账号数据均为 前端模拟,仅用于演示。
接入真实后端时: