"""
听泉助手 - Cursor 激活管理工具

项目结构说明:
---------------
├── services/           # 服务层 - 处理核心业务逻辑
│   ├── cursor_service.py   # Cursor服务管理类 - 处理激活、配置等核心功能
│   └── __init__.py
│
├── gui/               # GUI层 - 处理界面相关逻辑
│   ├── components/    # 可复用的GUI组件
│   │   ├── widgets.py     # 基础UI组件(按钮、状态栏等)
│   │   ├── workers.py     # 后台工作线程
│   │   └── __init__.py
│   ├── windows/      # 窗口类
│   │   ├── main_window.py # 主窗口实现
│   │   └── __init__.py
│   └── __init__.py
│
├── config.py         # 配置管理
├── logger.py         # 日志管理
├── machine_resetter.py    # 机器码重置
├── update_disabler.py     # 更新禁用
├── cursor_token_refresher.py  # Token刷新
└── tingquan_assistant.py  # 程序入口文件

设计规范:
---------------
1. 分层设计
   - services层: 处理核心业务逻辑,与界面解耦
   - gui层: 只处理界面相关逻辑,通过services层调用业务功能
   - 工具类: 独立的功能模块(如日志、配置等)

2. 代码规范
   - 使用类型注解
   - 函数必须有文档字符串
   - 遵循PEP 8命名规范
   - 异常必须合理处理和记录日志

3. 界面设计
   - 使用PyQt5构建GUI
   - 所有耗时操作必须在后台线程中执行
   - 界面组件需实现合理的状态管理

4. 配置管理
   - 用户配置存储在 %APPDATA%/TingquanAssistant/
   - 激活信息使用JSON格式存储
   - 配置文件需要权限控制

5. 日志规范
   - 所有关键操作必须记录日志
   - 日志按日期分文件存储
   - 包含足够的错误诊断信息

使用说明:
---------------
1. 运行入口: python tingquan_assistant.py
2. 开发新功能流程:
   - 在services层添加业务逻辑
   - 在gui/components添加必要的界面组件
   - 在gui/windows中整合界面
   - 更新配置和日志相关代码
"""

import sys
import os

# 添加项目根目录到Python路径
current_dir = os.path.dirname(os.path.abspath(__file__))
sys.path.insert(0, current_dir)

from PyQt5.QtWidgets import QApplication
from gui.windows.main_window import MainWindow

def main():
    """程序入口"""
    # 创建应用
    app = QApplication(sys.argv)
    
    # 设置应用样式
    app.setStyle('Fusion')
    
    # 创建主窗口
    window = MainWindow()
    window.show()
    
    # 运行应用
    sys.exit(app.exec_())

if __name__ == "__main__":
    main() 