Skip to content

ming-14/filesList

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 

Repository files navigation

filesList

基于 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/          # 基础设施:日志、审计、备份、格式化

Web 文件浏览器

通过本地 HTTP 服务器提供文件列表的 Web 浏览界面,支持目录导航、主题切换、图标风格切换。

# 安装 http-server
npm install -g http-server

# 启动
cd public
httpserver.bat

桌面编辑器 (file_editor)

基于 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 返回上级)

files.json 数据格式

根目录结构:

{
    "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"
        }
    ]
}

About

以文件形式提供下载/导航的网页

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Packages

 
 
 

Contributors