Files
life-echo/app-expo/scripts/generate-app-icon.sh
Kevin d0c26242db fix(conversation): 离屏不丢回复、列表预热 WS 与非阻塞进入聊天
- 后端:文本/转写后 AI 生成改为独立任务,避免断连取消整轮;按需 TTS 等与 WS 改动
- 前端:RealtimeSession 重绑 UI 时恢复流式 buffer;列表 onPressIn/挂载预热、已有会话立即 push
- 同步会话相关类型、i18n、测试与 env/资源等累计改动

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-08 17:28:31 +08:00

61 lines
2.2 KiB
Bash
Executable File
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#!/usr/bin/env bash
# 用 ImageMagick 7+magick从 assets/logo.png或旧的 life-echo-logo.jpg生成各平台 PNG。
# 依赖brew install imagemagick
# 用法:在 app-expo 目录执行 ./scripts/generate-app-icon.sh
set -euo pipefail
ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
OUT="$ROOT/assets/images"
# 与 Android adaptiveIcon.backgroundColor、开屏底色一致新 logo 浅紫系)
BRAND_BG="#E6F4FE"
if [[ -f "$ROOT/assets/logo.png" ]]; then
SRC="$ROOT/assets/logo.png"
elif [[ -f "$ROOT/assets/life-echo-logo.jpg" ]]; then
SRC="$ROOT/assets/life-echo-logo.jpg"
else
echo "missing: $ROOT/assets/logo.png or $ROOT/assets/life-echo-logo.jpg" >&2
exit 1
fi
TMP="$(mktemp -d)"
trap 'rm -rf "$TMP"' EXIT
if ! command -v magick >/dev/null; then
echo "need: magick (ImageMagick 7)" >&2
exit 1
fi
mkdir -p "$OUT"
# 底图抠透明JPG 近白底PNG 主站 logo 为品牌浅底
if [[ "$SRC" == *.jpg ]] || [[ "$SRC" == *.jpeg ]]; then
magick "$SRC" -fuzz 12% -transparent white PNG32:"$TMP/fg.png"
else
magick "$SRC" -fuzz 12% -transparent "${BRAND_BG}" PNG32:"$TMP/fg.png"
fi
# Android 自适应前景透明底1024内容约 78% 安全区)
magick "$TMP/fg.png" -resize '800x800>' -background none -gravity center -extent 1024x1024 \
PNG32:"$OUT/android-icon-foreground.png"
# 通用 / iOS 主图标(实色底)
magick -size 1024x1024 "xc:${BRAND_BG}" \( "$TMP/fg.png" -resize '800x800>' \) -gravity center -compose over -composite \
PNG32:"$OUT/icon.png"
# Android 13+ 单色层(白/透明)
magick "$OUT/android-icon-foreground.png" -alpha extract -fill white -colorize 100 -background none -alpha shape \
PNG32:"$OUT/android-icon-monochrome.png"
# 开屏图:仅透明 logo底色由 expo-splash-screen backgroundColor 填充)
magick "$TMP/fg.png" -resize '400x400>' PNG32:"$OUT/splash-icon.png"
magick "$OUT/icon.png" -resize 48x48 PNG32:"$OUT/favicon.png"
# 带 Alpha 的 logo与 app 内资源一致时可自行纳入版本库)
magick "$TMP/fg.png" -resize '1024x1024>' -background none -gravity center -extent 1024x1024 \
PNG32:"$OUT/icon-alpha.png"
echo "OK → $OUT/icon.png, icon-alpha.png, android-icon-foreground.png, android-icon-monochrome.png, splash-icon.png, favicon.png"