dev分支功能合并 #1

Closed
gongyun wants to merge 0 commits from dev into main
Owner

桌面端webview验证码支持/分享链接/公告弹窗/剪贴板检测/分类页多选增强/V4分享面板

新增功能

  1. 分享链接页面

    • 支持打开 公云存储 分享链接,展示分享者信息、文件列表/单文件卡片
    • 文件夹分享支持面包屑导航、进入子目录
    • 支持下载、转存到自己的网盘、浏览器打开
    • 密码保护分享支持输入密码解锁
    • 分享过期/私密状态展示
    • 同源检测:非同源时头像显示"匿"、转存按钮置灰
  2. 剪贴板分享链接检测

    • App 启动时检测剪贴板,识别 /s/{id} 格式的分享链接
    • App 从后台恢复时重新检测
    • 去重:同一分享 ID 不重复弹窗
  3. 公告弹窗

    • 登录后自动检查站点公告,有变更时弹窗展示
    • 支持指纹去重,同一公告不重复提醒
  4. 对话框队列服务

    • 串行化弹窗展示,避免公告、分享检测等多个弹窗同时弹出
  5. 公云存储 文件应用页面

    • 通过 WebView 打开 公云存储 Web 前端处理文件
    • 自动注入 session ,免二次登录
    • 文件管理器长按菜单添加"在 公云存储 中打开"
  6. 分类文件页多选操作

    • 支持长按选择、全选、批量移动/复制/删除/重命名
    • 选中工具栏含全选按钮和"更多"菜单(重命名+查看详情)
    • 查看详情调用主线 FileInfoPanel(含版本历史)
  7. 分享面板

    • 替换原简单分享对话框为完整 公云存储 分享面板
    • 搜索用户/组、权限矩阵(读/创建/更新/删除)、高级选项(密码/时效/下载限制/付费下载)
    • listGroups 404 优雅降级(Pro 专属 Toast 提示)
  8. SelectionToolbar 增强

    • 新增全选按钮(选中数 < 总数时显示)
    • 新增"更多"按钮(单选时显示,弹出重命名+查看详情)

Co-authored-by: 上游源码

UI和界面新功能增强来自有部分合适的改动, 以及新增bug, 缺陷修复和废弃语法

Bug 修复

  1. listGroups 404 崩溃

    • 新增 silent404 参数,Dio 错误拦截器对预期 404 放行
    • listGroups 捕获 404 返回 null,UI 提示"用户组功能为 Pro 专属"
  2. 分享权限底部弹窗溢出

    • Column 包裹 SingleChildScrollView 防止小屏溢出
  3. 设置页 Row 溢出

    • Text 包裹 Flexible 防止窄屏溢出
  4. 移动/复制对话框空间浪费

    • 对话框宽度改为屏幕 90%,去掉默认 contentPadding
    • FolderPicker 内部水平 padding 从 12-16px 缩到 4px
  5. 分类页 WillPopScope 弃用

    • 替换为 PopScope
  6. 分享页头像加载失败

    • 原裸 NetworkImage 不带 token,改为同源用 UserAvatar 组件(带 token 请求+缓存)同源校验->头像组件or匿名, 匿名转存按钮置灰
  7. 剪贴板分享检测只在启动时触发

    • 添加 WidgetsBindingObserver,App 恢复前台时重新检测
  8. android/app/build.gradle.kts 改动(jniLibs/ndk 配置增加sync_core同步库)

