完善景区排队设置页与全局按钮配置迁移。
重构排队设置与变更日志交互,补充 Overlay 与资源,并将多页面主操作按钮统一到 UIButton Configuration,同步更新相关单元测试。 Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@ -858,6 +858,11 @@ extension WiredCameraTransferViewController: PHPickerViewControllerDelegate {
|
||||
) async -> TravelAlbumPhoneAlbumImportItem? {
|
||||
let provider = result.itemProvider
|
||||
let typeIdentifier = preferredImageTypeIdentifier(from: provider)
|
||||
let fileName = importFileName(
|
||||
suggestedName: provider.suggestedName,
|
||||
typeIdentifier: typeIdentifier,
|
||||
index: index
|
||||
)
|
||||
return await withCheckedContinuation { continuation in
|
||||
provider.loadDataRepresentation(forTypeIdentifier: typeIdentifier) { data, _ in
|
||||
guard let data, !data.isEmpty else {
|
||||
@ -867,7 +872,7 @@ extension WiredCameraTransferViewController: PHPickerViewControllerDelegate {
|
||||
continuation.resume(
|
||||
returning: TravelAlbumPhoneAlbumImportItem(
|
||||
data: data,
|
||||
fileName: importFileName(provider: provider, typeIdentifier: typeIdentifier, index: index),
|
||||
fileName: fileName,
|
||||
createdAt: Date()
|
||||
)
|
||||
)
|
||||
@ -881,9 +886,9 @@ extension WiredCameraTransferViewController: PHPickerViewControllerDelegate {
|
||||
} ?? UTType.image.identifier
|
||||
}
|
||||
|
||||
private static func importFileName(provider: NSItemProvider, typeIdentifier: String, index: Int) -> String {
|
||||
private static func importFileName(suggestedName: String?, typeIdentifier: String, index: Int) -> String {
|
||||
let fallback = "album_image_\(Int(Date().timeIntervalSince1970))_\(index)"
|
||||
let rawName = provider.suggestedName?.trimmingCharacters(in: .whitespacesAndNewlines)
|
||||
let rawName = suggestedName?.trimmingCharacters(in: .whitespacesAndNewlines)
|
||||
let baseName = rawName?.isEmpty == false ? rawName! : fallback
|
||||
guard URL(fileURLWithPath: baseName).pathExtension.isEmpty else {
|
||||
return baseName
|
||||
|
||||
Reference in New Issue
Block a user