import assert from "node:assert/strict"; import { readFileSync } from "node:fs"; const appJson = JSON.parse(readFileSync("app.json", "utf8")); const apiSource = readFileSync("utils/api.js", "utf8"); const pageJs = readFileSync("pages/erpLoginConfirm/erpLoginConfirm.js", "utf8"); const pageWxml = readFileSync("pages/erpLoginConfirm/erpLoginConfirm.wxml", "utf8"); const previewApi = apiSource.match(/const getErpLoginPreview = async[\s\S]*?\n\}\)\)/)?.[0] ?? ""; const confirmApi = apiSource.match(/const confirmErpLogin = async[\s\S]*?\n\}\)\)/)?.[0] ?? ""; const cancelApi = apiSource.match(/const cancelErpLogin = async[\s\S]*?\n\}\)\)/)?.[0] ?? ""; assert.ok(appJson.pages.includes("pages/erpLoginConfirm/erpLoginConfirm")); assert.match(apiSource, /const getErpLoginPreview = async \(ticket, sessionId\) =>/); assert.match(apiSource, /const confirmErpLogin = async \(ticket, sessionId, phoneCode\) =>/); assert.match(apiSource, /const cancelErpLogin = async \(ticket, sessionId\) =>/); assert.match(previewApi, /session_id: sessionId/); assert.match(confirmApi, /session_id: sessionId/); assert.match(cancelApi, /session_id: sessionId/); assert.match(pageJs, /decodeRepeated\(options\.scene/); assert.match(pageJs, /options\.ticket/); assert.match(pageJs, /options\.session_id/); assert.match(pageJs, /options\.sessionId/); assert.match(pageJs, /extractTicket/); assert.match(pageJs, /extractSessionId/); assert.match(pageJs, /\['ticket', 't'\]/); assert.match(pageJs, /\['session_id', 'sessionId', 's'\]/); assert.match(pageJs, /confirmErpLogin/); assert.match(pageJs, /confirmErpLogin\(this\.data\.ticket,\s*this\.data\.sessionId,\s*phoneCode\)/); assert.match(pageJs, /cancelErpLogin\(this\.data\.ticket,\s*this\.data\.sessionId\)/); assert.match(pageWxml, /getPhoneNumber/); assert.match(pageWxml, /确认登录/); assert.match(pageWxml, /取消/); assert.doesNotMatch(pageJs, /ensureFactoryLocation/); assert.doesNotMatch(pageJs, /getClockState/); assert.doesNotMatch(pageJs, /access_token|AuthSession|saveAuth|setAuth/); assert.doesNotMatch(apiSource, /confirmErpLogin[\s\S]*access_token/); console.log("erp login confirm page checks passed");