feat(mobile): UI-01 album cards, photo grid and full viewer
Co-Authored-By: Claude Code <noreply@anthropic.com>
This commit is contained in:
@@ -262,6 +262,9 @@ Map<String, dynamic> adminPhotoJson({
|
||||
String visibility = 'published',
|
||||
String processingState = 'ready',
|
||||
int bytes = 123456,
|
||||
String uploaderAccount = 'staff02',
|
||||
String uploaderName = 'Staff Two',
|
||||
Map<String, dynamic>? preview,
|
||||
}) => <String, dynamic>{
|
||||
'photoId': photoId,
|
||||
'albumId': albumId,
|
||||
@@ -278,10 +281,25 @@ Map<String, dynamic> adminPhotoJson({
|
||||
'likeCount': 0,
|
||||
'uploader': <String, dynamic>{
|
||||
'userId': 'u-2',
|
||||
'account': 'staff02',
|
||||
'displayName': 'Staff Two',
|
||||
'account': uploaderAccount,
|
||||
'displayName': uploaderName,
|
||||
},
|
||||
'preview': preview,
|
||||
};
|
||||
|
||||
/// 契约 `PhotoPreview` 响应体(thumb/browse 签名 URL)。
|
||||
Map<String, dynamic> photoPreviewJson({
|
||||
String thumbUrl = 'http://test.local/thumb.jpg',
|
||||
String browseUrl = 'http://test.local/browse.jpg',
|
||||
}) => <String, dynamic>{
|
||||
'thumb': {
|
||||
'url': thumbUrl,
|
||||
'expiresAt': '2026-09-22T00:00:00Z',
|
||||
},
|
||||
'browse': {
|
||||
'url': browseUrl,
|
||||
'expiresAt': '2026-09-22T00:00:00Z',
|
||||
},
|
||||
'preview': null,
|
||||
};
|
||||
|
||||
/// 契约游标分页响应体(hasMore 与 nextCursor 成对)。
|
||||
|
||||
Reference in New Issue
Block a user