feat: 桌面端webview验证码支持

      1. pubspec.yaml — 新增 flutter_inappwebview: ^6.2.0-beta.3
      2. captcha_challenge_page.dart — 完整重写:
        - Android 保持 webview_flutter(mobile.WebViewWidget),零侵入
        - Windows/Linux 使用 flutter_inappwebview(InAppWebView)
        - 统一 JS sendBridge:自动检测 CaptchaBridge.postMessage(移动端)或
      flutter_inappwebview.callHandler(桌面端),HTML 模板无需分支
        - 桌面端设置标准 Chrome User-Agent,避免 CAPTCHA 服务拒绝
        - 验证通过后立即调用 _destroyWebView() → controller.dispose() 释放 WebView2 进程内存,然后才 Navigator.pop(token)
        - _disposed 标志防止重复销毁
        - 刷新时桌面端通过 UniqueKey 重建 InAppWebView 实例
      3. windows/CMakeLists.txt — 添加 NuGet 搜索路径辅助,解决 MSBuild 找不到 nuget.exe 的问题

    fixed: flutter_inappwebview origin和referer不生效, 黑魔法拦截
    feat: Windows WebView2 代理支持 (平台ffi)
      - 通过环境变量 WEBVIEW2_ADDITIONAL_BROWSER_ARGUMENTS 配置代理
    fixed: 修复黑魔法后遗症, 验证完成后会向baseurl发起回调导致长时间卡认证完成页面
    feat: Windows WebView2代理+验证码状态修复 -  环境变量代理、验证状态刷新、Turnstile进度提示`
## 桌面端webview验证码支持/分享链接/公告弹窗/剪贴板检测/分类页多选增强/V4分享面板 ### 新增功能 1. **分享链接页面** - 支持打开 公云存储 分享链接,展示分享者信息、文件列表/单文件卡片 - 文件夹分享支持面包屑导航、进入子目录 - 支持下载、转存到自己的网盘、浏览器打开 - 密码保护分享支持输入密码解锁 - 分享过期/私密状态展示 - 同源检测:非同源时头像显示"匿"、转存按钮置灰 2. **剪贴板分享链接检测** - App 启动时检测剪贴板,识别 `/s/{id}` 格式的分享链接 - App 从后台恢复时重新检测 - 去重:同一分享 ID 不重复弹窗 3. **公告弹窗** - 登录后自动检查站点公告,有变更时弹窗展示 - 支持指纹去重,同一公告不重复提醒 4. **对话框队列服务** - 串行化弹窗展示,避免公告、分享检测等多个弹窗同时弹出 5. **公云存储 文件应用页面** - 通过 WebView 打开 公云存储 Web 前端处理文件 - 自动注入 session ,免二次登录 - 文件管理器长按菜单添加"在 公云存储 中打开" 6. **分类文件页多选操作** - 支持长按选择、全选、批量移动/复制/删除/重命名 - 选中工具栏含全选按钮和"更多"菜单(重命名+查看详情) - 查看详情调用主线 `FileInfoPanel`(含版本历史) 7. **分享面板** - 替换原简单分享对话框为完整 公云存储 分享面板 - 搜索用户/组、权限矩阵(读/创建/更新/删除)、高级选项(密码/时效/下载限制/付费下载) - `listGroups` 404 优雅降级(Pro 专属 Toast 提示) 8. **SelectionToolbar 增强** - 新增全选按钮(选中数 < 总数时显示) - 新增"更多"按钮(单选时显示,弹出重命名+查看详情) > Co-authored-by: 上游源码 >> UI和界面新功能增强来自有部分合适的改动, 以及新增bug, 缺陷修复和废弃语法 ### Bug 修复 1. **`listGroups` 404 崩溃** - 新增 `silent404` 参数,Dio 错误拦截器对预期 404 放行 - `listGroups` 捕获 404 返回 null,UI 提示"用户组功能为 Pro 专属" 2. **分享权限底部弹窗溢出** - Column 包裹 `SingleChildScrollView` 防止小屏溢出 3. **设置页 Row 溢出** - Text 包裹 `Flexible` 防止窄屏溢出 4. **移动/复制对话框空间浪费** - 对话框宽度改为屏幕 90%,去掉默认 contentPadding - FolderPicker 内部水平 padding 从 12-16px 缩到 4px 5. **分类页 `WillPopScope` 弃用** - 替换为 `PopScope` 6. **分享页头像加载失败** - 原裸 `NetworkImage` 不带 token,改为同源用 `UserAvatar` 组件(带 token 请求+缓存)同源校验->头像组件or匿名, 匿名转存按钮置灰 7. **剪贴板分享检测只在启动时触发** - 添加 `WidgetsBindingObserver`,App 恢复前台时重新检测 8. `android/app/build.gradle.kts` 改动(jniLibs/ndk 配置增加sync_core同步库) ### feat: 桌面端webview验证码支持 ``` 1. pubspec.yaml — 新增 flutter_inappwebview: ^6.2.0-beta.3 2. captcha_challenge_page.dart — 完整重写: - Android 保持 webview_flutter(mobile.WebViewWidget),零侵入 - Windows/Linux 使用 flutter_inappwebview(InAppWebView) - 统一 JS sendBridge:自动检测 CaptchaBridge.postMessage(移动端)或 flutter_inappwebview.callHandler(桌面端),HTML 模板无需分支 - 桌面端设置标准 Chrome User-Agent,避免 CAPTCHA 服务拒绝 - 验证通过后立即调用 _destroyWebView() → controller.dispose() 释放 WebView2 进程内存,然后才 Navigator.pop(token) - _disposed 标志防止重复销毁 - 刷新时桌面端通过 UniqueKey 重建 InAppWebView 实例 3. windows/CMakeLists.txt — 添加 NuGet 搜索路径辅助,解决 MSBuild 找不到 nuget.exe 的问题 fixed: flutter_inappwebview origin和referer不生效, 黑魔法拦截 feat: Windows WebView2 代理支持 (平台ffi) - 通过环境变量 WEBVIEW2_ADDITIONAL_BROWSER_ARGUMENTS 配置代理 fixed: 修复黑魔法后遗症, 验证完成后会向baseurl发起回调导致长时间卡认证完成页面 feat: Windows WebView2代理+验证码状态修复 - 环境变量代理、验证状态刷新、Turnstile进度提示` ```
gongyun self-assigned this 2026-05-28 01:02:58 +08:00
gongyun added 6 commits 2026-05-28 01:02:58 +08:00
gongyun changed title from WIP: dev分支功能合并 to WIP: dev分支功能合并(审查) 2026-05-28 02:06:32 +08:00
gongyun changed title from WIP: dev分支功能合并(审查) to WIP: dev分支功能合并 2026-05-28 02:10:20 +08:00
gongyun changed title from WIP: dev分支功能合并 to WIP: dev分支功能合并(审查) 2026-05-28 02:16:30 +08:00
gongyun changed title from WIP: dev分支功能合并(审查) to WIP: dev分支功能合并 2026-05-28 02:16:58 +08:00
gongyun changed title from WIP: dev分支功能合并 to WIP: dev分支功能合并(审查) 2026-05-28 02:18:59 +08:00
gongyun requested review from Gitea-AI 2026-05-28 02:29:45 +08:00
gongyun removed review request for Gitea-AI 2026-05-28 02:29:56 +08:00
gongyun changed title from WIP: dev分支功能合并(审查) to WIP: dev分支功能合并 2026-05-28 02:40:26 +08:00
Gitea-AI was assigned by gongyun 2026-05-28 02:42:28 +08:00
gongyun changed title from WIP: dev分支功能合并 to WIP: dev分支功能合并(审查) 2026-05-28 02:42:46 +08:00
gongyun changed title from WIP: dev分支功能合并(审查) to WIP: dev分支功能合并 2026-05-28 02:43:16 +08:00
gongyun changed title from WIP: dev分支功能合并 to WIP: dev分支功能合并(审查) 2026-05-28 02:51:37 +08:00
gongyun marked the pull request as ready for review 2026-05-28 02:53:33 +08:00
gongyun changed title from dev分支功能合并(审查) to WIP: dev分支功能合并 2026-05-28 02:54:30 +08:00
gongyun marked the pull request as ready for review 2026-05-28 03:00:26 +08:00
gongyun marked the pull request as work in progress 2026-05-28 03:00:35 +08:00
gongyun changed title from WIP:dev分支功能合并 to WIP:dev分支功能合并(审查) 2026-05-28 03:14:11 +08:00
gongyun changed title from WIP:dev分支功能合并(审查) to WIP:dev分支功能合并 2026-05-28 03:15:19 +08:00
gongyun changed title from WIP:dev分支功能合并 to WIP:dev分支功能合并(审查) 2026-05-28 03:17:12 +08:00
gongyun changed title from WIP:dev分支功能合并(审查) to WIP:dev分支功能合并 2026-05-28 03:19:27 +08:00
Collaborator

AI Agent代码审查结果

发现 0 个问题(high 0 / medium 0 / low 0)

  • 未发现需要处理的问题。
## AI Agent代码审查结果 发现 0 个问题(high 0 / medium 0 / low 0) - 未发现需要处理的问题。
gongyun marked the pull request as ready for review 2026-05-28 03:24:42 +08:00
gongyun closed this pull request 2026-05-28 03:29:10 +08:00

Pull request closed

Sign in to join this conversation.