# wangsong-react-admin **Repository Path**: vmaps/wangsong-react-admin ## Basic Information - **Project Name**: wangsong-react-admin - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-03-26 - **Last Updated**: 2026-03-26 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # WangSong React Admin - 管理系统 ⭐ AI 维护版 **📚 完整项目文档:** [PROJECT_DOCUMENTATION_COMPLETE.md](./PROJECT_DOCUMENTATION_COMPLETE.md) ⭐⭐⭐ 基于 **React 18** + **Vite** + **TypeScript** + **Zustand** + **TanStack Query** 的现代化后台管理系统。 --- ## 🚀 快速导航 ### 👉 唯一官方文档 **[PROJECT_DOCUMENTATION_COMPLETE.md](./PROJECT_DOCUMENTATION_COMPLETE.md)** ⭐⭐⭐ **包含内容:** - ✅ 完整技术栈说明 - ✅ 所有业务逻辑 - ✅ 文件结构详解 - ✅ 组件 API 文档 - ✅ 状态管理说明 - ✅ 路由配置 - ✅ 权限系统 - ✅ 错误处理 - ✅ 开发规范 - ✅ 重构总结 - ✅ 代码清理报告 - ✅ AI 快速上手指南 --- ## 🎯 技术栈 - **React 18** - 最新版本 - **Vite** - 快速构建工具 - **TypeScript** - 类型安全 - **Zustand** - 轻量级状态管理 - **TanStack Query (v5)** - 服务端状态管理 - **React Router v7** - 路由管理 - **Axios** - HTTP 客户端(带全局错误处理) - **Tailwind CSS** - 原子化 CSS - **shadcn/ui** - 高质量 UI 组件库 ## 📦 项目结构 **详细结构见:** [PROJECT_DOCUMENTATION_COMPLETE.md](./PROJECT_DOCUMENTATION_COMPLETE.md#项目结构) ``` wangsong-react-admin/ ├── src/ │ ├── api/ # API 接口定义 │ │ ├── auth.ts # 认证相关 API │ │ ├── user.ts # 用户相关 API │ │ ├── role.ts # 角色相关 API │ │ └── resources.ts # 权限相关 API │ ├── components/ # 组件(含 5 个通用组件 ⭐) │ │ ├── ui/ # UI 组件 + 通用组件 │ │ ├── auth/ # 认证组件 │ │ └── Layout.tsx # 布局组件 │ ├── config/ # 配置文件 │ │ └── index.ts # 全局配置 │ ├── hooks/ # 自定义 Hooks │ │ └── useAuth.ts # 认证 Hook │ ├── lib/ # 工具库 │ │ └── utils.ts # 工具函数 │ ├── pages/ # 页面组件 │ │ ├── HomePage.tsx │ │ ├── user/ # 用户管理 │ │ ├── role/ # 角色管理 │ │ └── resources/ # 权限管理 │ ├── providers/ # Provider 组件 │ │ └── AppProvider.tsx │ ├── router/ # 路由配置 │ │ └── index.tsx # 路由定义 │ ├── services/ # API 服务 │ │ └── api.ts # Axios 实例 │ ├── store/ # 状态管理 │ │ └── authStore.ts # 认证 Store │ ├── types/ # 类型定义 │ │ └── index.ts # 全局类型 │ ├── utils/ # 工具函数(含导航工具 ⭐) │ │ └── navigation.ts # 导航工具 ⭐ │ ├── App.tsx # 主应用组件 │ ├── main.tsx # 入口文件 │ └── index.css # 全局样式 ├── .eslintrc.cjs # ESLint 配置 ├── .prettierrc # Prettier 配置 ├── package.json ├── vite.config.js ├── tailwind.config.js ├── postcss.config.js └── tsconfig.json ``` ## 🚀 快速开始 ### 安装依赖 ```bash npm install ``` ### 启动开发服务器 ```bash npm run dev ``` 访问 http://localhost:5173 ### 构建生产版本 ```bash npm run build ``` ### 预览生产构建 ```bash npm run preview ``` ## ✅ 完成情况 ### 第 1 步:项目初始化与环境搭建 ✅ 已完成项目初始化: - ✅ Vite + React 18 + TypeScript 项目创建 - ✅ Zustand + TanStack Query + React Router 安装 - ✅ Tailwind CSS + shadcn/ui 配置 - ✅ 基础路由结构配置 - ✅ Axios + API 服务 + 环境变量配置 - ✅ API 接口定义(auth, user, role, resources) ### 第 2 步:状态管理与认证体系 ✅ 已完成认证体系构建: - ✅ Zustand Store 创建 (token, permissions) - ✅ 本地存储持久化实现 - ✅ TanStack Query 全局错误处理配置 - ✅ Axios 拦截器实现(Token 注入、登录异常处理) - ✅ 认证 Hook (useAuth) 创建 - ✅ 认证守卫组件 (AuthGuard) 实现 ### 第 3 步:登录页面 ✅ 已完成登录功能: - ✅ shadcn/ui Button、Input、Card 组件创建 - ✅ Login 登录表单组件实现 - ✅ 表单验证逻辑实现 - ✅ 集成 useAuth Hook 进行登录 - ✅ 登录成功跳转和错误提示 - ✅ ProtectedRoute 路由守卫实现 ### 第 4 步:布局组件 ✅ 已完成主框架布局: - ✅ Layout 主框架组件创建 - ✅ 侧边栏菜单实现(基于权限显示) - ✅ 顶栏和面包屑导航实现 - ✅ 用户下拉菜单(修改密码、退出) - ✅ DropdownMenu 组件实现 - ✅ 路由配置更新集成 Layout ### 第 5 步:用户管理模块 ✅ 已完成用户列表功能: - ✅ Table、Dialog UI 组件创建 - ✅ UserList 用户列表组件实现 - ✅ 集成 TanStack Query 获取用户数据 - ✅ 搜索和分页功能实现 - ✅ 删除用户功能实现 - ✅ UserAdd 新增用户表单实现 - ✅ UserEdit 编辑用户表单实现 - ✅ 权限控制集成 ## 📋 下一步计划 ### 第 2 步:状态管理与认证体系 - [ ] 创建 Zustand Store (token, permissions) - [ ] 实现本地存储持久化 - [ ] 配置 TanStack Query 全局错误处理 - [ ] 实现 Axios 拦截器 - [ ] 创建认证 Hook ### 第 3 步:登录页面 - [ ] Login 组件实现 - [ ] 表单验证 - [ ] 登录功能集成 ## 🔧 开发说明 ### 通用组件库 ⭐ 重要 **已创建 5 个通用组件,减少 455+ 行代码:** 1. **Pagination** - 分页组件 2. **ActionButtonGroup** - 操作按钮组 3. **TreeSelector** - 树形选择器 4. **FormPage** - 表单页面布局 5. **Navigation Utils** - 导航工具函数 **使用示例:** ```tsx import { Pagination, ActionButtonGroup, FormPage } from '@/components/ui' import { navigateToAdd } from '@/utils/navigation' // 列表页 // 表单页 {/* 表单内容 */} ``` **详细文档:** [PROJECT_DOCUMENTATION_COMPLETE.md](./PROJECT_DOCUMENTATION_COMPLETE.md#通用组件库) --- ### API 调用 所有 API 接口已定义在 `src/api` 目录下,使用 Axios 进行 HTTP 请求。 **全局错误处理**: - ✅ 401/403 错误自动跳转到登录页 - ✅ 友好的错误提示 - ✅ 统一的错误处理工具函数 详见:[PROJECT_DOCUMENTATION_COMPLETE.md](./PROJECT_DOCUMENTATION_COMPLETE.md#错误处理) ### 环境变量 修改 `src/config/index.ts` 中的 `API_BASE_URL` 来配置后端 API 地址。 当前配置:`http://127.0.0.1:8081` ## 📝 脚本命令 | 命令 | 说明 | |------|------| | `npm run dev` | 启动开发服务器 | | `npm run build` | 构建生产版本 | | `npm run preview` | 预览生产构建 | ## 🎨 UI 组件 项目使用 shadcn/ui 组件库,提供以下基础组件: - Button - Input - Form - Table - Dialog - Card - ...更多组件将在后续步骤中添加 ## 📄 License ISC