fix: deploy.sh 和 update.sh 补充 SDK_BUGCOLLECT_API_URL 配置

deploy.sh:xuqm.env 模板增加 SDK_BUGCOLLECT_API_URL=${CONSOLE_BASE}/api,
避免新建部署时缺失该配置导致 BugCollect 上报路径拼接错误(double /bugcollect)。

update.sh:Step 2 SDK URL 修复逻辑增加对 SDK_BUGCOLLECT_API_URL 的检测:
- 值为空:追加正确地址
- 含 xuqinmin.com 残留 / 裸 IP:修正为当前 CONSOLE_DOMAIN/api
- 含错误的 /bugcollect 后缀:去除后缀(SDK 自己拼接完整路径)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
这个提交包含在:
徐勤民 2026-06-23 22:03:10 +08:00
父节点 d353ecdb39
当前提交 b42c2c686b
共有 2 个文件被更改,包括 19 次插入0 次删除

查看文件

@ -439,6 +439,8 @@ PUSH_DOMAIN=${CONSOLE_BASE}
SDK_FILE_SERVICE_URL=${CONSOLE_BASE} SDK_FILE_SERVICE_URL=${CONSOLE_BASE}
SDK_IM_API_URL=${CONSOLE_BASE} SDK_IM_API_URL=${CONSOLE_BASE}
SDK_IM_WS_URL=${_WS_SCHEME}://${DEPLOY_HOST}/ws/im SDK_IM_WS_URL=${_WS_SCHEME}://${DEPLOY_HOST}/ws/im
# BugCollect 上报地址SDK 会在此基础上拼接 /bugcollect/v1/issues/batch
SDK_BUGCOLLECT_API_URL=${CONSOLE_BASE}/api
# License 文件内嵌的 baseUrlSDK 读取 license.xuqm 时用此地址连接私有 license 服务) # License 文件内嵌的 baseUrlSDK 读取 license.xuqm 时用此地址连接私有 license 服务)
LICENSE_PUBLIC_BASE_URL=${CONSOLE_BASE} LICENSE_PUBLIC_BASE_URL=${CONSOLE_BASE}

查看文件

@ -226,6 +226,23 @@ else
ok "LICENSE_PUBLIC_BASE_URL 正常: ${_CURRENT_LICENSE_URL}" ok "LICENSE_PUBLIC_BASE_URL 正常: ${_CURRENT_LICENSE_URL}"
fi fi
# SDK_BUGCOLLECT_API_URLBugCollect SDK 上报地址SDK 会在此基础上拼接 /bugcollect/v1/...
# 正确值:{CONSOLE_DOMAIN}/api,不含 /bugcollect 后缀
_CORRECT_BC_URL="${_CONSOLE_DOMAIN}/api"
_CURRENT_BC_URL="$(grep '^SDK_BUGCOLLECT_API_URL=' "$ROOT_DIR/config/xuqm.env" 2>/dev/null | cut -d= -f2- || true)"
_bc_needs_fix=0
[ -z "$_CURRENT_BC_URL" ] && _bc_needs_fix=1
# 含 xuqinmin.com 残留 / 裸 IP / 含错误的 /bugcollect 后缀
_url_needs_fix "$_CURRENT_BC_URL" && _bc_needs_fix=1
printf '%s' "$_CURRENT_BC_URL" | grep -qE '/bugcollect/?$' && _bc_needs_fix=1
if [ "$_bc_needs_fix" -eq 1 ]; then
_set_env "$ROOT_DIR/config/xuqm.env" "SDK_BUGCOLLECT_API_URL" "$_CORRECT_BC_URL"
ok "SDK_BUGCOLLECT_API_URL 已更新 → ${_CORRECT_BC_URL}"
_FIXED=1
else
ok "SDK_BUGCOLLECT_API_URL 正常: ${_CURRENT_BC_URL}"
fi
# 清理 .env 中残留的 OPS_DOMAIN # 清理 .env 中残留的 OPS_DOMAIN
if grep -q '^OPS_DOMAIN=' "$ROOT_DIR/.env" 2>/dev/null; then if grep -q '^OPS_DOMAIN=' "$ROOT_DIR/.env" 2>/dev/null; then
python3 - "$ROOT_DIR/.env" <<'PY' python3 - "$ROOT_DIR/.env" <<'PY'