# deui_admin_node **Repository Path**: czsc/deui_admin_node ## Basic Information - **Project Name**: deui_admin_node - **Description**: No description available - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-03-31 - **Last Updated**: 2026-03-31 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # NodeWeb 企业级管理系统 一个基于 Nuxt 3 + Prisma 构建的现代化企业级后台管理系统,提供完整的用户管理、角色权限、菜单配置等功能。 ## 项目截图 ### 登录页面 ![登录页面](./screenshots/login.png) ### 系统首页 ![系统首页](./screenshots/dashboard.png) ### 用户管理 ![用户管理](./screenshots/user.png) ### 角色管理 ![角色管理](./screenshots/role.png) ### 菜单管理 ![菜单管理](./screenshots/menu.png) ## 技术栈 ### 前端技术 | 技术 | 说明 | 版本 | |------|------|------| | [Nuxt 3](https://nuxt.com/) | Vue.js 全栈框架 | 3.21+ | | [Vue 3](https://vuejs.org/) | 渐进式 JavaScript 框架 | 3.5+ | | [Tailwind CSS](https://tailwindcss.com/) | 原子化 CSS 框架 | 3.4+ | | [Pinia](https://pinia.vuejs.org/) | Vue 状态管理 | 内置 | ### 后端技术 | 技术 | 说明 | 版本 | |------|------|------| | [Prisma](https://www.prisma.io/) | 下一代 ORM | 5.22+ | | [JWT](https://jwt.io/) | 身份认证令牌 | - | | [bcryptjs](https://github.com/dcodeIO/bcrypt.js) | 密码加密 | - | ### 数据库 - 支持 MySQL / PostgreSQL / SQLite - 使用 Prisma ORM 连接外部数据库服务 - 提供 SQL 初始化文件:`database/init.sql` ## 功能特性 ### 核心功能 - ✅ **用户管理** - 用户的增删改查、状态管理、密码重置 - ✅ **角色管理** - 角色配置、权限分配(菜单权限、接口权限) - ✅ **菜单管理** - 动态菜单配置、树形结构展示、图标配置 - ✅ **接口管理** - API 接口权限配置 - ✅ **操作日志** - 用户操作记录追踪 - ✅ **个人中心** - 个人信息修改、密码修改 ### 系统特性 - 🔐 **权限控制** - 基于角色的访问控制(RBAC) - 🎨 **响应式布局** - 左侧菜单 + 顶部标签页 - 🌙 **现代 UI** - 简洁大气的界面设计 - 🔄 **状态持久化** - Cookie 存储,刷新保持登录 - 📱 **多标签页** - 支持多页面切换,可关闭 ## 项目结构 ``` nodeweb/ ├── composables/ # 组合式函数 │ ├── useAuth.js # 认证状态管理 │ ├── useApi.js # API 请求封装 │ └── useTabs.js # 标签页管理 ├── layouts/ # 布局组件 │ ├── default.vue # 默认布局(带菜单) │ └── blank.vue # 空白布局 ├── pages/ # 页面组件 │ ├── index.vue # 首页 │ ├── login.vue # 登录页 │ ├── register.vue # 注册页 │ ├── profile.vue # 个人中心 │ └── system/ # 系统管理 │ ├── user.vue # 用户管理 │ ├── role.vue # 角色管理 │ ├── menu.vue # 菜单管理 │ ├── api.vue # 接口管理 │ └── log.vue # 操作日志 ├── server/ # 服务端 │ ├── api/ # API 接口 │ │ ├── auth/ # 认证相关 │ │ ├── users/ # 用户接口 │ │ ├── roles/ # 角色接口 │ │ ├── menus/ # 菜单接口 │ │ ├── apis/ # 接口管理 │ │ └── logs/ # 日志接口 │ └── utils/ # 工具函数 ├── prisma/ # 数据库 │ ├── schema.prisma # 数据模型 │ └── seed.js # 初始数据 ├── plugins/ # 插件 │ └── auth.js # 认证插件 ├── middleware/ # 中间件 │ └── auth.js # 认证中间件 └── public/ # 静态资源 ``` ## 快速开始 ### 环境要求 - Node.js >= 18.x - pnpm >= 8.x(推荐)或 npm / yarn - MySQL / PostgreSQL / SQLite ### 安装依赖 ```bash pnpm install ``` ### 配置环境变量 复制 `.env.example` 为 `.env` 并修改配置: ```bash cp .env.example .env ``` 编辑 `.env` 文件: ```env # 数据库连接 DATABASE_URL="mysql://user:password@localhost:3306/nodeweb" # JWT 密钥 JWT_SECRET="your-jwt-secret-key" ``` ### 初始化数据库 **方式一:使用 Prisma(推荐)** ```bash # 生成 Prisma 客户端 pnpm prisma generate # 同步数据库结构 pnpm prisma db push # 导入初始数据(管理员账号等) pnpm prisma db seed ``` **方式二:使用 SQL 文件** ```bash # PostgreSQL psql -U postgres -d nodeweb -f database/init.sql # MySQL mysql -u root -p nodeweb < database/init.sql ``` > 注意:SQL 文件中的管理员密码需要通过 `npx bcryptjs hash "admin123"` 生成后替换 ### 启动开发服务器 ```bash pnpm dev ``` 访问 http://localhost:3000 ### 默认管理员账号 - 用户名:`admin` - 密码:`admin123` ## 生产部署 ### 构建 ```bash pnpm build ``` ### 启动 ```bash pnpm start ``` ### 环境变量(生产) ```env DATABASE_URL="mysql://user:password@localhost:3306/nodeweb" JWT_SECRET="your-production-jwt-secret" NUXT_PUBLIC_APP_URL="https://your-domain.com" ``` ## 开发计划 - [ ] 数据字典管理 - [ ] 部门组织架构 - [ ] 岗位管理 - [ ] 在线用户监控 - [ ] 系统配置管理 - [ ] 消息通知 - [ ] 文件管理 - [ ] 定时任务 ## 贡献指南 欢迎提交 Issue 和 Pull Request! ## 开源协议 [MIT License](./LICENSE) ## 联系方式 如有问题或建议,欢迎提交 Issue。