diff --git a/apps/mobile/android/app/src/main/res/drawable-hdpi/ic_launcher_foreground.png b/apps/mobile/android/app/src/main/res/drawable-hdpi/ic_launcher_foreground.png new file mode 100644 index 0000000..611436a Binary files /dev/null and b/apps/mobile/android/app/src/main/res/drawable-hdpi/ic_launcher_foreground.png differ diff --git a/apps/mobile/android/app/src/main/res/drawable-mdpi/ic_launcher_foreground.png b/apps/mobile/android/app/src/main/res/drawable-mdpi/ic_launcher_foreground.png new file mode 100644 index 0000000..13fa30c Binary files /dev/null and b/apps/mobile/android/app/src/main/res/drawable-mdpi/ic_launcher_foreground.png differ diff --git a/apps/mobile/android/app/src/main/res/drawable-xhdpi/ic_launcher_foreground.png b/apps/mobile/android/app/src/main/res/drawable-xhdpi/ic_launcher_foreground.png new file mode 100644 index 0000000..ce6fcc7 Binary files /dev/null and b/apps/mobile/android/app/src/main/res/drawable-xhdpi/ic_launcher_foreground.png differ diff --git a/apps/mobile/android/app/src/main/res/drawable-xxhdpi/ic_launcher_foreground.png b/apps/mobile/android/app/src/main/res/drawable-xxhdpi/ic_launcher_foreground.png new file mode 100644 index 0000000..c0a0345 Binary files /dev/null and b/apps/mobile/android/app/src/main/res/drawable-xxhdpi/ic_launcher_foreground.png differ diff --git a/apps/mobile/android/app/src/main/res/drawable-xxxhdpi/ic_launcher_foreground.png b/apps/mobile/android/app/src/main/res/drawable-xxxhdpi/ic_launcher_foreground.png new file mode 100644 index 0000000..2231dc4 Binary files /dev/null and b/apps/mobile/android/app/src/main/res/drawable-xxxhdpi/ic_launcher_foreground.png differ diff --git a/apps/mobile/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml b/apps/mobile/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml new file mode 100644 index 0000000..c79c58a --- /dev/null +++ b/apps/mobile/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml @@ -0,0 +1,9 @@ + + + + + + + diff --git a/apps/mobile/android/app/src/main/res/mipmap-hdpi/ic_launcher.png b/apps/mobile/android/app/src/main/res/mipmap-hdpi/ic_launcher.png index db77bb4..61e4d3e 100644 Binary files a/apps/mobile/android/app/src/main/res/mipmap-hdpi/ic_launcher.png and b/apps/mobile/android/app/src/main/res/mipmap-hdpi/ic_launcher.png differ diff --git a/apps/mobile/android/app/src/main/res/mipmap-mdpi/ic_launcher.png b/apps/mobile/android/app/src/main/res/mipmap-mdpi/ic_launcher.png index 17987b7..749ddb2 100644 Binary files a/apps/mobile/android/app/src/main/res/mipmap-mdpi/ic_launcher.png and b/apps/mobile/android/app/src/main/res/mipmap-mdpi/ic_launcher.png differ diff --git a/apps/mobile/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png b/apps/mobile/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png index 09d4391..0378568 100644 Binary files a/apps/mobile/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png and b/apps/mobile/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png differ diff --git a/apps/mobile/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png b/apps/mobile/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png index d5f1c8d..85ac75d 100644 Binary files a/apps/mobile/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png and b/apps/mobile/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png differ diff --git a/apps/mobile/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png b/apps/mobile/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png index 4d6372e..ce8136e 100644 Binary files a/apps/mobile/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png and b/apps/mobile/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png differ diff --git a/apps/mobile/android/app/src/main/res/values/colors.xml b/apps/mobile/android/app/src/main/res/values/colors.xml new file mode 100644 index 0000000..f6cedf4 --- /dev/null +++ b/apps/mobile/android/app/src/main/res/values/colors.xml @@ -0,0 +1,4 @@ + + + #1A73E8 + \ No newline at end of file diff --git a/apps/mobile/assets/brand/app-icon.png b/apps/mobile/assets/brand/app-icon.png new file mode 100644 index 0000000..477fea0 Binary files /dev/null and b/apps/mobile/assets/brand/app-icon.png differ diff --git a/apps/mobile/pubspec.lock b/apps/mobile/pubspec.lock index b2082b0..89cae57 100644 --- a/apps/mobile/pubspec.lock +++ b/apps/mobile/pubspec.lock @@ -17,6 +17,14 @@ packages: url: "https://pub.flutter-io.cn" source: hosted version: "13.0.0" + archive: + dependency: transitive + description: + name: archive + sha256: "6c5bcd986e06b94e3c40244af471750840a3d2341d1f9763a1100a14add517b4" + url: "https://pub.flutter-io.cn" + source: hosted + version: "4.3.0" args: dependency: transitive description: @@ -157,10 +165,10 @@ packages: dependency: transitive description: name: cli_util - sha256: "71e43f1976c3eae2d9468a5b4d6600bf8cae61508b87f27fa1799228935d48ab" + sha256: ff6785f7e9e3c38ac98b2fb035701789de90154024a75b6cb926445e83197d1c url: "https://pub.flutter-io.cn" source: hosted - version: "0.5.2" + version: "0.4.2" clock: dependency: transitive description: @@ -331,6 +339,14 @@ packages: description: flutter source: sdk version: "0.0.0" + flutter_launcher_icons: + dependency: "direct dev" + description: + name: flutter_launcher_icons + sha256: "10f13781741a2e3972126fae08393d3c4e01fa4cd7473326b94b72cf594195e7" + url: "https://pub.flutter-io.cn" + source: hosted + version: "0.14.4" flutter_lints: dependency: "direct dev" description: @@ -487,6 +503,14 @@ packages: url: "https://pub.flutter-io.cn" source: hosted version: "4.1.2" + image: + dependency: transitive + description: + name: image + sha256: a1e7f4951e538a568e14b856702afc9ae1d2f4b202daced8d22c1b9cd211ce89 + url: "https://pub.flutter-io.cn" + source: hosted + version: "4.10.1" image_picker: dependency: "direct main" description: @@ -788,6 +812,14 @@ packages: url: "https://pub.flutter-io.cn" source: hosted version: "1.5.3" + posix: + dependency: transitive + description: + name: posix + sha256: bc1bad54ad2b735816e31f8d4600cfde6c7839975085ddfbca48b6c9f7c4044e + url: "https://pub.flutter-io.cn" + source: hosted + version: "6.5.2" process: dependency: transitive description: diff --git a/apps/mobile/pubspec.yaml b/apps/mobile/pubspec.yaml index 4d8c7cb..1fb955f 100644 --- a/apps/mobile/pubspec.yaml +++ b/apps/mobile/pubspec.yaml @@ -40,6 +40,14 @@ dependencies: gal: ^2.3.3 fluwx: ^6.0.2 + +flutter_launcher_icons: + android: true + ios: false + image_path: "assets/brand/app-icon.png" + adaptive_icon_background: "#1A73E8" + adaptive_icon_foreground: "assets/brand/app-icon.png" + dev_dependencies: flutter_test: sdk: flutter @@ -49,6 +57,7 @@ dev_dependencies: flutter_lints: ^6.0.0 build_runner: ^2.15.1 drift_dev: ^2.35.0 + flutter_launcher_icons: ^0.14.0 flutter: # l10n 代码生成(arb 见 lib/l10n/,配置见 l10n.yaml) diff --git a/docs/designs/brand/photolive-app-logo-1024-2026-09-24.png b/docs/designs/brand/photolive-app-logo-1024-2026-09-24.png new file mode 100644 index 0000000..477fea0 Binary files /dev/null and b/docs/designs/brand/photolive-app-logo-1024-2026-09-24.png differ diff --git a/docs/designs/brand/photolive-app-logo-2026-09-24.md b/docs/designs/brand/photolive-app-logo-2026-09-24.md new file mode 100644 index 0000000..2d42b1e --- /dev/null +++ b/docs/designs/brand/photolive-app-logo-2026-09-24.md @@ -0,0 +1,12 @@ +# PhotoLive App icon + +日期:2026-09-24。 + +- 最终文件:`photolive-app-logo-1024-2026-09-24.png`,1024×1024 PNG。 +- 原始生成文件:`photolive-app-logo-original-2026-09-24.png`,1254×1254 PNG。 +- 内置 image_gen 生成;最终尺寸采用等比例高质量导出,不裁剪内容。 +- 蓝白相机与光圈组合,无文字。未替换项目现有 App 图标配置。 + +## Generation prompt + +Use case: logo-brand. Generate ONE finished app icon for PhotoLive, a professional enterprise event photography and live photo sharing app. Output EXACTLY 1024 by 1024 pixels, square PNG. Full-bleed solid brilliant blue background #1A73E8 extending to all four square edges, opaque background, NO pre-rounded outer icon corners. In the center a beautifully balanced distinctive white geometric camera aperture symbol, six broad expertly spaced interlocking shutter blades encircling a clear blue hexagonal lens opening. Subtly integrate the silhouette of a photographic frame into the overall mark without additional separate symbols. Strong simple memorable silhouette, highly legible at 48px, flat vector-like precision, smooth optically corrected curves, generous safe area of about 20 percent around the central symbol. White mark approximately 60 percent of canvas width. Premium calm modern visual identity consistent with blue-and-white PhotoLive admin and mobile UI. Pure flat colors blue and white, no gradients, no shadows, no 3D, no glossy highlights. No text, no letters, no wordmark, no Chinese characters, no slogan, no watermark, no presentation board, no mockup phone, no multiple alternatives. This is the actual exportable icon asset, not a picture of an icon on a background. diff --git a/docs/designs/brand/photolive-app-logo-original-2026-09-24.png b/docs/designs/brand/photolive-app-logo-original-2026-09-24.png new file mode 100644 index 0000000..a2f7f66 Binary files /dev/null and b/docs/designs/brand/photolive-app-logo-original-2026-09-24.png differ