# ClassTop
**Repository Path**: HwlloChen/classtop
## Basic Information
- **Project Name**: ClassTop
- **Description**: No description available
- **Primary Language**: Python
- **License**: Not specified
- **Default Branch**: main
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2025-09-20
- **Last Updated**: 2025-09-21
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# ClassTop (课瞳)
智能班级大屏多功能面板软件
为教育场景打造的现代化、可扩展的智能显示系统
---
## ✨ 特性
### 🎯 核心功能
- **刘海屏显示**: 始终置顶的信息栏,优雅地显示关键信息
- **插件系统**: 支持自定义插件开发,实现功能无限扩展
- **热重载**: 插件即装即用,无需重启程序
- **远程管理**: 基于Web的远程控制面板
- **异步架构**: 高性能的异步处理机制
### 📦 内置功能
- **智能时钟**: 实时时间显示
- **课程进度**: 动态展示当前课程进度和下节课信息
- **设置中心**: 灵活的配置管理系统
- **主题系统**: 支持多主题切换
## 🚀 快速开始
### 系统要求
- Python 3.9+
- 支持的操作系统: Windows 10+, macOS 10.14+, Linux (X11/Wayland)
### 安装
```bash
# 克隆仓库
git clone https://github.com/yourusername/ClassTop.git
cd ClassTop
# 创建虚拟环境
python -m venv venv
source venv/bin/activate # Linux/Mac
# 或
venv\Scripts\activate # Windows
# 安装依赖
pip install -r requirements.txt
# 运行程序
python main.py
```
### 开发模式
```bash
# 安装开发依赖
pip install -r requirements-dev.txt
# 运行测试
pytest
# 代码格式化
black .
flake8 .
```
## 🏗️ 项目结构
```
classtop/
├── config/ # 配置文件目录
│ ├── default.yaml # 默认配置
│ └── user.yaml # 用户配置
├── core/ # 核心模块
│ ├── managers/ # 管理器模块
│ │ ├── plugin_manager.py
│ │ ├── config_manager.py
│ │ └── event_manager.py
│ ├── models/ # 数据模型
│ └── utils/ # 工具函数
├── gui/ # GUI界面
│ ├── components/ # UI组件
│ │ └── topbar.py # 刘海屏组件
│ ├── views/ # 视图页面
│ └── styles/ # 样式文件
├── plugins/ # 插件目录
│ ├── builtin/ # 内置插件
│ │ ├── clock/ # 时钟插件
│ │ └── schedule/ # 课程表插件
│ └── custom/ # 自定义插件
├── web/ # Web管理界面
│ ├── api/ # REST API
│ ├── static/ # 静态资源
│ └── templates/ # 模板文件
├── resources/ # 资源文件
│ ├── icons/ # 图标
│ ├── fonts/ # 字体
│ └── themes/ # 主题
├── tests/ # 测试文件
└── docs/ # 文档
```
## 🔌 插件开发
### 创建插件
1. 在 `plugins/custom/` 目录下创建插件文件夹
2. 创建 `plugin.yaml` 配置文件
3. 实现插件主类
```python
# plugins/custom/my_plugin/main.py
from classtop.core.plugin import BasePlugin
class MyPlugin(BasePlugin):
def __init__(self):
super().__init__()
self.name = "我的插件"
self.version = "1.0.0"
async def on_load(self):
"""插件加载时调用"""
await self.register_topbar_widget(self.get_widget())
def get_widget(self):
"""返回要显示在刘海屏的组件"""
# 实现你的组件
pass
```
### 插件配置
```yaml
# plugin.yaml
name: 我的插件
version: 1.0.0
author: 你的名字
description: 插件描述
main: main.MyPlugin
requirements:
- requests>=2.28.0
settings:
- key: api_key
type: string
label: API密钥
default: ""
```
## 🌐 远程管理
访问 `http://localhost:8000` 进入Web管理界面
### API端点
- `GET /api/plugins` - 获取插件列表
- `POST /api/plugins/install` - 安装插件
- `DELETE /api/plugins/{plugin_id}` - 卸载插件
- `GET /api/config` - 获取配置
- `PUT /api/config` - 更新配置
## 🎨 主题定制
在 `resources/themes/` 目录创建主题文件:
```yaml
# mytheme.yaml
name: 我的主题
colors:
primary: "#4A90E2"
background: "#1E1E1E"
text: "#FFFFFF"
accent: "#FF6B6B"
fonts:
default: "Microsoft YaHei"
mono: "Consolas"
```
## 🤝 贡献指南
1. Fork 本仓库
2. 创建功能分支 (`git checkout -b feature/AmazingFeature`)
3. 提交更改 (`git commit -m 'Add some AmazingFeature'`)
4. 推送到分支 (`git push origin feature/AmazingFeature`)
5. 创建 Pull Request
## 📄 许可证
本项目采用 MIT 许可证 - 查看 [LICENSE](LICENSE) 文件了解详情
## 🙏 致谢
感谢所有贡献者和使用者的支持!
## 📞 联系方式
- 问题反馈: [GitHub Issues](https://github.com/yourusername/ClassTop/issues)
- 邮箱: your.email@example.com
---
Made with ❤️ for Education