修复巡检报告隐私字段并记录 Wave4-5 公网验证(05-29-frontend-ux-wave4-5-finance-admin-refresh)
这个提交包含在:
@@ -8,8 +8,8 @@ function present(key) {
|
||||
return Boolean(process.env[key]?.trim());
|
||||
}
|
||||
|
||||
function maskedPresence(keys) {
|
||||
return Object.fromEntries(keys.map((key) => [key, present(key)]));
|
||||
function readinessMap(entries) {
|
||||
return Object.fromEntries(entries.map(([label, isReady]) => [label, Boolean(isReady)]));
|
||||
}
|
||||
|
||||
function existingFileFrom(keys) {
|
||||
@@ -56,13 +56,11 @@ async function fetchJson(url) {
|
||||
}
|
||||
|
||||
function buildStaticChecks() {
|
||||
const liveSmokeKeys = [
|
||||
"LIVE_SMOKE_ADMIN_IDENTIFIER",
|
||||
"LIVE_SMOKE_ADMIN_PASSWORD",
|
||||
"LIVE_SMOKE_EMPLOYEE_IDENTIFIER",
|
||||
"LIVE_SMOKE_EMPLOYEE_PASSWORD",
|
||||
];
|
||||
const liveSmokeReady = liveSmokeKeys.every(present);
|
||||
const adminCredentialReady = present("LIVE_SMOKE_ADMIN_IDENTIFIER") && present("LIVE_SMOKE_ADMIN_PASSWORD");
|
||||
const employeeCredentialReady = present("LIVE_SMOKE_EMPLOYEE_IDENTIFIER") && present("LIVE_SMOKE_EMPLOYEE_PASSWORD");
|
||||
const managerCredentialReady = present("LIVE_SMOKE_MANAGER_IDENTIFIER") && present("LIVE_SMOKE_MANAGER_PASSWORD");
|
||||
const financeCredentialReady = present("LIVE_SMOKE_FINANCE_IDENTIFIER") && present("LIVE_SMOKE_FINANCE_PASSWORD");
|
||||
const liveSmokeReady = adminCredentialReady && employeeCredentialReady;
|
||||
const ocrUserReady = (
|
||||
(present("PLAYWRIGHT_OCR_LIVE_IDENTIFIER") && present("PLAYWRIGHT_OCR_LIVE_PASSWORD")) ||
|
||||
(present("LIVE_SMOKE_EMPLOYEE_IDENTIFIER") && present("LIVE_SMOKE_EMPLOYEE_PASSWORD"))
|
||||
@@ -76,13 +74,14 @@ function buildStaticChecks() {
|
||||
return {
|
||||
baseUrl,
|
||||
liveSmokeReady,
|
||||
liveSmoke: maskedPresence(liveSmokeKeys),
|
||||
liveSmokeOptional: maskedPresence([
|
||||
"LIVE_EXPECT_WECOM_STATUS",
|
||||
"LIVE_SMOKE_MANAGER_IDENTIFIER",
|
||||
"LIVE_SMOKE_MANAGER_PASSWORD",
|
||||
"LIVE_SMOKE_FINANCE_IDENTIFIER",
|
||||
"LIVE_SMOKE_FINANCE_PASSWORD",
|
||||
liveSmoke: readinessMap([
|
||||
["adminCredentialReady", adminCredentialReady],
|
||||
["employeeCredentialReady", employeeCredentialReady],
|
||||
]),
|
||||
liveSmokeOptional: readinessMap([
|
||||
["expectedWecomStatusReady", present("LIVE_EXPECT_WECOM_STATUS")],
|
||||
["managerCredentialReady", managerCredentialReady],
|
||||
["financeCredentialReady", financeCredentialReady],
|
||||
]),
|
||||
liveOcrReady: ocrUserReady && invoiceSampleReady,
|
||||
liveOcr: {
|
||||
@@ -100,13 +99,13 @@ function buildStaticChecks() {
|
||||
|
||||
function addMissing(checks) {
|
||||
if (!checks.liveSmokeReady) {
|
||||
for (const [key, value] of Object.entries(checks.liveSmoke)) {
|
||||
if (!value) checks.missing.push(key);
|
||||
for (const [label, value] of Object.entries(checks.liveSmoke)) {
|
||||
if (!value) checks.missing.push(label);
|
||||
}
|
||||
}
|
||||
|
||||
if (!checks.liveOcr.userReady) {
|
||||
checks.missing.push("PLAYWRIGHT_OCR_LIVE_IDENTIFIER/PASSWORD 或 LIVE_SMOKE_EMPLOYEE_*");
|
||||
checks.missing.push("ocrOrEmployeeCredentialReady");
|
||||
}
|
||||
if (!checks.liveOcr.invoiceSampleReady) {
|
||||
checks.missing.push("PLAYWRIGHT_OCR_LIVE_FILE 或 PLAYWRIGHT_OCR_LIVE_DIR 中的 PDF 样票");
|
||||
|
||||
在新工单中引用
屏蔽一个用户