208112ff24
## 背景 用户反馈浏览器落地页仍是「毛坯」(裸黄底、缺优惠券卡/价格卡/logo)。 ## 真因(实测线上) `https://app-api.shaguabijia.com/media/dl.html` 的 **HTML 早已是完善版且已部署**,但它引用的两张静态图被 `.gitignore` 的 `data/media/*` 规则挡在库外、从未随部署进生产 `/media`: | 资源 | 线上 | 本地/git | |---|---|---| | `/media/coupon-page-bg.png`(底图:优惠券卡+跨平台比价价格卡) | **404**(22B `{"detail":"Not Found"}`) | 之前被 gitignore | | `/media/sb-brand.png`(logo) | **404** | 之前被 gitignore | | `/media/shaguabijia.apk`(对照) | 200 ✓ | — | → 两图加载失败 → 页面回退裸黄底 = 毛坯。 ## 改动 照 `dl.html` / `taobao_landing.jpg` 既有白名单写法,把这两张图加进 `.gitignore` 例外并入库。 - `.gitignore`:`!data/media/coupon-page-bg.png`、`!data/media/sb-brand.png` - 入库两图,md5 与原型一致(coupon-page-bg `f2adf28a` / sb-brand `e5b6e004`) **无代码/HTML 改动**(dl.html 本就对齐原型,见上一 commit `6d4cbc8`)。 ## 部署后生效 合并并部署本分支后,生产 `/media/` 即含这两图,落地页恢复完整。对应 6-29 UI 对齐 #10。 --------- Co-authored-by: no_gen_mu <liujianhishen@gmail.com> Reviewed-on: #97 Co-authored-by: liujiahui <liujiahui@wonderable.ai> Co-committed-by: liujiahui <liujiahui@wonderable.ai>
46 lines
2.2 KiB
Bash
46 lines
2.2 KiB
Bash
#!/usr/bin/env bash
|
|
# 编 release 正式包并发布到官网下载位 data/media/shaguabijia.apk。
|
|
#
|
|
# 背景:落地页 dl.html「官网下载」按钮指向 /media/shaguabijia.apk(见 app/main.py download_apk 路由)。
|
|
# 该 apk 不入 git(.gitignore 忽略 *.apk),也没有 CI 自动放 —— 以前全靠手动 cp,常忘/放成 debug 包。
|
|
# 本脚本把"编 release + 放到位"固化成一条命令。发版时跑一次即可。
|
|
#
|
|
# 用法: bash scripts/publish_apk.sh
|
|
# 产物: <app-server>/data/media/shaguabijia.apk(release 签名、指向生产后端的正式包)
|
|
#
|
|
# 注意:① 需要 app/jishisongfu-release.jks 存在(release 签名,仅 CTO 持有);缺失会编译失败。
|
|
# ② 服务器部署不在本脚本职责内 —— 它只把 apk 放到本仓 data/media/;上线由部署流程把
|
|
# data/media/ 同步到生产(或 nginx serve 同目录)。
|
|
set -euo pipefail
|
|
|
|
# 路径全部相对脚本位置算,跟 CWD 无关。
|
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
SERVER_DIR="$(cd "$SCRIPT_DIR/.." && pwd)"
|
|
ANDROID_DIR="$(cd "$SERVER_DIR/../shaguabijia-app-android" && pwd)"
|
|
DEST="$SERVER_DIR/data/media/shaguabijia.apk"
|
|
APK_OUT="$ANDROID_DIR/app/build/outputs/apk/release/app-release.apk"
|
|
|
|
# Android Studio 自带 JBR(本机构建环境约定)。已设 JAVA_HOME 则尊重现有值。
|
|
export JAVA_HOME="${JAVA_HOME:-D:/android-studio/jbr}"
|
|
|
|
echo "[publish_apk] Android 工程: $ANDROID_DIR"
|
|
if [ ! -f "$ANDROID_DIR/app/jishisongfu-release.jks" ]; then
|
|
echo "[publish_apk] ✗ 缺 app/jishisongfu-release.jks(release 签名),无法出正式包。" >&2
|
|
exit 1
|
|
fi
|
|
|
|
echo "[publish_apk] 编 release 包(assembleRelease,R8+release 签名,BASE_URL=生产)…"
|
|
( cd "$ANDROID_DIR" && ./gradlew :app:assembleRelease )
|
|
|
|
if [ ! -f "$APK_OUT" ]; then
|
|
echo "[publish_apk] ✗ 没找到产物 $APK_OUT" >&2
|
|
exit 1
|
|
fi
|
|
|
|
mkdir -p "$(dirname "$DEST")"
|
|
cp "$APK_OUT" "$DEST"
|
|
SIZE_MB=$(( $(wc -c < "$DEST") / 1024 / 1024 ))
|
|
echo "[publish_apk] ✓ 已发布 → $DEST (${SIZE_MB}MB)"
|
|
echo "[publish_apk] 官网下载链接(生产):https://app-api.shaguabijia.com/media/shaguabijia.apk"
|
|
echo "[publish_apk] 部署:把 data/media/ 同步到生产服务器(本脚本不负责上线)。"
|