feat(app): P0 batch 2+2.5 — local upload dedup with batch dialog, album switch check, file size guard

P0-1 层 1 本地查重:
  - checkDuplicates:同账号+同相册+state=completed+filename+bytes 匹配
  - EnqueueResult 返回 enqueued+duplicates+skipped
  - capture_page + album_detail_page:批量单次弹窗(非逐张)三选一
    [跳过重复上传非重复] [全部上传] [取消]

P0-8 相册上传开关预检:album_detail_page 入队前检查 uploadEnabled,
  关闭时提示「该相册已关闭上传」+ 不入队

P1-8 文件大小预检:preparer 限单文件 ≤100MB(磁盘满由 on Object 兜底)

P0-7 更正:上传并发限制已有(kMaxParallelUploads=2),v2 分析误报

397/397 全绿、analyze 0

Co-Authored-By: Claude Code <noreply@anthropic.com>
This commit is contained in:
浅念
2026-09-28 11:06:40 +08:00
parent 9edcb3f2b1
commit 638dd9b45d
9 changed files with 302 additions and 26 deletions
+2 -1
View File
@@ -427,5 +427,6 @@
"posterDownload": "Download poster image",
"posterSaved": "Poster saved to gallery",
"posterSaveFailed": "Failed to save poster",
"close": "Close"
"close": "Close",
"albumUploadDisabled": "Upload is disabled for this album"
}
@@ -2017,6 +2017,12 @@ abstract class AppLocalizations {
/// In zh, this message translates to:
/// **'关闭'**
String get close;
/// No description provided for @albumUploadDisabled.
///
/// In zh, this message translates to:
/// **'该相册已关闭上传,无法添加照片'**
String get albumUploadDisabled;
}
class _AppLocalizationsDelegate
@@ -1031,4 +1031,7 @@ class AppLocalizationsEn extends AppLocalizations {
@override
String get close => 'Close';
@override
String get albumUploadDisabled => 'Upload is disabled for this album';
}
@@ -998,4 +998,7 @@ class AppLocalizationsZh extends AppLocalizations {
@override
String get close => '关闭';
@override
String get albumUploadDisabled => '该相册已关闭上传,无法添加照片';
}
+2 -1
View File
@@ -427,5 +427,6 @@
"posterDownload": "下载海报图",
"posterSaved": "海报已保存到相册",
"posterSaveFailed": "海报保存失败",
"close": "关闭"
"close": "关闭",
"albumUploadDisabled": "该相册已关闭上传,无法添加照片"
}