Skip to content

Design v2 实现与验收 ​

本地 Design v2 目录包含 110 个场景/120 项有效功能;已注释的 CRC 对话框 F066 不计入。原生实现覆盖各场景族及 2026-10-14 评审发现的九项功能缺口。本清单区分已实现交互与真实服务、操作系统验收,不表示已达到像素级设计一致性。

internal/app/testdata/design-v2-scenes.json 固定场景 ID。TestDesignV2Scenes 以 5 种语言 × 2 种主题、900 × 620 尺寸渲染 104 个由应用管理的场景测试数据。这 1,040 项检查检测缺失翻译及被裁切的关闭操作,不能独立证明所有交互正确。make snapshots 导出英语浅色/深色版本。D11、D12、D47、D53、D54 和 D55 属于操作系统界面或交接,不计入无窗口渲染数量。

现有能力 ​

这些能力已连接到原生视图和服务适配器。评审后续工作记录九组已完成功能及回归覆盖。

  • 连接:AK、STS、授权码、HTTPS Endpoint 模式、主动启用请求者付费、凭据库支持的保持登录、到期/只读约束、历史、书签和主目录。
  • 浏览:列表/网格、前缀搜索和分页、地址导航、上下文菜单、多选、拖放计划和有界图片缩略图。
  • Bucket:按区域提供存储选项、显式公开 ACL 确认、空桶删除、分页分片搜索及队列化清理。
  • 对象:递归复制/移动/重命名/删除、同区域跨桶粘贴、冲突确认、逐项结果、HTTP 标头和元数据、软链接、归档恢复及受恢复状态限制的预览。
  • 预览:文本编辑/Diff/未保存修改保护、图片缩放、原生 WebView 音视频,以及明确的文档/FLV/不支持格式回退。文本保存保留标头、元数据、标签、ACL 和存储类型。默认创建副本;替换原对象需要显式选择和 ETag 预检。
  • 分享:公开 ACL 校验、限时签名 URL、自定义/加速域名、二维码生成、剪贴板/浏览器交接,以及确认后发送 SMTP 邮件。
  • 身份:RAM 用户和 AccessKey、用户/组/角色策略授权、多对象策略、新用户授权码、STS 角色授权码和到期时间。部分完成的授权保留在对话框内供重试。
  • 传输:独立上传/下载限制、有上限的自动重试、暂停/恢复/移除/清空、诊断详情、持久化文件传输恢复和 CRC/ETag 校验。
  • 偏好设置/分发:独立的五分类自动保存设置对话框、系统主题和语言、可搜索/清空的会话诊断,以及在配置更新源/密钥的构建中自动下载签名包、显示说明、进度/错误/重试、确认安装和重启。未配置构建提供手动发布下载。

评审后续工作 ​

2026-10-14 的检查设计页面实施情况评审发现九项功能缺口。下列代码改动完成了这些功能组。路径相对于仓库;设计基线所述本地目录和 previews/all 仍是视觉参考。

范围决定:FLV 播放 ​

D25-flv 保留外部打开/下载回退,实现在 internal/app/preview_media.go。应用内解码仍是独立的范围决策。

证据与剩余验收 ​

场景测试数据现在涵盖独立确认、可编辑保存 Diff、RAM 结果/邮件失败、设置界面、批量结果和更新就绪。专项测试覆盖取消、保留草稿/凭据、过期回调、重复元数据、限定范围策略及暂存更新。部分无关错误场景仍使用通用网络错误;渲染覆盖本身不能证明真实服务行为。真实账号、编解码器、操作系统和签名分发验收继续在下文及发布指南中跟踪。

生产边界 ​

实现期间没有执行真实 OSS/RAM/SMTP 请求。账号凭据、Windows/Linux 桌面环境及分发签名配置仍需所有者提供,见发布指南。原生 macOS 启动仅为冒烟测试。WebView 编解码器行为、操作系统对话框、凭据库提示、真实归档延迟及签名更新安装都需要这些环境。

本地验证 ​

2026-10-14 在 macOS 上的本地验证覆盖已完成的后续工作,不能替代真实验收:

  • go test ./...、go test -race ./...、go vet ./... 和 go tool mygo vet 均通过。
  • 全部 1,040 项场景检查通过;make snapshots 导出了视觉回归图片。
  • 原生 macOS 启动/捕获和应用打包通过。先前基线评审记录了 Windows/Linux 交叉编译;这些平台的桌面运行仍待验收。
  • 文档类型检查和生产构建通过。Go 格式及空白检查无问题。

