config_editor/README.md
2026-01-19 08:13:20 +00:00

291 lines
6.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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
使用指南
首次运行设置
启动程序:首次运行会显示登录界面
用户注册:
输入用户名和密码(首次登录自动创建账户)
选择账号配置文件保存目录
设置二级密码用于敏感操作验证
配置文件设置:
登录后首次运行需要设置要编辑的配置文件路径
支持浏览选择或手动输入文件路径
可以使用相对路径(相对于程序目录)
主要功能使用
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包