基于 JSON 的文件列表管理与展示工具,包含 Web 前端浏览和桌面 GUI 编辑器两部分。
filesList-main/
├── web_viewer/ # Web 文件浏览器
│ ├── index.html # 入口页面
│ ├── httpserver.bat # 启动本地 HTTP 服务器
│ ├── files.json # 数据文件
│ ├── css/ # 样式
│ ├── js/ # 逻辑
│ └── icons/ # 图标
└── file_editor/ # 桌面编辑器 (PySide6)
├── main.py # 应用入口
├── requirements.txt
├── core/ # 核心层:模型、服务、导航、撤销、校验
├── ui/ # UI 层:窗口、侧边栏、文件列表、拖放、对话框、主题
└── infra/ # 基础设施:日志、审计、备份、格式化
通过本地 HTTP 服务器提供文件列表的 Web 浏览界面,支持目录导航、主题切换、图标风格切换。
# 安装 http-server
npm install -g http-server
# 启动
cd public
httpserver.bat基于 PySide6 的可视化 JSON 编辑器,提供图形界面管理文件列表数据。
pip install -r file_editor/requirements.txt依赖:
- PySide6 >= 6.5.0
- pytz >= 2023.3
- QtAwesome >= 1.3.0
python file_editor/main.py- 侧边栏目录树导航,支持展开/折叠
- 文件列表表格视图,支持排序、搜索过滤
- 拖放移动(侧边栏 ↔ 文件列表、文件列表内部)
- 拖放导入外部文件/文件夹
- 行内重命名
- 新建文件/文件夹
- 编辑文件属性(名称、URL、大小、修改时间)
- 移动到指定目录(对话框选择)
- 删除(支持撤销恢复)
- 撤销/重做
- 自动备份
- 操作审计日志
- 明暗主题切换
- 快捷键(F2 重命名、Delete 删除、Ctrl+N 新建文件、Ctrl+Shift+N 新建文件夹、Backspace 返回上级)
根目录结构:
{
"dir": [],
"files": []
}文件夹:
{
"name": "[name]",
"url": "$[name]",
"isdir": 1,
"size": 0,
"size_string": "0 B",
"date_modified": 943891200,
"date_modified_string": "2000/01/01 00:00:00",
"dir": [],
"files": []
}文件:
{
"name": "[name]",
"url": "https://example.com/xxx.xxx",
"isdir": 0,
"size": 1024,
"size_string": "1 KB",
"date_modified": 943891200,
"date_modified_string": "2000/01/01 00:00:00"
}完整示例:
{
"dir": [
{
"name": "document",
"url": "document",
"isdir": 1,
"size": 19,
"size_string": "19 B",
"date_modified": 943891200,
"date_modified_string": "2000/01/01 00:00:00",
"dir": [],
"files": [
{
"name": "help",
"url": "data:text/plain,This is a document.",
"isdir": 0,
"size": 19,
"size_string": "19 B",
"date_modified": 943891200,
"date_modified_string": "2000/01/01 00:00:00"
}
]
}
],
"files": [
{
"name": "hello world.cpp",
"url": "data:text/plain,%23include%20%3Ciostream%3E",
"isdir": 0,
"size": 116,
"size_string": "116 B",
"date_modified": 943891200,
"date_modified_string": "2000/01/01 00:00:00"
}
]
}