You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
1 month ago | |
|---|---|---|
| .sonarlint | 2 months ago | |
| android | 1 month ago | |
| backend | 1 month ago | |
| cli | 1 month ago | |
| core | 1 month ago | |
| docs | 1 month ago | |
| gradle/wrapper | 2 months ago | |
| gui | 1 month ago | |
| launcher | 1 month ago | |
| scripts | 2 months ago | |
| .gitignore | 2 months ago | |
| Jenkinsfile | 1 month ago | |
| README.md | 1 month ago | |
| build-dist.bat | 1 month ago | |
| build.gradle | 2 months ago | |
| datasource.properties | 1 month ago | |
| gradle.properties | 2 months ago | |
| gradlew.bat | 2 months ago | |
| launcher.bat | 1 month ago | |
| local.properties | 2 months ago | |
| settings.gradle | 1 month ago | |
| sonar-project.properties | 1 month ago | |
README.md
MCSLMS - 多客户端智能图书馆管理系统
Multi-Client Smart Library Management System
项目概述
MCSLMS 是一个现代化的图书馆管理系统,支持四种客户端界面:
- CLI - 命令行界面
- GUI - 图形用户界面 (JavaFX)
- Web - 浏览器访问 (Spring Boot)
- Android - 移动应用
快速开始
1. 启动应用
最简单的方式是使用统一启动器:
# Windows
start.bat
# 或直接运行
scripts\run-launcher.bat
启动器会显示菜单,让你选择要使用的客户端。
2. 构建所有模块
scripts\build-all.bat
3. 单独启动客户端(统一项目,无需切换分支)
# CLI 客户端
gradlew :cli:run
# GUI 客户端
gradlew :gui:run
# Web 客户端
gradlew :backend:bootRun
# Android 客户端
gradlew :android:assembleDebug
adb install android/build/outputs/apk/debug/mcslms-debug.apk
4. 四端丝滑切换
所有客户端在同一项目中,可以直接切换:
- CLI中输入
gui或web命令切换 - GUI菜单选择"切换到CLI"或"切换到Web"
- Web首页点击其他客户端卡片查看启动方式
- Android菜单"切换平台"可跳转Web或查看CLI/GUI说明
4. 默认账号
系统会在首次运行时自动创建一个默认管理员账号,方便登录和审核新用户:
- 管理员邮箱:
admin@library.com - 初始密码:
admin123 - 角色:
ADMIN
建议在首次登录后及时修改管理员密码,并通过“用户管理/审核”功能为读者创建正式账号。
项目结构
MCSLMS/
├── core/ # 核心业务逻辑模块
├── cli/ # CLI 客户端
├── gui/ # GUI 客户端
├── backend/ # 后端服务(Web)
├── android/ # Android 客户端
├── launcher/ # 统一启动器
├── docs/ # 项目文档
│ ├── architecture/ # 架构设计
│ ├── guides/ # 使用指南
│ ├── development/ # 开发文档
│ ├── deployment/ # 部署文档
│ └── reports/ # 测试报告
├── scripts/ # 构建和运行脚本
├── data/ # 数据文件
├── config/ # 配置文件
├── .jenkins/ # Jenkins 配置
├── start.bat # 主启动脚本
└── README.md # 本文件
功能特性
基础功能
- ✅ 图书管理(增删改查)
- ✅ 借阅管理
- ✅ 用户管理
- ✅ 借阅记录查询
智能功能(开发中)
- 🔄 AI 图书推荐
- 🔄 智能搜索
- 🔄 语音交互
- 🔄 图书摘要生成
四端切换
- ✅ 统一启动器
- ✅ 客户端间切换
- ✅ 会话保持
技术栈
- 语言: Java 21, Kotlin
- 构建工具: Gradle 8.5
- 数据库: SQLite (开发), PostgreSQL (生产)
- 前端框架: JavaFX, Spring Boot + Thymeleaf
- 移动端: Android SDK 34 (Android 14)
- CI/CD: Jenkins, SonarQube
- 版本控制: Git, Gitea
开发指南
环境要求
- JDK 21+
- Gradle 8.5+
- Android SDK (用于 Android 客户端)
构建命令
# 构建所有模块
./gradlew build
# 构建特定模块
./gradlew :core:build
./gradlew :cli:build
./gradlew :gui:build
./gradlew :android:assembleDebug
# 打包可执行 JAR(推荐使用 --no-daemon 避免端口占用)
./gradlew :cli:fatJar -x test --no-daemon
./gradlew :gui:fatJar -x test --no-daemon
./gradlew :launcher:fatJar -x test --no-daemon
四端运行指南
CLI 命令行客户端
# 1. 构建
.\gradlew.bat :cli:fatJar -x test --no-daemon
# 2. 运行(直接运行JAR,避免gradle run的调试端口问题)
GUI 图形界面客户端
# 1. 构建
.\gradlew.bat :gui:fatJar -x test --no-daemon
# 2. 运行
java -jar gui/build/libs/mcslms-gui-v1.11.0.0-all.jar
Web 后端服务
# 1. 构建
.\gradlew.bat :backend:bootJar -x test --no-daemon
# 2. 运行
java -jar backend/build/libs/mcslms-backend-v1.11.0.0.jar
# 3. 访问
# 浏览器打开 http://localhost:8082
Android 移动客户端
# 1. 构建 APK
.\gradlew.bat :android:assembleDebug -x test --no-daemon
# 2. APK 位置
# android/build/outputs/apk/debug/android-debug.apk
# 3. 安装到设备
adb install android/build/outputs/apk/debug/android-debug.apk
快速登录测试账号
四端应用均支持快速登录功能,内置三个测试账号:
| 角色 | 邮箱 | 密码 | 权限 |
|---|---|---|---|
| 👨🏫 教师 | teacher@test.com | 123456 | 馆员权限(可审核用户) |
| 👨🎓 学生 | student@test.com | 123456 | 读者权限 |
| 👤 访客 | guest@test.com | 123456 | 读者权限 |
在登录界面点击对应的快速登录按钮即可一键登录。
运行测试
# 运行所有测试
./gradlew test
# 运行特定模块测试
./gradlew :core:test
./gradlew :cli:test
文档
详细文档位于 docs/ 目录,查看 文档中心 获取完整索引。
快速链接:
架构设计
系统采用分层架构:
┌─────────────────────────────────────────┐
│ Client Applications (四端) │
│ CLI │ GUI │ Web │ Android │
└─────────────────────────────────────────┘
↓
┌─────────────────────────────────────────┐
│ Core Module (核心模块) │
│ - Business Logic │
│ - Domain Models │
│ - Data Access │
└─────────────────────────────────────────┘
↓
┌─────────────────────────────────────────┐
│ Database (数据库) │
│ SQLite / PostgreSQL │
└─────────────────────────────────────────┘
贡献指南
- Fork 本仓库
- 创建特性分支 (
git checkout -b feature/AmazingFeature) - 提交更改 (
git commit -m 'Add some AmazingFeature') - 推送到分支 (
git push origin feature/AmazingFeature) - 开启 Pull Request
许可证
本项目采用 MIT 许可证 - 详见 LICENSE 文件
联系方式
致谢
感谢所有为本项目做出贡献的开发者!
版本: 1.20.0
最后更新: 2025-12-03