补丁 1: 分块读取与流式传输 - 8KB 分块读取大文件,避免内存飙升 - 流式计算文件哈希,无需加载完整内容 - 差异对比限制,大文件只显示头尾各 500 行 - 新增 chunked 参数支持流式传输 补丁 2: .lobsterignore 机制 - 创建 IgnorePattern 类实现模式匹配 - 支持 .lobsterignore 文件配置 - 添加默认忽略规则(.DS_Store, node_modules 等) - 支持通配符匹配(*, ?, 目录匹配) - 新增 API: GET /api/ignore/patterns/, POST /api/ignore/reload/ 补丁 3: 操作溯源(Audit Log) - 新增 SyncHistory 模型记录同步历史 - 创建 AuditLogger 类用于记录操作 - 所有同步操作自动记录日志 - 记录操作者、版本变化、哈希变化、执行时间等 - 新增 API: GET /api/history/ 更新内容: - models.py: 新增 SyncHistory 模型 - services.py: 新增 IgnorePattern, AuditLogger, 分块读取方法 - views.py: 所有同步操作添加日志记录, 新增历史和忽略规则接口 - serializers.py: 新增 SyncHistorySerializer - urls.py: 新增历史和忽略规则路由 - .lobsterignore.example: 示例忽略文件 - CHANGELOG.md: 详细更新日志
31 lines
968 B
Python
31 lines
968 B
Python
from django.urls import path
|
|
from . import views
|
|
|
|
urlpatterns = [
|
|
# 扫描相关
|
|
path('scan/', views.scan_files, name='scan_files'),
|
|
path('tree/', views.get_file_tree, name='get_file_tree'),
|
|
|
|
# 同步状态
|
|
path('status/', views.check_sync_status, name='check_sync_status'),
|
|
|
|
# 差异对比
|
|
path('diff/', views.get_file_diff, name='get_file_diff'),
|
|
|
|
# 同步操作
|
|
path('sync/db/', views.sync_to_db, name='sync_to_db'),
|
|
path('sync/local/', views.sync_to_local, name='sync_to_local'),
|
|
|
|
# 版本历史
|
|
path('versions/', views.get_versions, name='get_versions'),
|
|
|
|
# 操作历史
|
|
path('history/', views.get_history, name='get_history'),
|
|
|
|
# 统计信息
|
|
path('stats/', views.get_stats, name='get_stats'),
|
|
|
|
# .lobsterignore 管理
|
|
path('ignore/patterns/', views.get_ignore_patterns, name='get_ignore_patterns'),
|
|
path('ignore/reload/', views.reload_ignore_patterns, name='reload_ignore_patterns'),
|
|
] |