应用限制 ​

应用中明确保留以下边界:

  • 连接使用 HTTPS。远端文本加载上限 8 MiB,可编辑 UTF-8 上限 5 MiB;图片解码上限 2000 万像素。文档和 FLV 预览提供外部打开/下载。未支持编解码器的行为取决于已安装的原生媒体引擎。
  • 元数据自复制上限 1 GiB。递归计划最多 100,000 个唯一键。服务端跨桶复制要求区域一致。对象修改任务仅限当前会话;文件上传/下载记录可在重连后保留。
  • OSS ETag 预检后的删除/替换不具备原子性,应避免并发写入。启用版本控制的 Bucket 中禁止覆盖语义不同。显式替换可能创建新对象版本。
  • SMTP 要求隐式 TLS 或 STARTTLS。密钥使用内存或操作系统凭据库。RAM AccessKey Secret 仅在本对话框创建时显示;不能从 RAM 获取已有 Secret。
  • 多对象授权允许列举公共父目录以便接收者浏览;对象读写仍限制在选定资源内。授权前应审查可编辑策略。
  • 已移除传输记录使用删除标记,防止迟到的工作完成将其恢复。移除任务保留可续传的部分数据;分片删除是独立且需确认的操作。
  • 未签名开发构建不能安装更新。准备签名发布时必须向 mygo.json 提供可信发布者公钥及更新源;此实现不会自行生成信任密钥。

场景清单 ​

下表“UI”表示场景在 TestDesignV2Scenes 中有原生状态测试数据,不代表设计交互或视觉布局已完整实现。请结合评审后续工作阅读相关行。服务测试使用注入的 HTTP 响应,不等于云端验收。下列无目录文件名相对于 internal/app/。保留目录的原始中文标题,便于按 ID 与源目录直接比对。

