# panel-tools **Repository Path**: ziangu/panel-tools ## Basic Information - **Project Name**: panel-tools - **Description**: 一个功能强大的导航面板管理系统,支持自定义图标、分组管理、公开模式等功能。 - **Primary Language**: Unknown - **License**: AGPL-3.0 - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-05-14 - **Last Updated**: 2026-06-18 ## Categories & Tags **Categories**: Uncategorized **Tags**: 导航, 书签 ## README # Panel-Tools 一个功能强大的导航面板管理系统,支持自定义图标、分组管理、公开模式等功能。 ![项目预览](doc/assets/2026-05-23_20.33.58.png) ![项目预览](doc/assets/2026-05-23_20.34.23.png) ![项目预览](doc/assets/2026-05-23_20.22.11.png) ## 项目简介 Panel-Tools 是一个基于 [Sun-Panel](https://gitee.com/hslr/sun-panel) 开源版本进行二次开发的现代化导航面板管理系统,基于 Vue 3 和 FastAPI 构建,提供了丰富的自定义功能和灵活的配置选项。 ### 主要特性 - 🎨 **自定义图标**: 支持文字图标、图片图标、在线图标,新增对豆包、DeepSeek、千问等AI平台图标兼容 - 📁 **分组管理**: 灵活的分组系统,支持隐藏描述、公开模式等 - 👥 **用户管理**: 多用户支持,角色权限管理 - 🖼️ **图库管理**: 本地图库和公开图库 - 🔓 **公开模式**: 支持公开访问和私有模式 - 📤 **导入导出**: 支持配置的导入导出功能 - 🎯 **拖拽排序**: 直观的拖拽排序功能 - 🌐 **多语言**: 支持中英文切换 - ⏰ **节假日倒计时**: 支持法定节假日获取与倒计时展示 ## 技术栈 ### 前端 - **框架**: Vue 3 + TypeScript - **UI 库**: Naive UI - **状态管理**: Pinia - **路由**: Vue Router - **构建工具**: Vite - **样式**: Tailwind CSS + Less - **国际化**: Vue I18n ### 后端 - **框架**: FastAPI - **数据库**: SQLite - **ORM**: SQLAlchemy - **数据验证**: Pydantic - **认证**: JWT (python-jose) - **密码加密**: Passlib ## 功能特性 ### 核心功能 - 🎨 **自定义图标**: 支持文字图标、图片图标、在线图标 - 📁 **分组管理**: 灵活的分组系统,支持隐藏描述、公开模式等 - 👥 **用户管理**: 多用户支持,角色权限管理 - 🖼️ **图库管理**: 本地图库和公开图库 - 🔓 **公开模式**: 支持公开访问和私有模式 - 📤 **导入导出**: 支持配置的导入导出功能 - 🎯 **拖拽排序**: 直观的拖拽排序功能 - 🌐 **多语言**: 支持中英文切换 ### 高级功能 - 🎭 **自定义样式**: 支持自定义 JS 和 CSS - 📊 **系统监控**: CPU、内存、磁盘监控 - 🔍 **搜索引擎**: 自定义搜索引擎 - ⏰ **时钟组件**: 可配置的时钟显示 - 📱 **响应式设计**: 完美适配各种设备 - 🎨 **主题定制**: 丰富的主题配置选项 - 📅 **节假日倒计时**: 支持获取法定节假日并展示倒计时 ## 快速开始 ### 环境要求 - Node.js >= 18 - Python >= 3.8 - npm 或 pnpm ### 安装步骤 1. **克隆项目** ```bash git clone https://gitee.com/ziangu/panel-tools.git cd panel-tools ``` 2. **安装后端依赖** ```bash cd backend pip install -r requirements.txt ``` 3. **安装前端依赖** ```bash cd client npm install # 或使用 pnpm pnpm install ``` 4. **启动后端服务** ```bash cd backend python -m uvicorn main:app --host 0.0.0.0 --port 8080 ``` 5. **启动前端服务** ```bash cd client npm run dev # 或使用 pnpm pnpm dev ``` 6. **访问应用** 打开浏览器访问 `http://localhost:5173` 默认账号: - 用户名: `admin` - 密码: `admin123..` ### Docker 部署 ```bash # 构建镜像 docker build -t panel-tools . # 运行容器 docker run -d -p 8080:8080 -p 5173:5173 panel-tools ``` ## 项目结构 ``` panel-tools/ ├── backend/ # 后端代码 │ ├── app/ │ │ ├── models/ # 数据模型 │ │ ├── routes/ # 路由 │ │ ├── schemas/ # 数据验证 │ │ └── utils/ # 工具函数 │ ├── main.py # 后端入口 │ └── requirements.txt # Python 依赖 ├── client/ # 前端代码 │ ├── src/ │ │ ├── api/ # API 接口 │ │ ├── components/ # 组件 │ │ ├── views/ # 页面 │ │ ├── store/ # 状态管理 │ │ └── utils/ # 工具函数 │ ├── custom/ # 自定义资源 │ │ ├── index.js # 自定义 JS │ │ └── index.css # 自定义 CSS │ └── package.json # 前端依赖 └── doc/ # 文档 ├── assets/ # 文档资源(截图等) ├── README.md # 项目说明 ├── 使用手册.md # 使用手册 ├── 开发文档.md # 开发文档 └── 自定义开发指南.md # 自定义开发指南 ``` ## 配置说明 ### 后端配置 在 `backend/.env` 文件中配置: ```env APP_NAME=panel-tools API_PREFIX=/api DB_URL=sqlite:///./panel-tools.db SECRET_KEY=your-secret-key-here ALGORITHM=HS256 ACCESS_TOKEN_EXPIRE_MINUTES=30 SOURCE_PATH=/upload ``` ### 前端配置 在 `client/config/index.ts` 中配置 API 地址: ```typescript export const API_BASE_URL = 'http://localhost:8080/api' ``` ## 开发指南 ### 添加新功能 1. **后端** - 在 `backend/app/models/` 中定义数据模型 - 在 `backend/app/schemas/` 中定义请求/响应模型 - 在 `backend/app/routes/` 中实现路由 2. **前端** - 在 `client/src/api/` 中添加 API 接口 - 在 `client/src/components/` 中创建组件 - 在 `client/src/views/` 中创建页面 ### 自定义样式和脚本 详见 [自定义开发指南.md](doc/自定义开发指南.md) ## 常见问题 ### 1. 端口被占用 修改 `backend/main.py` 和 `client/vite.config.ts` 中的端口配置。 ### 2. 数据库连接失败 检查 `backend/.env` 中的 `DB_URL` 配置。 ### 3. 图标不显示 检查图标路径是否正确,确保图标文件存在。 ### 4. 节假日数据不显示 确保已在全局设置页面获取法定节假日数据。 ## 贡献指南 欢迎提交 Issue 和 Pull Request! ## 联系方式 - 作者: 顾子鞍 - 邮箱: gza5210@163.com - Gitee: https://gitee.com/ziangu/panel-tools ## 更新日志 ### v1.0.14 (2026-05-23) - 优化图标获取功能,增加对豆包、DeepSeek、千问等AI平台的兼容 - 添加节假日倒计时卡片组件,支持堆叠循环展示 - 修复倒计时计算逻辑错误 - 将"获取法定节假日"按钮迁移至全局设置页面 - 修复组件市场内置组件节假日倒计时卡片拖拽问题 ### v1.0.13 (2026-05-19) - 初始版本发布 - 支持基本的导航面板功能 - 支持自定义图标和分组 - 支持公开模式和用户管理