diff --git a/apps/macos/VODManager/Sources/VODManager/Services/VODClient.swift b/apps/macos/VODManager/Sources/VODManager/Services/VODClient.swift index 42ca901..746968d 100644 --- a/apps/macos/VODManager/Sources/VODManager/Services/VODClient.swift +++ b/apps/macos/VODManager/Sources/VODManager/Services/VODClient.swift @@ -45,7 +45,9 @@ actor VODClient { return [ "AccessKeyId": account.accessKeyId, "Format": "JSON", + "SignatureMethod": "HMAC-SHA1", "SignatureNonce": UUID().uuidString, + "SignatureVersion": "1.0", "Timestamp": formatter.string(from: Date()), "Version": "2017-03-21", ] diff --git a/apps/macos/VODManager/Sources/VODManager/Views/VideoListView.swift b/apps/macos/VODManager/Sources/VODManager/Views/VideoListView.swift index d6691f9..9a9b444 100644 --- a/apps/macos/VODManager/Sources/VODManager/Views/VideoListView.swift +++ b/apps/macos/VODManager/Sources/VODManager/Views/VideoListView.swift @@ -48,9 +48,20 @@ struct VideoListView: View { .padding() if let error = errorMessage { - Text(error) - .foregroundStyle(.red) - .padding(.horizontal) + HStack { + Text(error) + .foregroundStyle(.red) + Button { + NSPasteboard.general.clearContents() + NSPasteboard.general.setString(error, forType: .string) + } label: { + Image(systemName: "doc.on.doc") + } + .buttonStyle(.borderless) + .help("复制错误信息") + Spacer() + } + .padding(.horizontal) } Table(of: VideoItem.self, selection: $selectedVideos) {