feat:消息提醒功能

This commit is contained in:
amos
2025-12-19 17:13:07 +08:00
parent adcd553e2a
commit 6fc8d5cfd1
2 changed files with 41 additions and 32 deletions

View File

@@ -13,11 +13,11 @@ android {
applicationId = "com.memory.app"
minSdk = 26
targetSdk = 35
versionCode = 10
versionName = "1.2.6"
versionCode = 13
versionName = "1.2.9"
buildConfigField("String", "API_BASE_URL", "\"https://x.amos.us.kg/api/\"")
buildConfigField("int", "VERSION_CODE", "10")
buildConfigField("int", "VERSION_CODE", "13")
}
signingConfigs {

View File

@@ -137,7 +137,7 @@ upload_to_r2() {
echo "${R2_PUBLIC_URL}/${remote_path}"
}
# 更新服务器版本信息
# 更新服务器版本信息,返回 0 成功1 失败
update_server_version() {
local version_code=$1
local version_name=$2
@@ -145,16 +145,29 @@ update_server_version() {
local update_log=$4
echo "🔄 更新服务器版本信息..."
echo " version_code: ${version_code}"
echo " version_name: ${version_name}"
echo " download_url: ${download_url}"
curl -s -X POST "${API_BASE_URL}/version" \
# 使用 printf 构建正确的 JSON
local json_data=$(printf '{"version_code":%d,"version_name":"%s","download_url":"%s","update_log":"%s","force_update":false}' \
"$version_code" "$version_name" "$download_url" "$update_log")
local response=$(curl -s -w "\n%{http_code}" -X POST "${API_BASE_URL}/version" \
-H "Content-Type: application/json" \
-d "{
\"version_code\": ${version_code},
\"version_name\": \"${version_name}\",
\"download_url\": \"${download_url}\",
\"update_log\": \"${update_log}\",
\"force_update\": false
}"
-d "$json_data")
local http_code=$(echo "$response" | tail -n1)
local body=$(echo "$response" | sed '$d')
if [ "$http_code" = "200" ]; then
echo "✅ 服务器版本信息已更新"
return 0
else
echo "❌ 更新服务器版本失败 (HTTP $http_code)"
echo " 响应: $body"
return 1
fi
}
# ============ 主流程 ============
@@ -206,16 +219,7 @@ if [ "$BUILD_APK" = true ]; then
# 获取更新日志
echo ""
echo "📝 请输入更新日志 (输入空行结束):"
update_log=""
while IFS= read -r line; do
[ -z "$line" ] && break
if [ -z "$update_log" ]; then
update_log="$line"
else
update_log="${update_log}\\n${line}"
fi
done
read -p "📝 请输入更新日志: " update_log
if [ -z "$update_log" ]; then
update_log="Bug 修复和性能优化"
@@ -239,17 +243,22 @@ if [ "$BUILD_APK" = true ]; then
# 编译
build_apk
# 上传
download_url=$(upload_to_r2 $new_version)
echo "✅ 上传完成: $download_url"
# 先更新服务器版本信息,成功后再上传 APK
download_url="${R2_PUBLIC_URL}/releases/memory-${new_version}.apk"
if update_server_version $new_code "$new_version" "$download_url" "$update_log"; then
# 上传 APK
upload_to_r2 $new_version
echo "✅ 上传完成: $download_url"
# 更新服务器
update_server_version $new_code "$new_version" "$download_url" "$update_log"
echo ""
echo "🎉 APK 发布完成!"
echo " 版本: v${new_version}"
echo " 下载: ${download_url}"
echo ""
echo "🎉 APK 发布完成!"
echo " 版本: v${new_version}"
echo " 下载: ${download_url}"
else
echo ""
echo "❌ 服务器版本更新失败APK 未上传"
exit 1
fi
fi
fi