
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
https://img.shields.io/github/stars/YangShengzhou03/LeafBoss?style=for-the-badge&logo=github](https://github.com/YangShengzhou03/LeafBoss/stargazers) https://img.shields.io/github/forks/YangShengzhou03/LeafBoss?style=for-the-badge&logo=github](https://github.com/YangShengzhou03/LeafBoss/network/members) https://img.shields.io/github/issues/YangShengzhou03/LeafBoss?style=for-the-badge&logo=github](https://github.com/YangShengzhou03/LeafBoss/issues) https://img.shields.io/github/license/YangShengzhou03/LeafBoss?style=for-the-badge](https://github.com/YangShengzhou03/LeafBoss/blob/main/LICENSE) https://img.shields.io/badge/Vue.js-3.4.0-42b883?style=for-the-badge&logo=vuedotjs](https://vuejs.org/) https://img.shields.io/badge/Spring%20Boot-3.1.0-6DB33F?style=for-the-badge&logo=springboot](https://spring.io/projects/spring-boot)
一个现代化的业务运营支撑系统,采用前后端分离架构
快速开始 • 功能特性 • 在线演示 • API文档
LeafBoss 是一个功能完善的业务运营支撑系统,提供了全方位的业务管理功能。系统支持完整的卡密生命周期管理,包括卡密的批量生成、导出、验证、激活和禁用等操作,让卡密管理变得简单高效。产品管理模块支持产品信息维护和多规格配置,可以灵活定义不同产品的属性和特性。规格管理功能允许管理员灵活定义各种授权方案,支持不同时长和价格组合的规格配置,满足多样化的业务需求。
公司管理模块提供了公司信息的完整维护功能,包括公司基本信息、状态管理以及评论统计等功能,帮助企业更好地了解客户反馈。评论管理系统支持用户评论的查看和管理,管理员可以按公司和卡密进行筛选评论,并可以对不当评论进行删除处理。人员管理方面,系统提供了管理员账户管理和客户用户管理两大模块,支持权限控制、状态管理以及用户查询和筛选等操作,确保系统的安全性和可管理性。
数据统计功能提供了可视化的数据报表,可以实时监控系统的使用情况,包括卡密库存分布、当日销量统计、月度营收对比以及详细的操作日志审计,为管理决策提供数据支持。操作日志模块记录了系统中的所有关键操作(登录、卡密、产品、规格、用户等),提供完整的操作审计功能,支持多维度查询和清空管理,保障系统的安全性。系统采用 JWT Token 认证机制,确保用户身份的安全验证,同时支持响应式设计,可以在 PC、平板、手机等多种设备上正常使用,基于 Spring Boot 3 和 Vue 3 的现代化架构保证了系统的稳定性和响应速度。
系统默认提供了一个管理员账户,***为 ***,密码为 ***,使用这个账户可以登录系统并访问所有管理功能。
LeafBoss 采用经典的三层架构设计,包括前端界面层、后端服务层和数据存储层。前端界面层使用 Vue 3 和 Element Plus 构建,提供友好的用户交互界面,支持组件化开发和响应式设计,确保在不同设备上都有良好的用户体验。后端服务层基于 Spring Boot 3 框架,使用 MyBatis Plus 进行数据访问,采用 JWT Token 进行用户认证,提供完整的业务逻辑处理和事务管理功能。数据存储层使用 MySQL 8.0 数据库,通过 Repository 模式进行数据映射和持久化操作,确保数据的安全性和一致性。
前端技术栈包括 Vue 3.4.0 作为渐进式 JavaScript 框架,Element Plus 2.4.0 作为基于 Vue 3 的 UI 组件库,Vue Router 4.2.0 作为官方路由管理器,Axios 1.6.0 作为 HTTP 客户端库,Sass 1.69.0 作为 CSS 预处理器。后端技术栈包括 Spring Boot 3.1.0 作为 Java 企业级开发框架,MyBatis Plus 3.5.4.1 作为数据持久层框架,MySQL 8.0.33 作为关系型数据库,Maven 3.6+ 作为项目构建工具,Java 17.0+ 作为开发语言,JWT 0.11.5 作为 JSON Web Token 认证工具。
项目结构分为前端和后端两个主要部分。前端项目包含 public 静态资源目录和 src 源代码目录,src 目录下包含 components 公共组件、views 页面组件、route 路由配置、services API 服务和 utils 工具函数等模块。后端项目包含 src/main/java Java 源代码目录和 src/main/resources 资源文件目录,Java 源代码目录下包含 controller 控制器层、service 服务层、mapper 数据访问层、entity 实体类、dto 数据传输对象、config 配置类、common 公共类和 utils 工具类等模块。这种清晰的分层架构使得系统易于维护和扩展。
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐ │ 前端界面层 │ │ 后端服务层 │ │ 数据存储层 │ │ │ │ │ │ │ │ Vue 3 + │◄──►│ Spring Boot 3 │◄──►│ MySQL 8.0 │ │ Element Plus │ │ MyBatis Plus + JWT │ │ │ │ │ │ │ │ │ └─────────────────┘ └─────────────────┘ └─────────────────┘ │ │ │ │ │ │ ▼ ▼ ▼ ┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐ │ 用户交互层 │ │ 业务逻辑层 │ │ 数据持久层 │ │ │ │ │ │ │ │ 组件化开发 │ │ 服务层封装 │ │ Repository │ │ 响应式设计 │ │ 事务管理 │ │ 数据映射 │ └─────────────────┘ └─────────────────┘ └─────────────────┘
前端开发需要进入 frontend 目录,首先执行 npm install 安装项目依赖,然后可以使用 npm run serve 启动开发服务器,开发服务器支持热重载功能,修改代码后会自动刷新页面。开发过程中可以使用 npm run lint 进行代码检查,确保代码质量符合规范。开发完成后,执行 npm run build 构建生产版本,构建结果会生成在 dist 目录中,可以部署到生产环境。如果项目包含测试用例,还可以使用 npm run test 运行测试。
后端开发需要进入 backend 目录,使用 Maven 进行项目管理和构建。执行 mvn clean compile 可以编译项目,检查代码是否有编译错误。使用 mvn spring-boot:run 可以直接运行应用程序,适合开发调试。执行 mvn clean package 可以打包项目,生成可执行的 jar 文件,用于生产环境部署。如果项目包含测试用例,可以使用 mvn test 运行测试,确保代码质量。系统使用 MyBatis Plus 进行数据访问,首次启动时需要创建数据库并执行初始化脚本,系统会自动创建所需的数据表和初始管理员账户。
LeafBoss 提供了完整的 RESTful API 接口,详细的 API 接口文档请参考 API_DOCUMENTATION.md 文件。认证接口支持用户登录,通过 POST /api/auth/login 接口提交***和密码,成功后返回 JWT Token,后续请求需要在请求头中携带该 Token。卡密管理接口包括获取卡密列表、创建卡密、验证卡密等功能,支持分页查询和条件筛选。产品管理接口提供产品的增删改查功能,支持产品信息的完整管理。
系统还提供了公共接口,无需认证即可访问。例如验证卡密有效性接口可以通过 GET /api/public/card-keys/verify/{key} 访问,系统会自动验证卡密并激活,成功后返回产品信息。管理员登录获取令牌可以使用 curl 命令发送 POST 请求到 /api/auth/login 接口,携带***和密码信息。获取产品列表需要先登录获取 Token,然后在请求头中添加 Authorization: Bearer YOUR_JWT_TOKEN,通过 GET /api/products 接口获取产品列表。
生产环境部署分为前端部署、后端部署、数据库部署三个部分。均可通过docker直接进行部署。
系统支持使用 Docker 进行容器化部署,可以简化部署流程并提高部署效率。前端 Dockerfile 使用 nginx:alpine 作为基础镜像,将构建好的 dist 目录复制到 nginx 的 html 目录中,提供静态文件服务。后端 Dockerfile 使用 openjdk:17-alpine 作为基础镜像,将打包好的 jar 文件复制到容器中,设置启动命令运行应用程序。使用 Docker 部署可以确保环境的一致性,方便在不同环境中迁移和扩展系统。
使用 Docker Hub 镜像部署(含 HTTPS 配置)
LeafBoss 已在 Docker Hub 发布预构建镜像,可直接拉取使用。镜像仓库地址:yangshengzhou/leafboss,包含前端、后端、HTTPS 代理镜像。
1.1 拉取核心业务镜像
bashdocker pull yangshengzhou/leafboss:frontend-v1 docker pull yangshengzhou/leafboss:backend-v1 docker pull yangshengzhou/leafboss:https-nginx-v1
1.2 创建专属 Docker 网络
为容器间通信提供隔离环境,避免端口冲突:
bashdocker network create leafboss-network
2.1 部署 MySQL 数据库
先进入包含 data.sql 初始化脚本的目录,再启动容器:
bashcd ~/leaf-boss docker run -d \ --name leafboss-mysql \ --network leafboss-network \ --restart always \ -e MYSQL_ROOT_PASSWORD=123456 \ -e MYSQL_DATABASE=leaf_boss \ -p 3306:3306 \ mysql:8.0
等待 30-60 秒(MySQL 启动完成),执行数据库初始化:
bashdocker exec -i leafboss-mysql mysql -uroot -p123456 < data.sql
2.2 启动后端服务
bashdocker run -d \ --name leafboss-backend \ --network leafboss-network \ --restart always \ -p 8081:8081 \ yangshengzhou/leafboss:backend-v1
2.3 启动前端服务
前端 80 端口仅在容器内网生效,宿主机 80/443 由 HTTPS 代理容器独占:
bashdocker run -d \ --name leafboss-frontend \ --network leafboss-network \ --restart always \ yangshengzhou/leafboss:frontend-v1
2.4 部署 HTTPS 代理服务(全站加密核心)
准备 SSL 证书文件。将证书文件(jasun.xyz_certificate.pem)和私钥文件(jasun.xyz_private.key)复制到服务器的 ~/ssl 目录中,然后执行以下命令:
bashcd ~/ssl docker run -d \ --name leafboss-https-nginx \ --network leafboss-network \ --restart always \ -p 80:80 \ -p 443:443 \ -v $(pwd)/jasun.xyz_certificate.pem:/etc/nginx/ssl/jasun.xyz_certificate.pem \ -v $(pwd)/jasun.xyz_private.key:/etc/nginx/ssl/jasun.xyz_private.key \ yangshengzhou/leafboss:https-nginx-v1
https://你的域名(如 https://jasun.xyz),http://服务器IP 会自动跳转到 HTTPS;admin@qq.com,密码 123456;Up 状态):
示例输出:bashdocker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 6f9d9092fbdf yangshengzhou/leafboss:https-nginx-v1 "/docker-entrypoint.…" 5 minutes ago Up 5 minutes 0.0.0.0:80->80/tcp, :::80->80/tcp, 0.0.0.0:443->443/tcp, :::443->443/tcp leafboss-https-nginx b40859ed1f4c yangshengzhou/leafboss:frontend-v1 "/docker-entrypoint.…" 6 minutes ago Up 6 minutes 80/tcp leafboss-frontend 6a161ec18d37 yangshengzhou/leafboss:backend-v1 "java -jar /app/app.…" 7 minutes ago Up 7 minutes 0.0.0.0:8081->8081/tcp, :::8081->8081/tcp leafboss-backend a496bc249a22 mysql:8.0 "docker-entrypoint.s…" 7 minutes ago Up 7 minutes 0.0.0.0:3306->3306/tcp, :::3306->3306/tcp, 33060/tcp leafboss-mysql
4.1 查看容器网络配置
bashdocker network inspect leafboss-network
4.2 停止/删除所有容器
bash# 停止容器(包含 HTTPS 代理容器) docker stop leafboss-https-nginx leafboss-frontend leafboss-backend leafboss-mysql # 删除容器 docker rm leafboss-https-nginx leafboss-frontend leafboss-backend leafboss-mysql
4.3 删除 Docker 网络
bashdocker network rm leafboss-network
环境变量配置
后端服务支持以下环境变量配置:
| 环境变量 | 说明 | 默认值 |
|---|---|---|
| SPRING_DATASOURCE_URL | 数据库连接地址 | jdbc:mysql://localhost:3306/leaf_boss |
| SPRING_DATASOURCE_USERNAME | 数据库用户名 | root |
| SPRING_DATASOURCE_PASSWORD | 数据库密码 | *** |
| JWT_SECRET | JWT 密钥 | leaf-boss-secret-key-for-jwt-token-generation |
| JWT_EXPIRATION | JWT 过期时间(毫秒) | 86400000 |
| SERVER_PORT | 服务器端口 | 8081 |
故障排查
MySQL 连接失败
检查 MySQL 容器是否正常运行:
bashdocker logs leafboss-mysql
后端启动失败
检查后端容器日志:
bashdocker logs leafboss-backend
前端无法访问后端
确认所有容器都在同一个网络中:
bashdocker network inspect leafboss-network
数据库初始化失败
确保 data.sql 文件在正确的位置,并且 MySQL 容器有权限访问该文件。
我们欢迎任何形式的贡献,包括代码贡献、文档改进、问题反馈等。参与贡献的流程包括:首先 Fork 本仓库到自己的 GitHub 账户,然后新建功能分支,使用 git checkout -b feature/AmazingFeature 命令创建分支。在分支上进行开发,完成后使用 git commit -m 'Add some AmazingFeature' 提交代码,提交信息应该清晰描述所做的修改。然后使用 git push origin feature/AmazingFeature 将分支推送到自己的仓库,最后在 GitHub 上新建 Pull Request,等待项目维护者审核和合并代码。贡献代码时应该遵循项目的代码规范,编写清晰的提交信息,添加适当的测试用例,并更新相关文档。
LeafBoss 项目经历了多次版本迭代,不断完善和优化系统功能。v2.0.0 版本于 2026-01-18 发布,主要特性是将 LeafCard 升级为 LeafBoss 业务运营支撑系统,重构了系统架构,扩展为全面的业务运营支撑系统。v1.0.0 版本于 2024-10-27 发布,标志着 LeafCard 业务运营支撑系统正式上线,提供了基础的用户认证、卡密管理和数据统计功能。
v2.0.0 版本(2026-01-18)是系统的一次重大升级,系统从 LeafCard 升级为 LeafBoss 业务运营支撑系统,重构了系统架构,扩展为全面的业务运营支撑系统。更新了所有文档和配置文件,优化了 UI 设计,提升了用户体验。增强了安全验证机制,新增了人员管理模块,支持管理员和普通用户管理,优化了产品规格管理功能,使系统更加完善和易用。
v1.0.0 版本(2024-10-27)是系统的首次正式发布,LeafCard 业务运营支撑系统正式上线,提供了完整的用户认证系统、基础卡密管理功能和基础数据统计功能,为用户提供了基本的业务运营支撑能力。
LeafBoss 项目的开发历程可以追溯到 2024 年 1 月,当时基于对现有业务运营支撑系统的分析,构思开发一个轻量级、易用的业务运营支撑系统。2024 年 2 月进行了技术选型,确定使用 Vue 3 + Spring Boot 3 的技术栈,开始系统架构设计。2024 年 3 月到 7 月进行了核心开发,完成了前后端核心功能开发,包括密钥管理、用户管理、权限控制等功能。2024 年 10 月 27 日 LeafCard 业务运营支撑系统正式上线,开始为用户提供服务。2026 年 1 月 18 日系统升级为 LeafBoss 业务运营支撑系统,支撑全面的业务运营需求。
本项目采用 GNU Affero General Public License v3.0 许可证,这是一种开源许可证,确保用户可以自由使用、修改和分发代码。查看 LICENSE 文件可以了解许可证的详细条款和条件。
如果您在使用 LeafBoss 过程中遇到任何问题,或者有任何建议和意见,欢迎通过以下方式联系我们。GitHub 仓库地址是 https://github.com/YangShengzhou03/LeafBoss%EF%BC%8C%E6%82%A8%E5%8F%AF%E4%BB%A5%E5%9C%A8%E4%BB%93%E5%BA%93%E4%B8%AD%E6%9F%A5%E7%9C%8B%E6%BA%90%E4%BB%A3%E7%A0%81%E3%80%81%E6%8F%90%E4%BA%A4%E9%97%AE%E9%A2%98%E6%88%96%E5%8F%82%E4%B8%8E%E8%B4%A1%E7%8C%AE%E3%80%82%E9%97%AE%E9%A2%98%E5%8F%8D%E9%A6%88%E5%8F%AF%E4%BB%A5%E9%80%9A%E8%BF%87 GitHub Issues 进行,我们会及时回复和处理您的问题。***地址是 ***,您可以通过邮件与我们联系。项目主页也是 https://github.com/YangShengzhou03/LeafBoss%EF%BC%8C%E6%AC%A2%E8%BF%8E%E8%AE%BF%E9%97%AE%E4%BA%86%E8%A7%A3%E6%9B%B4%E5%A4%9A%E4%BF%A1%E6%81%AF%E3%80%82
!https://img.shields.io/github/last-commit/YangShengzhou03/LeafBoss?style=flat-square !https://img.shields.io/github/contributors/YangShengzhou03/LeafBoss?style=flat-square !https://img.shields.io/github/repo-size/YangShengzhou03/LeafBoss?style=flat-square
感谢使用 LeafBoss!
如果这个项目对您有帮助,请给个 Star 支持一下!
![Star History Chart]([***]
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务