# 教学应用商店 **Repository Path**: ibdp/teaching-app-store ## Basic Information - **Project Name**: 教学应用商店 - **Description**: 基于海光CPU+麒麟OS的教学专用应用商店 - **Primary Language**: Unknown - **License**: MulanPSL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-06-03 - **Last Updated**: 2026-06-03 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 教育教学应用商店 一款基于 Qt 技术栈开发的桌面应用程序,用于管理和分发教育教学类应用。 ## 项目简介 教育教学应用商店是一款面向教育场景的应用管理和分发平台,支持应用的浏览、安装、升级、卸载等全生命周期管理功能。客户端采用 Qt(C++/QML)开发,后端采用 Flask 构建,提供完整的 RESTful API 服务。 ## 技术栈 ### 客户端 - **Qt 5/6** - 核心框架 - **C++** - 后端逻辑实现 - **QML** - 用户界面 - **SQLite** - 本地数据存储 - **MinIO** - 文件存储服务 ### 服务器端 - **Python 3.11** - **Flask** - Web 框架 - **SQLAlchemy** - ORM - **MySQL** - 数据库 ## 功能特性 | 模块 | 功能说明 | |------|----------| | 侧边栏 | 已安装应用快捷启动、支持自动隐藏/呼出 | | 应用管理面板 | 应用的安装、升级、卸载、排序 | | 云端应用中心 | 应用搜索、分类筛选、标签过滤 | | 应用商店自升级 | 检测并更新商店本身 | | 多语言支持 | 中文/英文界面切换 | ## 项目结构 ``` teaching-app-store/ ├── client/ # Qt 客户端 │ ├── src/ # C++ 源代码 │ │ ├── controllers/ # 控制器 │ │ ├── models/ # 数据模型 │ │ ├── services/ # 核心服务 │ │ └── utils/ # 工具类 │ ├── resources/ # 资源文件 │ │ ├── qml/ # QML 界面 │ │ └── translations/# 国际化翻译 │ └── packaging/ # 打包配置文件 ├── server/ # Flask 服务端 │ ├── app/ │ │ ├── api/ # API 路由 │ │ ├── models/ # 数据模型 │ │ ├── schemas/ # 数据序列化 │ │ └── services/ # 业务逻辑 │ ├── admin/ # 管理后台 │ ├── migrations/ # 数据库迁移 │ └── tests/ # 测试用例 └── docs/ # 设计文档 ``` ## 快速开始 ### 前置要求 - Qt 5.15+ 或 Qt 6.x - CMake 3.16+ - Python 3.11+ - MySQL 5.7+ ### 构建客户端 ```bash cd client mkdir build && cd build cmake .. make ``` ### 启动服务端 ```bash cd server cp .env.example .env # 编辑 .env 配置数据库连接 pip install -r requirements.txt python run.py ``` ## 配置说明 服务端配置文件位于 `server/config.py`,支持以下环境: - DevelopmentConfig - 开发环境 - ProductionConfig - 生产环境 - TestingConfig - 测试环境 客户端默认连接云端地址:`https://store.ibdp.cn/api/v1` ## API 接口 | 接口路径 | 方法 | 说明 | |---------|------|------| | /api/v1/apps | GET | 获取应用列表 | | /api/v1/apps/{id} | GET | 获取应用详情 | | /api/v1/apps/{id}/versions | GET | 获取版本列表 | | /api/v1/apps/{id}/download | GET | 获取下载地址 | | /api/v1/categories | GET | 获取分类树 | | /api/v1/tags | GET | 获取标签列表 | | /api/v1/store/version | GET | 获取商店版本 | ## License 本项目具体授权请参考各组件对应的 LICENSE 文件。