R106/A1-A6 固化自动视觉巡检门禁

这个提交包含在:
2026-05-07 19:38:47 +08:00
父节点 515b7759cb
当前提交 78b07ad895
共修改 9 个文件,包含 990 行新增和 3 行删除
+47 -3
查看文件
@@ -36,7 +36,7 @@ qa_require_cmd() {
qa_usage() {
cat <<USAGE
Usage: bash scripts/qa/run-web-gates.sh <smoke-local|full-local|r70-assist-local|smoke-live>
Usage: bash scripts/qa/run-web-gates.sh <smoke-local|full-local|r70-assist-local|r106-visual-local|smoke-live>
可选环境变量:
QA_PORT / QA_HOST
@@ -44,6 +44,7 @@ Usage: bash scripts/qa/run-web-gates.sh <smoke-local|full-local|r70-assist-local
QA_DB_CLIENT=host|docker
QA_DB_DOCKER_CONTAINER / QA_DOCKER_USE_SG=1
QA_DB_PREFIX / QA_DB_NAME / QA_KEEP_DB
QA_SKIP_CLIENT_BUILD=1 复用已有 client/dist(低内存远程机排查视觉问题时使用)
LIVE_SMOKE_BASE_URL / LIVE_SMOKE_ADMIN_* / LIVE_SMOKE_EMPLOYEE_* / LIVE_EXPECT_WECOM_STATUS
USAGE
}
@@ -257,6 +258,7 @@ qa_cleanup() {
qa_export_app_env() {
export NODE_ENV=test
export NODE_OPTIONS="${NODE_OPTIONS:---max-old-space-size=4096}"
export HOST="$QA_HOST"
export PORT="$QA_PORT"
export APP_ORIGIN="$QA_BASE_URL"
@@ -288,6 +290,13 @@ qa_export_app_env() {
}
qa_prepare_db() {
echo ">>> 生成并校验 Prisma Client"
(
cd "$SERVER_DIR"
npm run prisma:generate
npm run prisma:check-generated
)
echo ">>> 创建临时数据库: $QA_DB_NAME"
qa_createdb
@@ -327,10 +336,21 @@ qa_start_server() {
}
qa_build_client() {
if [[ "${QA_SKIP_CLIENT_BUILD:-0}" == "1" ]]; then
if [[ ! -f "$CLIENT_DIR/dist/index.html" ]]; then
echo "[ERROR] QA_SKIP_CLIENT_BUILD=1 但 client/dist/index.html 不存在,请先执行 client 构建。" >&2
exit 1
fi
echo ">>> 复用已有 client dist(QA_SKIP_CLIENT_BUILD=1)"
return 0
fi
echo ">>> 构建 client dist"
(
cd "$CLIENT_DIR"
npm run build
npx tsc --noEmit --pretty false --extendedDiagnostics
npx vite build
)
}
@@ -371,7 +391,7 @@ qa_run_full_local() {
echo ">>> 执行 client typecheck"
(
cd "$CLIENT_DIR"
npm run typecheck
npx tsc --noEmit --pretty false --extendedDiagnostics
)
qa_build_client
@@ -418,6 +438,22 @@ qa_run_r70_assist_local() {
)
}
qa_run_r106_visual_local() {
qa_select_port
export JOBS_ENABLED="${JOBS_ENABLED:-true}"
qa_export_app_env
qa_prepare_db
qa_build_client
qa_start_server
echo ">>> 执行 R106 自动视觉巡检"
(
cd "$CLIENT_DIR"
rm -rf test-results playwright-report
E2E_MODE=local npm run test:e2e:r106-visual-audit
)
}
qa_run_live_smoke() {
local live_base_url="${LIVE_SMOKE_BASE_URL:-https://oa.hyinda.com}"
echo ">>> 探活 live /ready: ${live_base_url}/ready"
@@ -456,6 +492,14 @@ case "$MODE" in
trap qa_cleanup EXIT
qa_run_r70_assist_local
;;
r106-visual-local)
qa_require_cmd curl
qa_require_db_client
qa_require_cmd node
qa_require_cmd npm
trap qa_cleanup EXIT
qa_run_r106_visual_local
;;
smoke-live)
qa_require_cmd curl
qa_require_cmd node