场景目录原始标题实现证据/外部验收
P01连接 · AccessKeyconnection_view.go, connection_actions.go, saved_locations.goUI;授权、范围和连接测试;真实登录/凭据库待验收
P02连接 · 授权码connection_view.go, connection_actions.go, saved_locations.goUI;授权、范围和连接测试;真实登录/凭据库待验收
P03所有 Bucketbrowser_view.go, browser_controls.go, saved_locations.goUI;分页/导航测试;真实 OSS 待验收
P04对象浏览与详情browser_view.go, browser_controls.go, saved_locations.goUI;分页/导航测试;真实 OSS 待验收
P05上传队列 · 完整状态transfer_controls.go, internal/transfersUI;队列、恢复、校验和及路径测试;真实传输待验收
P06下载队列transfer_controls.go, internal/transfersUI;队列、恢复、校验和及路径测试;真实传输待验收
D01连接历史connection_view.go, connection_actions.go, saved_locations.goUI;授权、范围和连接测试;真实登录/凭据库待验收
D02退出连接确认connection_view.go, connection_actions.go, saved_locations.goUI;授权、范围和连接测试;真实登录/凭据库待验收
D03收藏管理browser_view.go, browser_controls.go, saved_locations.goUI;分页/导航测试;真实 OSS 待验收
D04创建 Bucketbucket_tools.go, internal/ossclient/buckets.goUI;请求/范围/分页测试;真实 Bucket 待验收
D05公开访问风险bucket_tools.go, internal/ossclient/buckets.goUI;请求/范围/分页测试;真实 Bucket 待验收
D06Bucket 访问权限bucket_tools.go, internal/ossclient/buckets.goUI;请求/范围/分页测试;真实 Bucket 待验收
D07删除空 Bucketbucket_tools.go, internal/ossclient/buckets.goUI;请求/范围/分页测试;真实 Bucket 待验收
D08上传碎片管理bucket_tools.go, internal/ossclient/buckets.goUI;请求/范围/分页测试;真实 Bucket 待验收
D09删除上传碎片bucket_tools.go, internal/ossclient/buckets.goUI;请求/范围/分页测试;真实 Bucket 待验收
D10新建目录object_actions.go, object_clipboard.goUI;递归计划和部分修改测试;真实修改待验收
D11选择上传文件与目录internal/desktop, transfer_actions.go, internal/transfers/download_plan.go原生委托;操作系统选择器/定位及取消待验收
D12下载保存位置internal/desktop, transfer_actions.go, internal/transfers/download_plan.go原生委托;操作系统选择器/定位及取消待验收
D13文件与目录重命名object_actions.go, object_clipboard.goUI;递归计划和部分修改测试;真实修改待验收
D14跨桶批量粘贴确认object_actions.go, object_clipboard.goUI;递归计划和部分修改测试;真实修改待验收
D15复制移动进度transfer_controls.go, internal/transfersUI;队列、恢复、校验和及路径测试;真实传输待验收
D16同名覆盖确认object_actions.go, object_clipboard.goUI;递归计划和部分修改测试;真实修改待验收
D17批量删除确认object_actions.go, object_clipboard.goUI;递归计划和部分修改测试;真实修改待验收
D18对象访问权限object_actions.go, internal/ossclient/objects.goUI;属性/ACL 保留测试;真实更新待验收
D19HTTP 头与元数据object_actions.go, internal/ossclient/objects.goUI;属性/ACL 保留测试;真实更新待验收
D20创建软链接internal/ossclient/advanced.go, object_actions.goUI;软链接、范围及恢复状态/请求测试;真实恢复待验收
D21恢复归档对象internal/ossclient/advanced.go, object_actions.goUI;软链接、范围及恢复状态/请求测试;真实恢复待验收
D22批量恢复归档internal/ossclient/advanced.go, object_actions.goUI;软链接、范围及恢复状态/请求测试;真实恢复待验收
D23文本与代码编辑object_actions.go, preview_media.goUI;大小/完整性、未修改/Diff 及放弃测试
D24图片预览object_actions.go, preview_media.goUI;大小/完整性、未修改/Diff 及放弃测试
D25视频预览preview_media.goUI 回退;原生播放器/编解码器及外部打开待验收
D26文档预览降级preview_media.goUI 回退;原生播放器/编解码器及外部打开待验收
D27不支持的文件格式object_actions.go, preview_media.goUI;大小/完整性、未修改/Diff 及放弃测试
D28保存前差异对比object_actions.go, preview_media.goUI;大小/完整性、未修改/Diff 及放弃测试
D29归档预览检查internal/ossclient/advanced.go, object_actions.goUI;软链接、范围及恢复状态/请求测试;真实恢复待验收
D31私有对象签名地址internal/ossclient/share.go, object_actions.goUI;二维码精确解码、URL 编码、ACL 及签名范围测试;域名绑定待验收
D32邮件发送下载地址mail_tools.go, internal/mailUI;地址/标头/取消测试;真实 TLS 投递待验收
D33简化 Policy 授权ram_tools.go, internal/identityUI;签名 RPC、分页、范围和授权码测试;真实 RAM/STS 待验收
D34创建子用户并授权ram_tools.go, internal/identityUI;签名 RPC、分页、范围和授权码测试;真实 RAM/STS 待验收
D35子用户授权结果ram_tools.go, internal/identityUI;签名 RPC、分页、范围和授权码测试;真实 RAM/STS 待验收
D36设置 · 传输settings_controls.go, system_settings.go, internal/diagnosticsUI;设置校验和日志轮转测试
D37目录临时授权码ram_tools.go, internal/identityUI;签名 RPC、分页、范围和授权码测试;真实 RAM/STS 待验收
D38RAM 用户管理ram_tools.go, internal/identityUI;签名 RPC、分页、范围和授权码测试;真实 RAM/STS 待验收
D39编辑 RAM 用户资料ram_tools.go, internal/identityUI;签名 RPC、分页、范围和授权码测试;真实 RAM/STS 待验收
D40删除 RAM 用户确认ram_tools.go, internal/identityUI;签名 RPC、分页、范围和授权码测试;真实 RAM/STS 待验收
D41AccessKey 管理ram_tools.go, internal/identityUI;签名 RPC、分页、范围和授权码测试;真实 RAM/STS 待验收
D42禁用 AccessKey 确认ram_tools.go, internal/identityUI;签名 RPC、分页、范围和授权码测试;真实 RAM/STS 待验收
D43删除 AccessKey 确认ram_tools.go, internal/identityUI;签名 RPC、分页、范围和授权码测试;真实 RAM/STS 待验收
D44移除未完成任务transfer_controls.go, internal/transfersUI;队列、恢复、校验和及路径测试;真实传输待验收
D45清空传输队列transfer_controls.go, internal/transfersUI;队列、恢复、校验和及路径测试;真实传输待验收
D46传输详情与错误诊断transfer_controls.go, internal/transfersUI;队列、恢复、校验和及路径测试;真实传输待验收
D47下载本地位置internal/desktop, transfer_actions.go, internal/transfers/download_plan.go原生委托;操作系统选择器/定位及取消待验收
D48SMTP 测试确认mail_tools.go, internal/mailUI;地址/标头/取消测试;真实 TLS 投递待验收
D49诊断控制台settings_controls.go, system_settings.go, internal/diagnosticsUI;设置校验和日志轮转测试
D50关于与检查更新update.go, internal/releases, internal/updatesUI;发布解析测试;签名更新源/安装/重启待验收
D51版本发布说明update.go, internal/releases, internal/updatesUI;发布解析测试;签名更新源/安装/重启待验收
D52安装与重启确认update.go, internal/releases, internal/updatesUI;发布解析测试;签名更新源/安装/重启待验收
D53应用与系统菜单menu.go, commands()原生委托;编辑/窗口/应用角色;平台菜单待验收
D54单实例窗口激活main.go, application.openWindow原生委托;实例锁和激活;平台待验收
D55外部帮助交接window.openDocs, desktop.OpenURL原生委托;URL 策略测试;浏览器交接待验收
P01-stsSTS 临时凭证connection_view.go, connection_actions.go, saved_locations.goUI;授权、范围和连接测试;真实登录/凭据库待验收
P01-customize自定义 Endpointconnection_view.go, connection_actions.go, saved_locations.goUI;授权、范围和连接测试;真实登录/凭据库待验收
P01-cnameCNAME 自定义域连接connection_view.go, connection_actions.go, saved_locations.goUI;授权、范围和连接测试;真实登录/凭据库待验收
P01-privateLinkPrivateLink 私网连接connection_view.go, connection_actions.go, saved_locations.goUI;授权、范围和连接测试;真实登录/凭据库待验收
P01-invalid连接失败与保留输入connection_view.go, connection_actions.go, saved_locations.goUI;授权、范围和连接测试;真实登录/凭据库待验收
P01-loading正在建立连接connection_view.go, connection_actions.go, saved_locations.goUI;授权、范围和连接测试;真实登录/凭据库待验收
P02-expired授权码过期connection_view.go, connection_actions.go, saved_locations.goUI;授权、范围和连接测试;真实登录/凭据库待验收
P03-gridBucket 图标视图browser_view.go, browser_controls.go, saved_locations.goUI;分页/导航测试;真实 OSS 待验收
P03-empty没有 Bucketbrowser_view.go, browser_controls.go, saved_locations.goUI;分页/导航测试;真实 OSS 待验收
P03-readonly临时只读会话browser_view.go, browser_controls.go, saved_locations.goUI;分页/导航测试;真实 OSS 待验收
P04-grid对象网格视图browser_view.go, browser_controls.go, saved_locations.goUI;分页/导航测试;真实 OSS 待验收
P04-search前缀搜索与无匹配browser_view.go, browser_controls.go, saved_locations.goUI;分页/导航测试;真实 OSS 待验收
P04-empty空目录browser_view.go, browser_controls.go, saved_locations.goUI;分页/导航测试;真实 OSS 待验收
P04-loading目录正在加载browser_view.go, browser_controls.go, saved_locations.goUI;分页/导航测试;真实 OSS 待验收
P04-offline网络中断与重试browser_view.go, browser_controls.go, saved_locations.goUI;分页/导航测试;真实 OSS 待验收
P04-forbidden无权读取当前目录browser_view.go, browser_controls.go, saved_locations.goUI;分页/导航测试;真实 OSS 待验收
P04-multi多选与批量操作browser_view.go, browser_controls.go, saved_locations.goUI;分页/导航测试;真实 OSS 待验收
P04-context对象右键菜单browser_view.go, browser_controls.go, saved_locations.goUI;分页/导航测试;真实 OSS 待验收
P04-large大列表与增量列举browser_view.go, browser_controls.go, saved_locations.goUI;分页/导航测试;真实 OSS 待验收
P04-clipboard复制移动待粘贴browser_view.go, browser_controls.go, saved_locations.goUI;分页/导航测试;真实 OSS 待验收
P06-failed下载失败与恢复transfer_controls.go, internal/transfersUI;队列、恢复、校验和及路径测试;真实传输待验收
D01-clear清空连接历史确认connection_view.go, connection_actions.go, saved_locations.goUI;授权、范围和连接测试;真实登录/凭据库待验收
D07-nonemptyBucket 非空删除失败bucket_tools.go, internal/ossclient/buckets.goUI;请求/范围/分页测试;真实 Bucket 待验收
D15-partial复制移动部分失败transfer_controls.go, internal/transfersUI;队列、恢复、校验和及路径测试;真实传输待验收
D17-partial批量删除部分失败object_actions.go, object_clipboard.goUI;递归计划和部分修改测试;真实修改待验收
D19-batch批量编辑元数据object_actions.go, internal/ossclient/objects.goUI;属性/ACL 保留测试;真实更新待验收
D23-readonly只读代码预览object_actions.go, preview_media.goUI;大小/完整性、未修改/Diff 及放弃测试
D23-oversize文本超过预览上限object_actions.go, preview_media.goUI;大小/完整性、未修改/Diff 及放弃测试
D25-audio音频预览preview_media.goUI 回退;原生播放器/编解码器及外部打开待验收
D25-flvFLV 视频预览preview_media.goUI 回退;原生播放器/编解码器及外部打开待验收
D27-error预览加载失败object_actions.go, preview_media.goUI;大小/完整性、未修改/Diff 及放弃测试
D31-public公开对象地址internal/ossclient/share.go, object_actions.goUI;二维码精确解码、URL 编码、ACL 及签名范围测试;域名绑定待验收
D31-domain自定义域与二维码internal/ossclient/share.go, object_actions.goUI;二维码精确解码、URL 编码、ACL 及签名范围测试;域名绑定待验收
D33-group授权给用户组ram_tools.go, internal/identityUI;签名 RPC、分页、范围和授权码测试;真实 RAM/STS 待验收
D33-role授权给角色ram_tools.go, internal/identityUI;签名 RPC、分页、范围和授权码测试;真实 RAM/STS 待验收
D33-policyPolicy JSON 预览编辑ram_tools.go, internal/identityUI;签名 RPC、分页、范围和授权码测试;真实 RAM/STS 待验收
D35-mailfailure授权成功但邮件失败ram_tools.go, internal/identityUI;签名 RPC、分页、范围和授权码测试;真实 RAM/STS 待验收
D36-system设置 · 系统settings_controls.go, system_settings.go, internal/diagnosticsUI;设置校验和日志轮转测试
D36-mail设置 · 邮件settings_controls.go, system_settings.go, internal/diagnosticsUI;设置校验和日志轮转测试
D36-logs设置 · 日志settings_controls.go, system_settings.go, internal/diagnosticsUI;设置校验和日志轮转测试
D36-other设置 · 其他settings_controls.go, system_settings.go, internal/diagnosticsUI;设置校验和日志轮转测试
D37-generated临时授权码已生成ram_tools.go, internal/identityUI;签名 RPC、分页、范围和授权码测试;真实 RAM/STS 待验收
D38-forbiddenRAM 列表权限不足ram_tools.go, internal/identityUI;签名 RPC、分页、范围和授权码测试;真实 RAM/STS 待验收
D46-crcCRC 校验不匹配transfer_controls.go, internal/transfersUI;队列、恢复、校验和及路径测试;真实传输待验收
D46-changed源对象变更重新下载transfer_controls.go, internal/transfersUI;队列、恢复、校验和及路径测试;真实传输待验收
D46-disk本地写入失败诊断transfer_controls.go, internal/transfersUI;队列、恢复、校验和及路径测试;真实传输待验收
D50-downloading更新下载进度update.go, internal/releases, internal/updatesUI;发布解析测试;签名更新源/安装/重启待验收
D50-failed更新下载失败update.go, internal/releases, internal/updatesUI;发布解析测试;签名更新源/安装/重启待验收
D50-finished更新已就绪update.go, internal/releases, internal/updatesUI;发布解析测试;签名更新源/安装/重启待验收
E03放弃未保存修改确认object_actions.go, preview_media.goUI;大小/完整性、未修改/Diff 及放弃测试

协议参考 ​

OSS 存储类型、请求者付费、RestoreObject 和 PutSymlink。暂存更新器遵循固定 MyGo v0.4.8 模块的清单/签名格式;改编代码在 internal/updates/LICENSE 中保留 MIT 许可声明。

OSS Browser 的独立重构版本。