diff --git a/README.md b/README.md new file mode 100644 index 0000000..8cea891 --- /dev/null +++ b/README.md @@ -0,0 +1,286 @@ +ce编辑器 (Config Editor) +一个功能强大的Python配置文件和用户管理工具,提供直观的GUI界面进行配置管理、用户认证和会话安全控制。 + +主要特性 +🔐 用户认证系统 +首次登录即注册:新用户首次登录自动创建账户 + +二级密码保护:敏感操作需要二级密码验证 + +会话超时锁定:空闲超过10分钟自动锁定,需要重新登录 + +安全的密码存储:使用JSON格式加密存储用户凭证 + +📁 配置文件管理 +智能解析:自动识别Python配置文件中的配置项 + +格式保持:编辑时保留原始注释、空格和格式 + +分组显示:按规则将配置项分组显示在不同标签页 + +拖拽排序:支持通过拖拽重新排列配置项顺序 + +⚙️ 高级功能 +规则管理:可自定义显示名称、分组、校验规则等 + +加密字段:标记敏感配置项,修改时需要二级密码 + +隐藏字段:隐藏不需要显示的配置项 + +导入导出:支持规则文件的导入导出 + +校验规则:支持必填、范围、正则表达式等校验 + +🎨 用户界面 +现代化UI:基于PyQt6的响应式界面 + +直观操作:拖拽排序、分组管理、批量操作 + +实时反馈:修改高亮、校验提示、状态监控 + +主题支持:标准的Fusion主题,视觉舒适 + +系统要求 +操作系统:Linux(已测试Ubuntu 20.04+) + +Python版本:Python 3.8+ + +依赖:PyQt6 >= 6.5.0 + +安装方法 +方法一:使用deb包安装(推荐) +确保已安装依赖: + +bash +sudo apt-get update +sudo apt-get install python3 python3-venv python3-pip +安装deb包: + +bash +sudo dpkg -i config-editor_1.3_amd64.deb +如果有依赖问题,运行: + +bash +sudo apt-get install -f +方法二:从源码运行 +克隆或下载项目: + +bash +git clone <项目仓库> +cd config-editor +安装依赖: + +bash +pip3 install PyQt6 +运行程序: + +bash +python3 main.py +使用指南 +首次运行设置 +启动程序:首次运行会显示登录界面 + +用户注册: + +输入用户名和密码(首次登录自动创建账户) + +选择账号配置文件保存目录 + +设置二级密码用于敏感操作验证 + +配置文件设置: + +登录后首次运行需要设置要编辑的配置文件路径 + +支持浏览选择或手动输入文件路径 + +可以使用相对路径(相对于程序目录) + +主要功能使用 +1. 配置文件编辑 +打开文件:通过菜单或工具栏打开Python配置文件 + +编辑配置:直接在界面上修改配置项值 + +保存更改:保存时显示变更列表确认,保留原始格式 + +重新加载:随时重新加载配置文件 + +2. 规则管理 +进入管理界面:点击"管理规则"按钮 + +配置项管理:设置显示名称、分组、类型、校验规则等 + +隐藏/显示:标记配置项为隐藏,或批量显示/隐藏 + +分组管理:创建、删除和重命名分组 + +3. 高级操作 +拖拽排序:在分组内拖拽配置项标签重新排序 + +加密字段:标记敏感字段,修改时需要二级密码 + +批量操作:一键隐藏所有配置项,或全部显示 + +导入导出:导入/导出规则文件,方便备份和迁移 + +安全特性 +会话管理 +程序监控用户活动,空闲10分钟后自动锁定 + +锁定后需要重新登录才能继续操作 + +取消重新登录会退出程序以保障安全 + +二级密码验证 +以下操作需要验证二级密码: + +修改标记为加密的配置项 + +打开配置文件 + +配置文件设置 + +管理规则 + +显示隐藏项 + +一键隐藏所有项 + +项目结构 +text +config-editor/ +├── main.py # 程序入口 +├── main_window.py # 主窗口实现 +├── login/ # 登录认证模块 +│ ├── login.py # 用户认证管理器 +│ └── login_dialog.py # 登录对话框 +├── dialogs.py # 各种对话框 +├── config_parser.py # 配置文件解析器 +├── file_handler.py # 文件读写管理 +├── models.py # 数据模型定义 +├── utils.py # 工具函数集合 +├── widgets.py # 自定义控件 +├── build.sh # 打包脚本 +├── requirements.txt # 依赖列表 +└── README.md # 本文档 +配置文件格式 +程序支持标准的Python配置文件格式: + +python +# 数据库配置 +DATABASE_HOST = "localhost" +DATABASE_PORT = 3306 +DATABASE_USER = "admin" +DATABASE_PASSWORD = "secret_password" # 可以标记为加密字段 + +# 应用配置 +APP_NAME = "My Application" +DEBUG_MODE = False +LOG_LEVEL = "INFO" + +# API配置 +API_CONFIG = { + "key": "your_api_key", + "timeout": 30, + "retries": 3 +} +故障排除 +常见问题 +无法启动程序 + +text +# 检查Python版本 +python3 --version + +# 检查PyQt6是否安装 +python3 -c "import PyQt6" +虚拟环境问题(deb安装) + +bash +# 重新创建虚拟环境 +sudo /opt/config-editor/init_venv.sh + +# 或使用管理工具 +sudo python3 /opt/config-editor/manage_venv.py recreate +权限问题 + +bash +# 确保用户对以下目录有读写权限 +~/.config_editor/ +~/.config/config-editor/ +/opt/config-editor/config_editor_rules.json +配置文件无法保存 + +检查配置文件路径是否正确 + +确保对配置文件有写权限 + +检查磁盘空间是否充足 + +调试模式 +如需调试,可以查看以下日志位置: + +控制台输出:直接运行python3 main.py查看输出 + +用户设置:~/.config_editor/user_settings.json + +账号文件:用户选择的目录中的users.json + +规则文件:程序目录下的config_editor_rules.json + +开发指南 +环境搭建 +克隆项目: + +bash +git clone <项目仓库> +cd config-editor +创建虚拟环境: + +bash +python3 -m venv venv +source venv/bin/activate +安装依赖: + +bash +pip install -r requirements.txt +运行开发版本: + +bash +python main.py +代码结构说明 +main_window.py:主程序逻辑,包含UI生成、事件处理、会话管理等 + +login/:用户认证模块,处理登录、注册、密码验证 + +config_parser.py:配置文件解析,保持格式和注释 + +dialogs.py:各种对话框的实现 + +models.py:数据模型定义,使用Python dataclass + +utils.py:工具函数,如规则合并、校验、格式化等 + +打包说明 +使用提供的build.sh脚本打包: + +bash +# 赋予执行权限 +chmod +x build.sh + +# 执行打包 +./build.sh +打包脚本会: + +清理之前的构建 + +创建deb包目录结构 + +复制项目文件 + +创建启动脚本和桌面入口 + +生成虚拟环境初始化脚本 + +构建deb包 \ No newline at end of file