- 集成依赖管理配置文件 libs.versions.toml,统一管理项目依赖版本 - 实现演示 API 接口定义,包含登录、注册、用户管理等 RESTful 端点 - 创建认证仓库 AuthRepository,处理用户会话管理和加密存储 - 开发登录和注册界面,实现用户身份验证流程 - 构建聊天界面 ChatScreen,支持消息收发和历史记录显示 - 实现联系人管理功能,包含好友搜索和添加删除操作 - 添加会话列表界面,展示最近聊天记录和未读消息提示
58 行
1.7 KiB
Bash
可执行文件
58 行
1.7 KiB
Bash
可执行文件
#!/usr/bin/env bash
|
|
|
|
set -euo pipefail
|
|
|
|
BASE_URL="${BASE_URL:-https://dev.xuqinmin.com}"
|
|
APP_ID="${APP_ID:-ak_demo_chat}"
|
|
MODULE_ID="${MODULE_ID:-chat-home}"
|
|
|
|
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
|
|
ASSET_DIR="${SCRIPT_DIR%/scripts}/demo-assets"
|
|
|
|
APK_FILE="${ASSET_DIR}/xuqm-chat-demo-1.0.1.apk"
|
|
BUNDLE_FILE="${ASSET_DIR}/chat-home.android.bundle"
|
|
|
|
echo "Uploading demo APK metadata to ${BASE_URL}"
|
|
|
|
APP_UPLOAD_JSON="$(curl -fsS -X POST "${BASE_URL}/api/v1/updates/app/upload" \
|
|
-F "appId=${APP_ID}" \
|
|
-F "platform=ANDROID" \
|
|
-F "versionName=1.0.1" \
|
|
-F "versionCode=2" \
|
|
-F "changeLog=RN demo app update 1.0.1" \
|
|
-F "forceUpdate=false" \
|
|
-F "apkFile=@${APK_FILE};type=application/vnd.android.package-archive")"
|
|
|
|
APP_VERSION_ID="$(printf '%s' "${APP_UPLOAD_JSON}" | sed -n 's/.*"id":"\([^"]*\)".*/\1/p')"
|
|
|
|
if [[ -z "${APP_VERSION_ID}" ]]; then
|
|
echo "Failed to parse app version id"
|
|
echo "${APP_UPLOAD_JSON}"
|
|
exit 1
|
|
fi
|
|
|
|
curl -fsS -X POST "${BASE_URL}/api/v1/updates/app/${APP_VERSION_ID}/publish" >/dev/null
|
|
|
|
echo "Uploading demo RN bundle to ${BASE_URL}"
|
|
|
|
RN_UPLOAD_JSON="$(curl -fsS -X POST "${BASE_URL}/api/v1/rn/upload" \
|
|
-F "appId=${APP_ID}" \
|
|
-F "moduleId=${MODULE_ID}" \
|
|
-F "platform=ANDROID" \
|
|
-F "version=1.0.1" \
|
|
-F "minCommonVersion=1.0.0" \
|
|
-F "note=RN chat demo hot update 1.0.1" \
|
|
-F "bundle=@${BUNDLE_FILE};type=application/javascript")"
|
|
|
|
RN_BUNDLE_ID="$(printf '%s' "${RN_UPLOAD_JSON}" | sed -n 's/.*"id":"\([^"]*\)".*/\1/p')"
|
|
|
|
if [[ -z "${RN_BUNDLE_ID}" ]]; then
|
|
echo "Failed to parse RN bundle id"
|
|
echo "${RN_UPLOAD_JSON}"
|
|
exit 1
|
|
fi
|
|
|
|
curl -fsS -X POST "${BASE_URL}/api/v1/rn/${RN_BUNDLE_ID}/publish" >/dev/null
|
|
|
|
echo "Demo assets published successfully."
|