瀏覽代碼

feat: add auditable admin migration ledger

彭峰 1 月之前
父節點
當前提交
9ea721ddae

+ 1 - 0
docs/migration/admin-migration-status.md

@@ -23,6 +23,7 @@
 - 旧 `GroupAdd/GroupAdd_Submit` 已迁为专用 `saveGroup`:新增组使用 PostgreSQL 事务锁在帐套内原子分配只读 `groupId`,校验同名组、父组归属与层级循环;通用保存不能绕过。删除组前会拒绝仍被用户或下级组引用的记录。
 - 旧 `ContentManage_Status`、`ContentManage_Del`、回收站恢复与 `ContentMove_Submit` 已迁为专用 `contentBatch`:支持每批 1–100 条内容、限定旧状态 `-3/-2/-1/0/99`、校验目标节点帐套并保留 addon 关联。`CommonModel` 的 `generalId/modelId/nodeId/itemId/tableName/status/sourceKey/orderId` 改为通用只读;新增按钮关闭,避免只写主表却遗漏模型附表。
 - `_User` 与 `CommonModel` 表格已补齐当前页全选和批量工具栏,可直接批量停用/解锁/移动用户组,以及审核、回收、恢复、移动内容节点;翻页或重新查询会清空选择,避免误操作隐藏页记录。
+- 迁移状态页已接入从反编译基线自动生成的 1,042 项旧后台动作台账,可按模块、action、原因与状态搜索筛选;当前保守登记为 9 项已实现、12 项部分实现、111 项数据阻塞、185 项基础设施阻塞、725 项待逐项核验。生成器和 `admin-coverage:check` 会阻止台账与源码基线漂移。
 - Parse 登录只在浏览器保存当前 `sessionToken`;`masterKey` 只在部署进程中使用。
 - 云函数网关强制校验管理员身份、`company` 帐套、类白名单、字段白名单和敏感字段过滤。
 - `_Session` 不开放,`Function` 源码不开放通用查询或编辑;用户密码只允许专用重置操作。

+ 2 - 0
package.json

@@ -7,6 +7,8 @@
     "build": "ng build",
     "parity:generate": "node scripts/generate-source-parity.mjs",
     "parity:check": "node scripts/generate-source-parity.mjs --check",
+    "admin-coverage:generate": "node scripts/generate-admin-coverage.mjs",
+    "admin-coverage:check": "node scripts/generate-admin-coverage.mjs --check",
     "cloud:validate": "node scripts/deploy-admin-functions.mjs --validate",
     "cloud:deploy": "node scripts/deploy-admin-functions.mjs",
     "cloud:smoke": "node scripts/smoke-admin-functions.mjs",

+ 92 - 0
scripts/generate-admin-coverage.mjs

@@ -0,0 +1,92 @@
+#!/usr/bin/env node
+
+import { readFileSync, writeFileSync } from 'node:fs';
+import { resolve } from 'node:path';
+
+const root = resolve(import.meta.dirname, '..');
+const sourcePath = resolve(root, 'docs/migration/legacy-admin-inventory.generated.md');
+const outputPath = resolve(root, 'src/app/admin/legacy-admin-coverage.generated.ts');
+const checkOnly = process.argv.includes('--check');
+
+const explicit = new Map([
+  ['User/GroupManage', ['implemented', '已由 Group 资源页与专用帐套组生命周期替代']],
+  ['User/Group_API', ['implemented', '已覆盖帐套组列表与带引用保护的删除']],
+  ['User/GroupAdd', ['implemented', '已由动态组表单与专用 saveGroup 替代']],
+  ['User/GroupAdd_Submit', ['implemented', '已覆盖原子编号、父组校验与保存']],
+  ['Content/ContentManage_Status', ['implemented', '已由 contentBatch 状态操作替代']],
+  ['Content/ContentManage_Del', ['implemented', '已由 contentBatch 回收站操作替代']],
+  ['Content/ContentMove', ['implemented', '已由内容详情与批量节点移动控件替代']],
+  ['Content/ContentMove_Submit', ['implemented', '已由 contentBatch 帐套节点校验与移动替代']],
+  ['Content/IHtmlToString', ['implemented', '已由 cms.content-normalizer 替代']],
+  ['User/UserManage', ['partial', '已提供帐套用户列表、搜索、分页和批量操作;旧多条件筛选与导出仍待补齐']],
+  ['User/UserAdd', ['partial', '已提供安全普通用户开户;旧扩展资料字段尚未全部复刻']],
+  ['User/UserAdd_Submit', ['partial', '已覆盖开户、旧用户 ID 与默认账户初始化']],
+  ['User/UserInfo', ['partial', '已提供动态详情、资料编辑、状态、分组和密码重置']],
+  ['User/UserInfo_Submit', ['partial', '已覆盖安全字段更新;旧 UserBase 全字段仍待专用映射']],
+  ['User/User_API', ['partial', '已覆盖锁定、解锁、移动分组;标注、归属管理员和手机归属地尚未迁移']],
+  ['User/UserExp', ['partial', '现有账本可查询,管理员余额变更表单与事务规则尚未补齐']],
+  ['Content/ContentManage', ['partial', '已提供帐套内容列表、搜索、分页、审核和批量操作']],
+  ['Content/EditContent', ['partial', '可编辑安全主表字段;模型附表专用表单尚未全部生成']],
+  ['Content/Content_Update', ['partial', '可更新安全主表字段;模型附表更新仅覆盖已迁移学习模型']],
+  ['Content/ContentRecycle', ['partial', '可回收和恢复内容;独立回收站筛选页尚未提供']],
+  ['Content/ContentManage_API', ['partial', '已覆盖恢复;永久删除、清空、专题移除和排序交换尚未迁移']],
+]);
+
+const blockedDataModules = new Map([
+  ['Order', '目标库缺少订单、订单商品、支付与物流主表'],
+  ['Pay', '目标库缺少支付流水、订单支付明细及可验证的交易数据'],
+  ['Sale', '目标库缺少订单销售明细与可复算的销售事实表'],
+  ['Shop / Coupon', '目标库无优惠券、促销实例与用户领取关系'],
+  ['Shop / Refund', '目标库无订单退款与退款流水'],
+  ['Product', '目标 Product 仅为旧商品附表,缺少 ZL_Commodities 主表'],
+]);
+
+const blockedInfrastructureModules = new Map([
+  ['Extend / DBTool', '依赖数据库备份恢复、建表或服务器文件系统,不适用于托管 Parse 运行时'],
+  ['Files', '依赖旧站点文件系统与文件云配置,尚无新对象存储方案'],
+  ['FontManager', '依赖服务器字体文件安装与删除权限'],
+  ['Label / PowerShell', '依赖 Windows PowerShell 与服务器命令执行,云函数明确禁止'],
+  ['Label / SiteDeploy', '依赖站点发布、远程命令与文件下载基础设施'],
+  ['Site', '依赖 IIS 站点、虚拟目录、主机池与数据库服务器管理'],
+  ['Template', '依赖旧模板/CSS 文件系统和 Zoomla 标签运行时'],
+  ['Extend / MyCss', '依赖旧站点 CSS 文件读写与下载'],
+  ['Mobile / WeiXin', '依赖新版微信、支付、模板消息和服务通知凭据'],
+  ['User / Mail', '依赖邮件与短信服务商配置及发送凭据'],
+]);
+
+const markdown = readFileSync(sourcePath, 'utf8');
+const entries = [];
+const occurrences = new Map();
+for (const line of markdown.split(/\r?\n/)) {
+  const match = line.match(/^\| ([^|]+) \| (\d+) \| (.+) \|$/);
+  if (!match || match[1].trim() === '模块 / 控制器') continue;
+  const moduleName = match[1].trim();
+  const actions = [...match[3].matchAll(/`([^`]+)`/g)].map((item) => item[1]);
+  if (actions.length !== Number(match[2])) throw new Error(`${moduleName}: 动作数量不一致`);
+  for (const action of actions) {
+    const key = `${moduleName}/${action}`;
+    const occurrence = (occurrences.get(key) || 0) + 1;
+    occurrences.set(key, occurrence);
+    let status = 'pending';
+    let reason = '尚未逐项迁移或完成等价性核验';
+    if (explicit.has(key)) [status, reason] = explicit.get(key);
+    else if (blockedDataModules.has(moduleName)) { status = 'blocked-data'; reason = blockedDataModules.get(moduleName); }
+    else if (blockedInfrastructureModules.has(moduleName)) { status = 'blocked-infrastructure'; reason = blockedInfrastructureModules.get(moduleName); }
+    entries.push({ module: moduleName, action, occurrence, status, reason });
+  }
+}
+if (entries.length !== 1042) throw new Error(`预期 1042 个后台动作,实际 ${entries.length}`);
+
+const generated = `// Generated by scripts/generate-admin-coverage.mjs. Do not edit by hand.\n` +
+  `export type LegacyAdminCoverageStatus = 'implemented' | 'partial' | 'blocked-data' | 'blocked-infrastructure' | 'pending';\n` +
+  `export interface LegacyAdminCoverageEntry { module: string; action: string; occurrence: number; status: LegacyAdminCoverageStatus; reason: string; }\n` +
+  `export const LEGACY_ADMIN_COVERAGE: readonly LegacyAdminCoverageEntry[] = ${JSON.stringify(entries, null, 2)};\n`;
+
+if (checkOnly) {
+  const current = readFileSync(outputPath, 'utf8');
+  if (current !== generated) throw new Error('后台迁移覆盖台账已过期,请运行 npm run admin-coverage:generate');
+  console.log(`Admin coverage is current: ${entries.length} actions.`);
+} else {
+  writeFileSync(outputPath, generated);
+  console.log(`Generated ${outputPath}: ${entries.length} actions.`);
+}

+ 18 - 0
src/app/admin/legacy-admin-coverage.generated.spec.ts

@@ -0,0 +1,18 @@
+import { LEGACY_ADMIN_COVERAGE } from './legacy-admin-coverage.generated';
+
+describe('legacy admin coverage inventory', () => {
+  it('tracks every decompiled controller action exactly once', () => {
+    expect(LEGACY_ADMIN_COVERAGE.length).toBe(1042);
+    const keys = LEGACY_ADMIN_COVERAGE.map((entry) => `${entry.module}/${entry.action}#${entry.occurrence}`);
+    expect(new Set(keys).size).toBe(1042);
+  });
+
+  it('keeps verified mappings and blockers explicit', () => {
+    const byKey = new Map(LEGACY_ADMIN_COVERAGE.map((entry) => [`${entry.module}/${entry.action}`, entry]));
+    expect(byKey.get('Content/ContentManage_Status')?.status).toBe('implemented');
+    expect(byKey.get('User/User_API')?.status).toBe('partial');
+    expect(byKey.get('Order/OrderList')?.status).toBe('blocked-data');
+    expect(byKey.get('Label / PowerShell/RunScript')?.status).toBe('blocked-infrastructure');
+    expect(byKey.get('Exam/Papers_System_Manage')?.status).toBe('pending');
+  });
+});

+ 7299 - 0
src/app/admin/legacy-admin-coverage.generated.ts

@@ -0,0 +1,7299 @@
+// Generated by scripts/generate-admin-coverage.mjs. Do not edit by hand.
+export type LegacyAdminCoverageStatus = 'implemented' | 'partial' | 'blocked-data' | 'blocked-infrastructure' | 'pending';
+export interface LegacyAdminCoverageEntry { module: string; action: string; occurrence: number; status: LegacyAdminCoverageStatus; reason: string; }
+export const LEGACY_ADMIN_COVERAGE: readonly LegacyAdminCoverageEntry[] = [
+  {
+    "module": "Extend / AD",
+    "action": "Default",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Extend / AD",
+    "action": "ZoneManage",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Extend / AD",
+    "action": "Zone_API",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Extend / AD",
+    "action": "ZoneAdd",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Extend / AD",
+    "action": "ZoneAdd_Submit",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Extend / AD",
+    "action": "InfoManage",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Extend / AD",
+    "action": "Info_API",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Extend / AD",
+    "action": "InfoAdd",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Extend / AD",
+    "action": "InfoAdd_Submit",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Extend / AD",
+    "action": "ADPreView",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Content / Addon",
+    "action": "Comment",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Content / Addon",
+    "action": "Commont_API",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Content / Addon",
+    "action": "ConAudit_API",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Content / Addon",
+    "action": "ConAudit_SJ_API",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Content / Addon",
+    "action": "ConAudit",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Content / Addon",
+    "action": "ConAuditDetail",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Content / Addon",
+    "action": "TagKey",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Content / Addon",
+    "action": "TagKey_Submit",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Content / Addon",
+    "action": "VerBak",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Content / Addon",
+    "action": "VerBak_Del",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Shop / Addon",
+    "action": "Vendor",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Shop / Addon",
+    "action": "Vendor_API",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Shop / Addon",
+    "action": "VendorAdd",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Shop / Addon",
+    "action": "VendorAdd_Submit",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "User / Addon",
+    "action": "PointGroup",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "User / Addon",
+    "action": "PointGroupAdd",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "User / Addon",
+    "action": "PointGroup_API",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "User / Addon",
+    "action": "PointGroup_Submit",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "User / Addon",
+    "action": "VMoneyLog",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "User / Addon",
+    "action": "ThirdInfo",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "User / Addon",
+    "action": "ThirdInfo_Submit",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "User / Addon",
+    "action": "SigninList",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "User / Addon",
+    "action": "RealNameAuth",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "User / Addon",
+    "action": "RealNameAuthAdd",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "User / Addon",
+    "action": "RealNameAuth_API",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Content / Ask",
+    "action": "Default",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Content / Ask",
+    "action": "AskInfo",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Content / Ask",
+    "action": "AskAdd",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Content / Ask",
+    "action": "AskAdd_Submit",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Content / Ask",
+    "action": "Ask_API",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Content / Ask",
+    "action": "AnswerList",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Content / Ask",
+    "action": "AnswerAdd",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Content / Ask",
+    "action": "AnswerAdd_Submit",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Content / Ask",
+    "action": "Answer_API",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Content / Ask",
+    "action": "Config",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Content / Ask",
+    "action": "Config_Submit",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Content / Baike",
+    "action": "Default",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Content / Baike",
+    "action": "BKVersionList",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Content / Baike",
+    "action": "Version_API",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Content / Baike",
+    "action": "BKList",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Content / Baike",
+    "action": "BK_API",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Content / Baike",
+    "action": "Config",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Content / Baike",
+    "action": "Config_Submit",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Content / Baike",
+    "action": "BkCheck",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Content / Bar",
+    "action": "Default",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Content / Bar",
+    "action": "CateList",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Content / Bar",
+    "action": "CateAdd",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Content / Bar",
+    "action": "CateAdd_Submit",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Content / Bar",
+    "action": "Cate_API",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Content / Bar",
+    "action": "BarAuthSet",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Content / Bar",
+    "action": "BarAuthSet_Submit",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Content / Bar",
+    "action": "TieList",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Content / Bar",
+    "action": "TieDetail",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Content / Bar",
+    "action": "TieMove",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Content / Bar",
+    "action": "Tie_API",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "BiaoCalc",
+    "action": "Default",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "BiaoCalc",
+    "action": "BiaoDetail",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "BiaoCalc",
+    "action": "Biao_API",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "BiaoCalc",
+    "action": "UserFiles",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "BiaoCalc",
+    "action": "UserFiles_API",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Office / Chart",
+    "action": "Index",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Extend / Chat",
+    "action": "Default",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Extend / Chat",
+    "action": "UserChatHistory",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Extend / Chat",
+    "action": "UserFriend",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Extend / Chat",
+    "action": "Group",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Extend / Chat",
+    "action": "GroupAdd",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Extend / Chat",
+    "action": "GroupAdd_Submit",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Extend / Chat",
+    "action": "GroupUser",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Extend / Chat",
+    "action": "MessageHistory",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Extend / Chat",
+    "action": "Config",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Extend / Chat",
+    "action": "Config_Submit",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Extend / Chat",
+    "action": "Chat_API",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Design / Class",
+    "action": "ClassList",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Design / Class",
+    "action": "ClassAdd",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Design / Class",
+    "action": "ClassAdd_Submit",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Design / Class",
+    "action": "Class_API",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Com",
+    "action": "Logout",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Com",
+    "action": "SPwdCheck",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Com",
+    "action": "BootLayout",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Com",
+    "action": "Import",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Com",
+    "action": "Import_DownTlp",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Com",
+    "action": "Import_Submit",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Com",
+    "action": "ImportForContent",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Com",
+    "action": "ImportForContent_DownTlp",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Com",
+    "action": "ImportForContent_Submit",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Com",
+    "action": "Sort",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Com",
+    "action": "Sort_API",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Common",
+    "action": "UserBaseField",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Common",
+    "action": "ContentField",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Common",
+    "action": "SelUploadFiles",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Config",
+    "action": "Index",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Config",
+    "action": "SiteInfo",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Config",
+    "action": "SiteInfo_Submit",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Config",
+    "action": "SiteOption",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Config",
+    "action": "SiteOption_Submit",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Config",
+    "action": "MailConfig",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Config",
+    "action": "MailConfig_Submit",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Config",
+    "action": "UserConfig",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Config",
+    "action": "UserConfig_Submit",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Config",
+    "action": "SetOrderStatus",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Config",
+    "action": "SetOrderStatus_Submit",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Config",
+    "action": "SMSCfg",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Config",
+    "action": "SMSConfig_Submit",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Config",
+    "action": "ThumbConfig",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Config",
+    "action": "ThumbConfig_Submit",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Config",
+    "action": "AppConfig",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Config",
+    "action": "AppConfig_Submit",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Config",
+    "action": "APPConfig_ReInstall",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Config",
+    "action": "Holiday",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Config",
+    "action": "Holiday_API",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Config",
+    "action": "HolidayAdd",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Config",
+    "action": "HolidayAdd_Submit",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Config",
+    "action": "APIInfo",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Config",
+    "action": "APIInfo_Submit",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Config",
+    "action": "APIInfo_SwaggerClose",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Config",
+    "action": "APIInfo_SwaggerOpen",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Config",
+    "action": "ReadFile",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Config",
+    "action": "LicenceFile_API",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Config",
+    "action": "SearchFunc",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Config",
+    "action": "SearchFunc_API",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Config",
+    "action": "SearchFuncAdd",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Config",
+    "action": "SearchFuncAdd_Submit",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Config",
+    "action": "FontIcon",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Config",
+    "action": "close_system",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Config",
+    "action": "Hotkey",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Config",
+    "action": "HotkeyAdd",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Config",
+    "action": "HotkeyAdd_Submit",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Config",
+    "action": "Hotkey_API",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Config",
+    "action": "Prize",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Config",
+    "action": "Prize_Submit",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Content",
+    "action": "GetMDFile",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Content",
+    "action": "AddContent",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Content",
+    "action": "EditContent",
+    "occurrence": 1,
+    "status": "partial",
+    "reason": "可编辑安全主表字段;模型附表专用表单尚未全部生成"
+  },
+  {
+    "module": "Content",
+    "action": "ShowContent",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Content",
+    "action": "Content_Add",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Content",
+    "action": "Content_AddToNew",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Content",
+    "action": "Content_Update",
+    "occurrence": 1,
+    "status": "partial",
+    "reason": "可更新安全主表字段;模型附表更新仅覆盖已迁移学习模型"
+  },
+  {
+    "module": "Content",
+    "action": "Content_Draft",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Content",
+    "action": "Content_API",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Content",
+    "action": "ContentMove",
+    "occurrence": 1,
+    "status": "implemented",
+    "reason": "已由内容详情与批量节点移动控件替代"
+  },
+  {
+    "module": "Content",
+    "action": "ContentMove_Submit",
+    "occurrence": 1,
+    "status": "implemented",
+    "reason": "已由 contentBatch 帐套节点校验与移动替代"
+  },
+  {
+    "module": "Content",
+    "action": "AddToSpec",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Content",
+    "action": "AddToSpec_Submit",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Content",
+    "action": "ContentManage",
+    "occurrence": 1,
+    "status": "partial",
+    "reason": "已提供帐套内容列表、搜索、分页、审核和批量操作"
+  },
+  {
+    "module": "Content",
+    "action": "ContentManage_Html",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Content",
+    "action": "ContentRecycle",
+    "occurrence": 1,
+    "status": "partial",
+    "reason": "可回收和恢复内容;独立回收站筛选页尚未提供"
+  },
+  {
+    "module": "Content",
+    "action": "ContentManage_API",
+    "occurrence": 1,
+    "status": "partial",
+    "reason": "已覆盖恢复;永久删除、清空、专题移除和排序交换尚未迁移"
+  },
+  {
+    "module": "Content",
+    "action": "ContentManage_Status",
+    "occurrence": 1,
+    "status": "implemented",
+    "reason": "已由 contentBatch 状态操作替代"
+  },
+  {
+    "module": "Content",
+    "action": "ContentManage_Del",
+    "occurrence": 1,
+    "status": "implemented",
+    "reason": "已由 contentBatch 回收站操作替代"
+  },
+  {
+    "module": "Content",
+    "action": "ContentManage_ToExcel",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Content",
+    "action": "ContentManage_Refresh",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Content",
+    "action": "ContentRelease",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Content",
+    "action": "ContentRelease_Submit",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Content",
+    "action": "IHtmlToString",
+    "occurrence": 1,
+    "status": "implemented",
+    "reason": "已由 cms.content-normalizer 替代"
+  },
+  {
+    "module": "Content",
+    "action": "CreateHtmlContent",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Content",
+    "action": "Create_Submit",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Content",
+    "action": "CreateHtml",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Content",
+    "action": "ConCatch",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Content",
+    "action": "CatchConfig",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Content",
+    "action": "CatchConfig_Submit",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Content",
+    "action": "MarkDown",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Content",
+    "action": "MarkDown_Del",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Design / Counter",
+    "action": "VisitList",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Design / Counter",
+    "action": "VisitInfoList",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Design / Counter",
+    "action": "VisitInfoDetail",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Design / Counter",
+    "action": "Counter_API",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Extend / Counter",
+    "action": "StatisticalCode",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Extend / Counter",
+    "action": "StatisticalCode_Submit",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Extend / Counter",
+    "action": "Index",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Extend / Counter",
+    "action": "Site",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Extend / Counter",
+    "action": "Month",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Extend / Counter",
+    "action": "Year",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Extend / Counter",
+    "action": "Local",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Extend / Counter",
+    "action": "Browser",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Extend / Counter",
+    "action": "Os",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Extend / Counter",
+    "action": "Channel",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Shop / Coupon",
+    "action": "ArriveManage",
+    "occurrence": 1,
+    "status": "blocked-data",
+    "reason": "目标库无优惠券、促销实例与用户领取关系"
+  },
+  {
+    "module": "Shop / Coupon",
+    "action": "Arrive_API",
+    "occurrence": 1,
+    "status": "blocked-data",
+    "reason": "目标库无优惠券、促销实例与用户领取关系"
+  },
+  {
+    "module": "Shop / Coupon",
+    "action": "ArriveAdd",
+    "occurrence": 1,
+    "status": "blocked-data",
+    "reason": "目标库无优惠券、促销实例与用户领取关系"
+  },
+  {
+    "module": "Shop / Coupon",
+    "action": "ArriveAdd_Submit",
+    "occurrence": 1,
+    "status": "blocked-data",
+    "reason": "目标库无优惠券、促销实例与用户领取关系"
+  },
+  {
+    "module": "Shop / Coupon",
+    "action": "PromoList",
+    "occurrence": 1,
+    "status": "blocked-data",
+    "reason": "目标库无优惠券、促销实例与用户领取关系"
+  },
+  {
+    "module": "Shop / Coupon",
+    "action": "Promo_API",
+    "occurrence": 1,
+    "status": "blocked-data",
+    "reason": "目标库无优惠券、促销实例与用户领取关系"
+  },
+  {
+    "module": "Shop / Coupon",
+    "action": "PromoAdd",
+    "occurrence": 1,
+    "status": "blocked-data",
+    "reason": "目标库无优惠券、促销实例与用户领取关系"
+  },
+  {
+    "module": "Shop / Coupon",
+    "action": "PromoAdd_Submit",
+    "occurrence": 1,
+    "status": "blocked-data",
+    "reason": "目标库无优惠券、促销实例与用户领取关系"
+  },
+  {
+    "module": "CRM",
+    "action": "Index",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "CRM",
+    "action": "ClientListDiag",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "CRM",
+    "action": "ClientList",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "CRM",
+    "action": "ClientView",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "CRM",
+    "action": "ClientAdd",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "CRM",
+    "action": "BiServer_Del",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "CRM",
+    "action": "Client_Add",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "CRM",
+    "action": "ClientImport",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "CRM",
+    "action": "Import_DownTlp",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "CRM",
+    "action": "Import_Client",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "CRM",
+    "action": "AddServiceRecord",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "CRM",
+    "action": "AddServiceRecord_Submit",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "CRM",
+    "action": "ServiceRecord_List",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "CRM",
+    "action": "CType",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "CRM",
+    "action": "CTypeAdd",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "CRM",
+    "action": "CType_Add",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "CRM",
+    "action": "CType_Del",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "CRM",
+    "action": "Contact",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "CRM",
+    "action": "ContactAdd",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "CRM",
+    "action": "Contact_Add",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "CRM",
+    "action": "ContactImport",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "CRM",
+    "action": "ContactImport_Down",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "CRM",
+    "action": "ContactImport_Upload",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "CRM",
+    "action": "BecomeCustomerList",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "CRM",
+    "action": "BecomeCustomerDetail",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "CRM",
+    "action": "BecomeCustomerDetailUpdate",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "CRM",
+    "action": "BecomeCustomer_API",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Extend / DBTool",
+    "action": "Default",
+    "occurrence": 1,
+    "status": "blocked-infrastructure",
+    "reason": "依赖数据库备份恢复、建表或服务器文件系统,不适用于托管 Parse 运行时"
+  },
+  {
+    "module": "Extend / DBTool",
+    "action": "Default_Result",
+    "occurrence": 1,
+    "status": "blocked-infrastructure",
+    "reason": "依赖数据库备份恢复、建表或服务器文件系统,不适用于托管 Parse 运行时"
+  },
+  {
+    "module": "Extend / DBTool",
+    "action": "Default_Field",
+    "occurrence": 1,
+    "status": "blocked-infrastructure",
+    "reason": "依赖数据库备份恢复、建表或服务器文件系统,不适用于托管 Parse 运行时"
+  },
+  {
+    "module": "Extend / DBTool",
+    "action": "ViewList",
+    "occurrence": 1,
+    "status": "blocked-infrastructure",
+    "reason": "依赖数据库备份恢复、建表或服务器文件系统,不适用于托管 Parse 运行时"
+  },
+  {
+    "module": "Extend / DBTool",
+    "action": "DBBackUP",
+    "occurrence": 1,
+    "status": "blocked-infrastructure",
+    "reason": "依赖数据库备份恢复、建表或服务器文件系统,不适用于托管 Parse 运行时"
+  },
+  {
+    "module": "Extend / DBTool",
+    "action": "DB_Backup",
+    "occurrence": 1,
+    "status": "blocked-infrastructure",
+    "reason": "依赖数据库备份恢复、建表或服务器文件系统,不适用于托管 Parse 运行时"
+  },
+  {
+    "module": "Extend / DBTool",
+    "action": "DB_ReStore",
+    "occurrence": 1,
+    "status": "blocked-infrastructure",
+    "reason": "依赖数据库备份恢复、建表或服务器文件系统,不适用于托管 Parse 运行时"
+  },
+  {
+    "module": "Extend / DBTool",
+    "action": "DB_Down",
+    "occurrence": 1,
+    "status": "blocked-infrastructure",
+    "reason": "依赖数据库备份恢复、建表或服务器文件系统,不适用于托管 Parse 运行时"
+  },
+  {
+    "module": "Extend / DBTool",
+    "action": "DB_Del",
+    "occurrence": 1,
+    "status": "blocked-infrastructure",
+    "reason": "依赖数据库备份恢复、建表或服务器文件系统,不适用于托管 Parse 运行时"
+  },
+  {
+    "module": "Extend / DBTool",
+    "action": "SiteBackup",
+    "occurrence": 1,
+    "status": "blocked-infrastructure",
+    "reason": "依赖数据库备份恢复、建表或服务器文件系统,不适用于托管 Parse 运行时"
+  },
+  {
+    "module": "Extend / DBTool",
+    "action": "EmptyData",
+    "occurrence": 1,
+    "status": "blocked-infrastructure",
+    "reason": "依赖数据库备份恢复、建表或服务器文件系统,不适用于托管 Parse 运行时"
+  },
+  {
+    "module": "Extend / DBTool",
+    "action": "EmptyData_Submit",
+    "occurrence": 1,
+    "status": "blocked-infrastructure",
+    "reason": "依赖数据库备份恢复、建表或服务器文件系统,不适用于托管 Parse 运行时"
+  },
+  {
+    "module": "Extend / DBTool",
+    "action": "FSearchConfig",
+    "occurrence": 1,
+    "status": "blocked-infrastructure",
+    "reason": "依赖数据库备份恢复、建表或服务器文件系统,不适用于托管 Parse 运行时"
+  },
+  {
+    "module": "Extend / DBTool",
+    "action": "FSearchConfig_Submit",
+    "occurrence": 1,
+    "status": "blocked-infrastructure",
+    "reason": "依赖数据库备份恢复、建表或服务器文件系统,不适用于托管 Parse 运行时"
+  },
+  {
+    "module": "Extend / DBTool",
+    "action": "FileSafe",
+    "occurrence": 1,
+    "status": "blocked-infrastructure",
+    "reason": "依赖数据库备份恢复、建表或服务器文件系统,不适用于托管 Parse 运行时"
+  },
+  {
+    "module": "Extend / DBTool",
+    "action": "FileSafe_CreateFlag",
+    "occurrence": 1,
+    "status": "blocked-infrastructure",
+    "reason": "依赖数据库备份恢复、建表或服务器文件系统,不适用于托管 Parse 运行时"
+  },
+  {
+    "module": "Extend / DBTool",
+    "action": "FileSafe_CheckTamper",
+    "occurrence": 1,
+    "status": "blocked-infrastructure",
+    "reason": "依赖数据库备份恢复、建表或服务器文件系统,不适用于托管 Parse 运行时"
+  },
+  {
+    "module": "Extend / DBTool",
+    "action": "CreateTable",
+    "occurrence": 1,
+    "status": "blocked-infrastructure",
+    "reason": "依赖数据库备份恢复、建表或服务器文件系统,不适用于托管 Parse 运行时"
+  },
+  {
+    "module": "Extend / DBTool",
+    "action": "CreateTable_API",
+    "occurrence": 1,
+    "status": "blocked-infrastructure",
+    "reason": "依赖数据库备份恢复、建表或服务器文件系统,不适用于托管 Parse 运行时"
+  },
+  {
+    "module": "Extend / DBTool",
+    "action": "PageConfig",
+    "occurrence": 1,
+    "status": "blocked-infrastructure",
+    "reason": "依赖数据库备份恢复、建表或服务器文件系统,不适用于托管 Parse 运行时"
+  },
+  {
+    "module": "Extend / DBTool",
+    "action": "PageConfigEdit",
+    "occurrence": 1,
+    "status": "blocked-infrastructure",
+    "reason": "依赖数据库备份恢复、建表或服务器文件系统,不适用于托管 Parse 运行时"
+  },
+  {
+    "module": "Extend / DBTool",
+    "action": "PageConfigReset",
+    "occurrence": 1,
+    "status": "blocked-infrastructure",
+    "reason": "依赖数据库备份恢复、建表或服务器文件系统,不适用于托管 Parse 运行时"
+  },
+  {
+    "module": "Extend / DBTool",
+    "action": "PageConfigDelete",
+    "occurrence": 1,
+    "status": "blocked-infrastructure",
+    "reason": "依赖数据库备份恢复、建表或服务器文件系统,不适用于托管 Parse 运行时"
+  },
+  {
+    "module": "Extend / DBTool",
+    "action": "PageConfigSave",
+    "occurrence": 1,
+    "status": "blocked-infrastructure",
+    "reason": "依赖数据库备份恢复、建表或服务器文件系统,不适用于托管 Parse 运行时"
+  },
+  {
+    "module": "Extend / DBTool",
+    "action": "Pagelist",
+    "occurrence": 1,
+    "status": "blocked-infrastructure",
+    "reason": "依赖数据库备份恢复、建表或服务器文件系统,不适用于托管 Parse 运行时"
+  },
+  {
+    "module": "Extend / DBTool",
+    "action": "PageAdd",
+    "occurrence": 1,
+    "status": "blocked-infrastructure",
+    "reason": "依赖数据库备份恢复、建表或服务器文件系统,不适用于托管 Parse 运行时"
+  },
+  {
+    "module": "Extend / DBTool",
+    "action": "PageAdd_submit",
+    "occurrence": 1,
+    "status": "blocked-infrastructure",
+    "reason": "依赖数据库备份恢复、建表或服务器文件系统,不适用于托管 Parse 运行时"
+  },
+  {
+    "module": "Extend / DBTool",
+    "action": "PagelistDelete",
+    "occurrence": 1,
+    "status": "blocked-infrastructure",
+    "reason": "依赖数据库备份恢复、建表或服务器文件系统,不适用于托管 Parse 运行时"
+  },
+  {
+    "module": "Extend / DBTool",
+    "action": "Output",
+    "occurrence": 1,
+    "status": "blocked-infrastructure",
+    "reason": "依赖数据库备份恢复、建表或服务器文件系统,不适用于托管 Parse 运行时"
+  },
+  {
+    "module": "Extend / DBTool",
+    "action": "DBhelp",
+    "occurrence": 1,
+    "status": "blocked-infrastructure",
+    "reason": "依赖数据库备份恢复、建表或服务器文件系统,不适用于托管 Parse 运行时"
+  },
+  {
+    "module": "Extend / DBTool",
+    "action": "DBhelp_Submit",
+    "occurrence": 1,
+    "status": "blocked-infrastructure",
+    "reason": "依赖数据库备份恢复、建表或服务器文件系统,不适用于托管 Parse 运行时"
+  },
+  {
+    "module": "Extend / DBTool",
+    "action": "DBhelp_Formatting",
+    "occurrence": 1,
+    "status": "blocked-infrastructure",
+    "reason": "依赖数据库备份恢复、建表或服务器文件系统,不适用于托管 Parse 运行时"
+  },
+  {
+    "module": "Dict",
+    "action": "DicCateList",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Dict",
+    "action": "DictCate_API",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Dict",
+    "action": "DicCateSel",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Dict",
+    "action": "DicItemList",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Dict",
+    "action": "DicItem_API",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Dict",
+    "action": "GradeCateManage",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Dict",
+    "action": "GCateAdd",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Dict",
+    "action": "GCateAdd_Submit",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Dict",
+    "action": "GCate_API",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Dict",
+    "action": "GradeOption",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Dict",
+    "action": "GOptionAdd",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Dict",
+    "action": "GOptionAdd_Submit",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Dict",
+    "action": "GOption_API",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "ECharts / ECharts",
+    "action": "EChartList",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "ECharts / ECharts",
+    "action": "ChartCite",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "ECharts / ECharts",
+    "action": "ShowM",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "ECharts / ECharts",
+    "action": "AddChart",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "ECharts / ECharts",
+    "action": "AddChart_Submit",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "ECharts / ECharts",
+    "action": "Default",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Exam",
+    "action": "Papers_System_Manage",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Exam",
+    "action": "Papers_System_Add",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Exam",
+    "action": "Paper_QuestionManage",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Exam",
+    "action": "ViewPaperCenter",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Exam",
+    "action": "QuestList",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Exam",
+    "action": "AddEngLishQuestion",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Exam",
+    "action": "QuestShow",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Exam",
+    "action": "Setting",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Exam",
+    "action": "Question_Class_Manage",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Exam",
+    "action": "AddQuestion_Class",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Exam",
+    "action": "QuestGrade",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Exam",
+    "action": "VersionList",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Exam",
+    "action": "AddVersion",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Exam",
+    "action": "SchoolManage",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Exam",
+    "action": "AddSchool",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Exam",
+    "action": "ClassRoomManage",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Exam",
+    "action": "AddClassRoom",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Exam",
+    "action": "StudentList",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Exam",
+    "action": "ExTeacherManage",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Exam",
+    "action": "AddExTeacher",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Exam",
+    "action": "CourseManage",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Exam",
+    "action": "AddCourse",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Exam",
+    "action": "AddKnowledge",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Exam",
+    "action": "KnowledgeManage",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Exam",
+    "action": "ExamPointManage",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Exam",
+    "action": "order",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Exam",
+    "action": "AddExamPoint",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Exam",
+    "action": "ToScore",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Exam",
+    "action": "SelQuestion",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Exam",
+    "action": "Paper_AddLarge",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Exam",
+    "action": "Papers_Add",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Exam",
+    "action": "Question_Add",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Exam",
+    "action": "Question_Class_GetChild",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Exam",
+    "action": "Question_Class_Add",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Exam",
+    "action": "QuestGrade_Add",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Exam",
+    "action": "Version_GetList",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Exam",
+    "action": "Version_Add",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Exam",
+    "action": "Knowledge_Add",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Exam",
+    "action": "Knowledge_GetChild",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Exam",
+    "action": "School_Add",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Exam",
+    "action": "ClassRoom_Add",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Exam",
+    "action": "Teacher_Add",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Exam",
+    "action": "Course_Add",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Exam",
+    "action": "ExamPoint_Add",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Exam",
+    "action": "Setting_Update",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Exam",
+    "action": "News",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Exam",
+    "action": "NewsAdd",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Exam",
+    "action": "NewsAdd_Submit",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Exam",
+    "action": "News_API",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Exam",
+    "action": "NewsDiv",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Exam",
+    "action": "PublishDesc",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Exam",
+    "action": "PubNodeAdd",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Exam",
+    "action": "PubNodeAdd_Submit",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Exam",
+    "action": "PublishAdd",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Exam",
+    "action": "PublishAdd_Submit",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Exam",
+    "action": "PublishDesign",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Shop / Exp",
+    "action": "DeliverType",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Shop / Exp",
+    "action": "DeliverAdd",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Shop / Exp",
+    "action": "DeliverAdd_Submit",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Shop / Exp",
+    "action": "Deliver_API",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Shop / Exp",
+    "action": "OrderSend",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Shop / Exp",
+    "action": "OrderSend_Submit",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Shop / Exp",
+    "action": "Factory",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Shop / Exp",
+    "action": "FactoryAdd",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Shop / Exp",
+    "action": "FactoryAdd_Submit",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Shop / Exp",
+    "action": "Factory_API",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Shop / Exp",
+    "action": "Factory_select",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Shop / Exp",
+    "action": "Trademark",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Shop / Exp",
+    "action": "TrademarkAdd",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Shop / Exp",
+    "action": "Trademark_Submit",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Shop / Exp",
+    "action": "Trademark_API",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Shop / Exp",
+    "action": "Trademark_select",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Shop / Exp",
+    "action": "Currency",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Shop / Exp",
+    "action": "CurrencyAdd",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Shop / Exp",
+    "action": "CurrencyAdd_Submit",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Shop / Exp",
+    "action": "Currency_API",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Files",
+    "action": "Default",
+    "occurrence": 1,
+    "status": "blocked-infrastructure",
+    "reason": "依赖旧站点文件系统与文件云配置,尚无新对象存储方案"
+  },
+  {
+    "module": "Files",
+    "action": "GetFile",
+    "occurrence": 1,
+    "status": "blocked-infrastructure",
+    "reason": "依赖旧站点文件系统与文件云配置,尚无新对象存储方案"
+  },
+  {
+    "module": "Files",
+    "action": "FileExtend",
+    "occurrence": 1,
+    "status": "blocked-infrastructure",
+    "reason": "依赖旧站点文件系统与文件云配置,尚无新对象存储方案"
+  },
+  {
+    "module": "Files",
+    "action": "FileExtend_Submit",
+    "occurrence": 1,
+    "status": "blocked-infrastructure",
+    "reason": "依赖旧站点文件系统与文件云配置,尚无新对象存储方案"
+  },
+  {
+    "module": "Files",
+    "action": "FileCloud",
+    "occurrence": 1,
+    "status": "blocked-infrastructure",
+    "reason": "依赖旧站点文件系统与文件云配置,尚无新对象存储方案"
+  },
+  {
+    "module": "Files",
+    "action": "FileCloud_Submit",
+    "occurrence": 1,
+    "status": "blocked-infrastructure",
+    "reason": "依赖旧站点文件系统与文件云配置,尚无新对象存储方案"
+  },
+  {
+    "module": "Files",
+    "action": "Filea",
+    "occurrence": 1,
+    "status": "blocked-infrastructure",
+    "reason": "依赖旧站点文件系统与文件云配置,尚无新对象存储方案"
+  },
+  {
+    "module": "FontManager",
+    "action": "Index",
+    "occurrence": 1,
+    "status": "blocked-infrastructure",
+    "reason": "依赖服务器字体文件安装与删除权限"
+  },
+  {
+    "module": "FontManager",
+    "action": "Detail",
+    "occurrence": 1,
+    "status": "blocked-infrastructure",
+    "reason": "依赖服务器字体文件安装与删除权限"
+  },
+  {
+    "module": "FontManager",
+    "action": "Upgrade",
+    "occurrence": 1,
+    "status": "blocked-infrastructure",
+    "reason": "依赖服务器字体文件安装与删除权限"
+  },
+  {
+    "module": "FontManager",
+    "action": "Delete",
+    "occurrence": 1,
+    "status": "blocked-infrastructure",
+    "reason": "依赖服务器字体文件安装与删除权限"
+  },
+  {
+    "module": "FontManager",
+    "action": "DeleteRange",
+    "occurrence": 1,
+    "status": "blocked-infrastructure",
+    "reason": "依赖服务器字体文件安装与删除权限"
+  },
+  {
+    "module": "FontManager",
+    "action": "DeleteFile",
+    "occurrence": 1,
+    "status": "blocked-infrastructure",
+    "reason": "依赖服务器字体文件安装与删除权限"
+  },
+  {
+    "module": "FontManager",
+    "action": "DeleteFiles",
+    "occurrence": 1,
+    "status": "blocked-infrastructure",
+    "reason": "依赖服务器字体文件安装与删除权限"
+  },
+  {
+    "module": "FontPic",
+    "action": "Index",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "FontPic",
+    "action": "FontPicInfo",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "FontPic",
+    "action": "FontPicInfo_Submit",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "FontPic",
+    "action": "FontPic_API",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "FontPic",
+    "action": "Shape",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "FontPic",
+    "action": "ShapeInfo",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "FontPic",
+    "action": "ShapeInfo_Submit",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "FontPic",
+    "action": "Shape_API",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "FontPic",
+    "action": "ShapeType",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "FontPic",
+    "action": "ShapeTypeInfo",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "FontPic",
+    "action": "ShapeTypeInfo_Submit",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "FontPic",
+    "action": "ShapeType_API",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "FontPic",
+    "action": "Draft",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "FontPic",
+    "action": "DraftInfo",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "FontPic",
+    "action": "DraftInfo_Submit",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "FontPic",
+    "action": "Draft_API",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Content / Guest",
+    "action": "Default",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Content / Guest",
+    "action": "CateList",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Content / Guest",
+    "action": "CateAdd",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Content / Guest",
+    "action": "CateAdd_Submit",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Content / Guest",
+    "action": "Cate_API",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Content / Guest",
+    "action": "MsgList",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Content / Guest",
+    "action": "ReplyGuest",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Content / Guest",
+    "action": "EBtnSubmit",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Content / Guest",
+    "action": "MsgShow",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Content / Guest",
+    "action": "MsgShow_Submit",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Content / Guest",
+    "action": "Msg_API",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Helper",
+    "action": "Index",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Helper",
+    "action": "HelpInfo",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Hms",
+    "action": "UList",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Hms",
+    "action": "VipAdd",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Hms",
+    "action": "VipAddJump",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Hms",
+    "action": "VipUpdate",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Hms",
+    "action": "VipUpdate_Submit",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Hms",
+    "action": "VipRenewal",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Hms",
+    "action": "VipRenewal_Submit",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Hms",
+    "action": "VipOverdue",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Hms",
+    "action": "VipOverdue_Submit",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Hms",
+    "action": "OList",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Index",
+    "action": "Default",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Index",
+    "action": "Main",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Index",
+    "action": "WorkTable",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Index",
+    "action": "Scence",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Index",
+    "action": "FuncList",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Index",
+    "action": "Lockin",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Index",
+    "action": "SiteMap",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Index",
+    "action": "Lockin_Submit",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Index",
+    "action": "ASCXLoad",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Index",
+    "action": "Login",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Index",
+    "action": "Login_AJAX",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Index",
+    "action": "Logout",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Index",
+    "action": "API",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Index",
+    "action": "AccountForm",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Index",
+    "action": "AccountForm_API",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Index",
+    "action": "AccountForm_Submit",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Design / Interactive",
+    "action": "InteractiveList",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Design / Interactive",
+    "action": "Interactive_API",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Office / iServer",
+    "action": "Default",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Office / iServer",
+    "action": "AddQuestionRecord",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Office / iServer",
+    "action": "AddQuestionRecord_Submit",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Office / iServer",
+    "action": "BiServer",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Office / iServer",
+    "action": "BiServer_Del",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Office / iServer",
+    "action": "BiServerInfo",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Office / iServer",
+    "action": "DelIServer",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Office / iServer",
+    "action": "UpdateIServer",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Office / iServer",
+    "action": "BselectiServer",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Office / iServer",
+    "action": "ISReplyAdd",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Office / iServer",
+    "action": "ISReplyAdd_Submit",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Office / Licence",
+    "action": "LicenceFiles",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Office / Licence",
+    "action": "LicenceFiles_API",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Office / Licence",
+    "action": "LicenceFilesAdd",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Office / Licence",
+    "action": "LicenceFilesAdd_Submit",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Office / Licence",
+    "action": "LicenceSignApplyList",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Office / Licence",
+    "action": "LicenceSignApplyDetail",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Office / Licence",
+    "action": "LicenceSignApply_API",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Office / Licence",
+    "action": "LicenceSignList",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Office / Licence",
+    "action": "LicenceSignDetail",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Office / Licence",
+    "action": "LicenceSign_API",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Extend / Log",
+    "action": "TxtLog",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Extend / Log",
+    "action": "TxtLogContent",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Extend / Log",
+    "action": "TxtLog_Down",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Extend / Log",
+    "action": "SysLog",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Extend / Log",
+    "action": "TaskList",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Extend / Log",
+    "action": "TaskAdd",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Extend / Log",
+    "action": "TaskAdd_API",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Extend / Log",
+    "action": "TaskAdd_Submit",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Extend / Log",
+    "action": "Task_API",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Extend / Log",
+    "action": "TaskCenter",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "User / Mail",
+    "action": "Index",
+    "occurrence": 1,
+    "status": "blocked-infrastructure",
+    "reason": "依赖邮件与短信服务商配置及发送凭据"
+  },
+  {
+    "module": "User / Mail",
+    "action": "SafeMobileSms",
+    "occurrence": 1,
+    "status": "blocked-infrastructure",
+    "reason": "依赖邮件与短信服务商配置及发送凭据"
+  },
+  {
+    "module": "User / Mail",
+    "action": "SafeMobileSms_API",
+    "occurrence": 1,
+    "status": "blocked-infrastructure",
+    "reason": "依赖邮件与短信服务商配置及发送凭据"
+  },
+  {
+    "module": "User / Mail",
+    "action": "SMSSend",
+    "occurrence": 1,
+    "status": "blocked-infrastructure",
+    "reason": "依赖邮件与短信服务商配置及发送凭据"
+  },
+  {
+    "module": "User / Mail",
+    "action": "SMSSend_Submit",
+    "occurrence": 1,
+    "status": "blocked-infrastructure",
+    "reason": "依赖邮件与短信服务商配置及发送凭据"
+  },
+  {
+    "module": "User / Mail",
+    "action": "SMSSendLog",
+    "occurrence": 1,
+    "status": "blocked-infrastructure",
+    "reason": "依赖邮件与短信服务商配置及发送凭据"
+  },
+  {
+    "module": "User / Mail",
+    "action": "DeleteSMSLog",
+    "occurrence": 1,
+    "status": "blocked-infrastructure",
+    "reason": "依赖邮件与短信服务商配置及发送凭据"
+  },
+  {
+    "module": "User / Mail",
+    "action": "DeleteSMSLogs",
+    "occurrence": 1,
+    "status": "blocked-infrastructure",
+    "reason": "依赖邮件与短信服务商配置及发送凭据"
+  },
+  {
+    "module": "User / Mail",
+    "action": "Mail_API",
+    "occurrence": 1,
+    "status": "blocked-infrastructure",
+    "reason": "依赖邮件与短信服务商配置及发送凭据"
+  },
+  {
+    "module": "User / Mail",
+    "action": "MailList",
+    "occurrence": 1,
+    "status": "blocked-infrastructure",
+    "reason": "依赖邮件与短信服务商配置及发送凭据"
+  },
+  {
+    "module": "User / Mail",
+    "action": "MailTlp",
+    "occurrence": 1,
+    "status": "blocked-infrastructure",
+    "reason": "依赖邮件与短信服务商配置及发送凭据"
+  },
+  {
+    "module": "User / Mail",
+    "action": "MailTlpAdd",
+    "occurrence": 1,
+    "status": "blocked-infrastructure",
+    "reason": "依赖邮件与短信服务商配置及发送凭据"
+  },
+  {
+    "module": "User / Mail",
+    "action": "MailTlpAdd_Submit",
+    "occurrence": 1,
+    "status": "blocked-infrastructure",
+    "reason": "依赖邮件与短信服务商配置及发送凭据"
+  },
+  {
+    "module": "User / Mail",
+    "action": "MailSysTlp",
+    "occurrence": 1,
+    "status": "blocked-infrastructure",
+    "reason": "依赖邮件与短信服务商配置及发送凭据"
+  },
+  {
+    "module": "User / Mail",
+    "action": "MailSysTlpEdit",
+    "occurrence": 1,
+    "status": "blocked-infrastructure",
+    "reason": "依赖邮件与短信服务商配置及发送凭据"
+  },
+  {
+    "module": "User / Mail",
+    "action": "MailSysTlpEdit_Submit",
+    "occurrence": 1,
+    "status": "blocked-infrastructure",
+    "reason": "依赖邮件与短信服务商配置及发送凭据"
+  },
+  {
+    "module": "User / Mail",
+    "action": "MailSend",
+    "occurrence": 1,
+    "status": "blocked-infrastructure",
+    "reason": "依赖邮件与短信服务商配置及发送凭据"
+  },
+  {
+    "module": "User / Mail",
+    "action": "MailSend_Submit",
+    "occurrence": 1,
+    "status": "blocked-infrastructure",
+    "reason": "依赖邮件与短信服务商配置及发送凭据"
+  },
+  {
+    "module": "User / Mail",
+    "action": "MailSendLog",
+    "occurrence": 1,
+    "status": "blocked-infrastructure",
+    "reason": "依赖邮件与短信服务商配置及发送凭据"
+  },
+  {
+    "module": "Manager",
+    "action": "ModifyPassword",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Manager",
+    "action": "ModifyPassword_Submit",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Content / MarkDown",
+    "action": "Index",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Content / MarkDown",
+    "action": "MD",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Content / MarkDown",
+    "action": "Index_submit",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Content / MarkDown",
+    "action": "Dels",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Content / MarkDown",
+    "action": "Preview",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "User / Message",
+    "action": "Message",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "User / Message",
+    "action": "MessageSend",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "User / Message",
+    "action": "Message_Add",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "User / Message",
+    "action": "MessageRead",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "User / Message",
+    "action": "Message_API",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Mobile",
+    "action": "Index",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Mobile",
+    "action": "MobileBrower",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Model",
+    "action": "Index",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Model",
+    "action": "ModelManage",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Model",
+    "action": "ModelAdd",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Model",
+    "action": "ModelAdd_Submit",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Model",
+    "action": "Model_API",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Model",
+    "action": "ModelData",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Model",
+    "action": "Field",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Model",
+    "action": "Order_Submit",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Model",
+    "action": "FieldAdd",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Model",
+    "action": "FieldAdd_Submit",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Model",
+    "action": "Field_API",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Extend / MyCss",
+    "action": "Default",
+    "occurrence": 1,
+    "status": "blocked-infrastructure",
+    "reason": "依赖旧站点 CSS 文件读写与下载"
+  },
+  {
+    "module": "Extend / MyCss",
+    "action": "Default_API",
+    "occurrence": 1,
+    "status": "blocked-infrastructure",
+    "reason": "依赖旧站点 CSS 文件读写与下载"
+  },
+  {
+    "module": "Extend / MyCss",
+    "action": "CSSEditor",
+    "occurrence": 1,
+    "status": "blocked-infrastructure",
+    "reason": "依赖旧站点 CSS 文件读写与下载"
+  },
+  {
+    "module": "Extend / MyCss",
+    "action": "CSSEditor2",
+    "occurrence": 1,
+    "status": "blocked-infrastructure",
+    "reason": "依赖旧站点 CSS 文件读写与下载"
+  },
+  {
+    "module": "Extend / MyCss",
+    "action": "CSSContent",
+    "occurrence": 1,
+    "status": "blocked-infrastructure",
+    "reason": "依赖旧站点 CSS 文件读写与下载"
+  },
+  {
+    "module": "Extend / MyCss",
+    "action": "CSSContent_Submit",
+    "occurrence": 1,
+    "status": "blocked-infrastructure",
+    "reason": "依赖旧站点 CSS 文件读写与下载"
+  },
+  {
+    "module": "Extend / MyCss",
+    "action": "CSSDown",
+    "occurrence": 1,
+    "status": "blocked-infrastructure",
+    "reason": "依赖旧站点 CSS 文件读写与下载"
+  },
+  {
+    "module": "Content / Node",
+    "action": "ZhiDing",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Content / Node",
+    "action": "NodeManage",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Content / Node",
+    "action": "NodeSearch",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Content / Node",
+    "action": "NodeRecycle",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Content / Node",
+    "action": "NodeAdd",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Content / Node",
+    "action": "SPageAdd",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Content / Node",
+    "action": "OutLinkAdd",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Content / Node",
+    "action": "NodeAdd_Submit",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Content / Node",
+    "action": "Node_API",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Content / Node",
+    "action": "BatchNode",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Content / Node",
+    "action": "BatchNode_Submit",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Content / Node",
+    "action": "UnionNode",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Content / Node",
+    "action": "UnionNode_Merge",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Content / Node",
+    "action": "UnionNode_Move",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Content / Node",
+    "action": "Special_API",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Content / Node",
+    "action": "Special",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Content / Node",
+    "action": "SpecialAdd",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Content / Node",
+    "action": "SpecialAdd_Save",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Content / Node",
+    "action": "UnionSpecial",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Content / Node",
+    "action": "UnionSpecial_Move",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Content / Node",
+    "action": "UnionSpecial_Merge",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Office / OA",
+    "action": "Default",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Office / OA",
+    "action": "FlowInfo",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Office / OA",
+    "action": "FlowInfo_Submit",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Office / OA",
+    "action": "Flow_API",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Office / OA",
+    "action": "SelFlowModel",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Office / OA",
+    "action": "FlowItem",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Office / OA",
+    "action": "FlowItemInfo",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Office / OA",
+    "action": "FlowItemInfo_Submit",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Office / OA",
+    "action": "FlowItem_API",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Office / OA",
+    "action": "SelUserModel",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Office / OA",
+    "action": "AddMisModel",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Office / OA",
+    "action": "AddMisModel_Submit",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Office / OA",
+    "action": "AddSign",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Office / OA",
+    "action": "AddSign_Submit",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Office / OA",
+    "action": "AddSign_Delete",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Office / OA",
+    "action": "AddWorkFlowType",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Office / OA",
+    "action": "AddWorkFlowType_Submit",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Office / OA",
+    "action": "AddWorkFlowType_Delete",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Office / OA",
+    "action": "ApplyManage",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Office / OA",
+    "action": "ApplyManage_Delete",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Office / OA",
+    "action": "FlowTypeList",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Office / OA",
+    "action": "MailManage",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Office / OA",
+    "action": "MisModelManage",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Office / OA",
+    "action": "MisModelManage_Delete",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Office / OA",
+    "action": "OAConfig",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Office / OA",
+    "action": "SelModelFieds",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Office / OA",
+    "action": "SignManage",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Order",
+    "action": "OrderList_font",
+    "occurrence": 1,
+    "status": "blocked-data",
+    "reason": "目标库缺少订单、订单商品、支付与物流主表"
+  },
+  {
+    "module": "Order",
+    "action": "OrderSettle_font",
+    "occurrence": 1,
+    "status": "blocked-data",
+    "reason": "目标库缺少订单、订单商品、支付与物流主表"
+  },
+  {
+    "module": "Order",
+    "action": "OrderSettle_font_detail",
+    "occurrence": 1,
+    "status": "blocked-data",
+    "reason": "目标库缺少订单、订单商品、支付与物流主表"
+  },
+  {
+    "module": "Order",
+    "action": "OrderSettleAdd_font",
+    "occurrence": 1,
+    "status": "blocked-data",
+    "reason": "目标库缺少订单、订单商品、支付与物流主表"
+  },
+  {
+    "module": "Order",
+    "action": "OrderSettleAdd_font_Submit",
+    "occurrence": 1,
+    "status": "blocked-data",
+    "reason": "目标库缺少订单、订单商品、支付与物流主表"
+  },
+  {
+    "module": "Order",
+    "action": "OrderSettleHistory_font",
+    "occurrence": 1,
+    "status": "blocked-data",
+    "reason": "目标库缺少订单、订单商品、支付与物流主表"
+  },
+  {
+    "module": "Order",
+    "action": "OrderSettle_API",
+    "occurrence": 1,
+    "status": "blocked-data",
+    "reason": "目标库缺少订单、订单商品、支付与物流主表"
+  },
+  {
+    "module": "Order",
+    "action": "FontAuthorizeList",
+    "occurrence": 1,
+    "status": "blocked-data",
+    "reason": "目标库缺少订单、订单商品、支付与物流主表"
+  },
+  {
+    "module": "Order",
+    "action": "FontAuthorizeDetail",
+    "occurrence": 1,
+    "status": "blocked-data",
+    "reason": "目标库缺少订单、订单商品、支付与物流主表"
+  },
+  {
+    "module": "Order",
+    "action": "FontAuthorize_API",
+    "occurrence": 1,
+    "status": "blocked-data",
+    "reason": "目标库缺少订单、订单商品、支付与物流主表"
+  },
+  {
+    "module": "Order",
+    "action": "FontOrder_Output",
+    "occurrence": 1,
+    "status": "blocked-data",
+    "reason": "目标库缺少订单、订单商品、支付与物流主表"
+  },
+  {
+    "module": "Order",
+    "action": "OrderListInfo_font",
+    "occurrence": 1,
+    "status": "blocked-data",
+    "reason": "目标库缺少订单、订单商品、支付与物流主表"
+  },
+  {
+    "module": "Order",
+    "action": "OrderListInfo_font_licence",
+    "occurrence": 1,
+    "status": "blocked-data",
+    "reason": "目标库缺少订单、订单商品、支付与物流主表"
+  },
+  {
+    "module": "Order",
+    "action": "OrderList_fontDown",
+    "occurrence": 1,
+    "status": "blocked-data",
+    "reason": "目标库缺少订单、订单商品、支付与物流主表"
+  },
+  {
+    "module": "Order",
+    "action": "OrderList",
+    "occurrence": 1,
+    "status": "blocked-data",
+    "reason": "目标库缺少订单、订单商品、支付与物流主表"
+  },
+  {
+    "module": "Order",
+    "action": "Order_Down",
+    "occurrence": 1,
+    "status": "blocked-data",
+    "reason": "目标库缺少订单、订单商品、支付与物流主表"
+  },
+  {
+    "module": "Order",
+    "action": "Order_API",
+    "occurrence": 1,
+    "status": "blocked-data",
+    "reason": "目标库缺少订单、订单商品、支付与物流主表"
+  },
+  {
+    "module": "Order",
+    "action": "OrderListInfo",
+    "occurrence": 1,
+    "status": "blocked-data",
+    "reason": "目标库缺少订单、订单商品、支付与物流主表"
+  },
+  {
+    "module": "Order",
+    "action": "OrderRepairAudit",
+    "occurrence": 1,
+    "status": "blocked-data",
+    "reason": "目标库缺少订单、订单商品、支付与物流主表"
+  },
+  {
+    "module": "Order",
+    "action": "Audit_Btn_Click",
+    "occurrence": 1,
+    "status": "blocked-data",
+    "reason": "目标库缺少订单、订单商品、支付与物流主表"
+  },
+  {
+    "module": "Order",
+    "action": "UnAudit_Btn_Click",
+    "occurrence": 1,
+    "status": "blocked-data",
+    "reason": "目标库缺少订单、订单商品、支付与物流主表"
+  },
+  {
+    "module": "Order",
+    "action": "Del_Btn_Click",
+    "occurrence": 1,
+    "status": "blocked-data",
+    "reason": "目标库缺少订单、订单商品、支付与物流主表"
+  },
+  {
+    "module": "Order",
+    "action": "RepairDeailt",
+    "occurrence": 1,
+    "status": "blocked-data",
+    "reason": "目标库缺少订单、订单商品、支付与物流主表"
+  },
+  {
+    "module": "Order",
+    "action": "ChangeMoney_Btn_Click",
+    "occurrence": 1,
+    "status": "blocked-data",
+    "reason": "目标库缺少订单、订单商品、支付与物流主表"
+  },
+  {
+    "module": "Order",
+    "action": "CartManage",
+    "occurrence": 1,
+    "status": "blocked-data",
+    "reason": "目标库缺少订单、订单商品、支付与物流主表"
+  },
+  {
+    "module": "Order",
+    "action": "OrderAdd",
+    "occurrence": 1,
+    "status": "blocked-data",
+    "reason": "目标库缺少订单、订单商品、支付与物流主表"
+  },
+  {
+    "module": "Order",
+    "action": "OrderAdd_Submit",
+    "occurrence": 1,
+    "status": "blocked-data",
+    "reason": "目标库缺少订单、订单商品、支付与物流主表"
+  },
+  {
+    "module": "Order",
+    "action": "OrderPay",
+    "occurrence": 1,
+    "status": "blocked-data",
+    "reason": "目标库缺少订单、订单商品、支付与物流主表"
+  },
+  {
+    "module": "Order",
+    "action": "OrderPay_Submit",
+    "occurrence": 1,
+    "status": "blocked-data",
+    "reason": "目标库缺少订单、订单商品、支付与物流主表"
+  },
+  {
+    "module": "Order",
+    "action": "OrderBack",
+    "occurrence": 1,
+    "status": "blocked-data",
+    "reason": "目标库缺少订单、订单商品、支付与物流主表"
+  },
+  {
+    "module": "Order",
+    "action": "OrderBack_Submit",
+    "occurrence": 1,
+    "status": "blocked-data",
+    "reason": "目标库缺少订单、订单商品、支付与物流主表"
+  },
+  {
+    "module": "Order",
+    "action": "OrderPrint",
+    "occurrence": 1,
+    "status": "blocked-data",
+    "reason": "目标库缺少订单、订单商品、支付与物流主表"
+  },
+  {
+    "module": "Order",
+    "action": "OrderExpPrint",
+    "occurrence": 1,
+    "status": "blocked-data",
+    "reason": "目标库缺少订单、订单商品、支付与物流主表"
+  },
+  {
+    "module": "Order",
+    "action": "Output",
+    "occurrence": 1,
+    "status": "blocked-data",
+    "reason": "目标库缺少订单、订单商品、支付与物流主表"
+  },
+  {
+    "module": "Order",
+    "action": "OrderCar",
+    "occurrence": 1,
+    "status": "blocked-data",
+    "reason": "目标库缺少订单、订单商品、支付与物流主表"
+  },
+  {
+    "module": "Order",
+    "action": "API",
+    "occurrence": 1,
+    "status": "blocked-data",
+    "reason": "目标库缺少订单、订单商品、支付与物流主表"
+  },
+  {
+    "module": "Order",
+    "action": "Supple",
+    "occurrence": 1,
+    "status": "blocked-data",
+    "reason": "目标库缺少订单、订单商品、支付与物流主表"
+  },
+  {
+    "module": "Order",
+    "action": "Supple_Submit",
+    "occurrence": 1,
+    "status": "blocked-data",
+    "reason": "目标库缺少订单、订单商品、支付与物流主表"
+  },
+  {
+    "module": "Page",
+    "action": "ApplyAudit",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Page",
+    "action": "ApplyInfo",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Page",
+    "action": "PageStyle",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Page",
+    "action": "PageStyleAdd",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Page",
+    "action": "PageContent",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Page",
+    "action": "EditContent",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Page",
+    "action": "Content_Edit",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Page",
+    "action": "PageConfig",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Page",
+    "action": "PageTemplate",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Page",
+    "action": "PageTemplateAdd",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Page",
+    "action": "SetPageOrder",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Page",
+    "action": "PageConfig_Update",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Page",
+    "action": "PageTemplate_Add",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Page",
+    "action": "SetPageOrder_Batch",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Page",
+    "action": "SetPageOrder_UpMove",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Page",
+    "action": "SetPageOrder_DownMove",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Page",
+    "action": "Style_Add",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Page",
+    "action": "Apply_Update",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Pay",
+    "action": "PayPlat",
+    "occurrence": 1,
+    "status": "blocked-data",
+    "reason": "目标库缺少支付流水、订单支付明细及可验证的交易数据"
+  },
+  {
+    "module": "Pay",
+    "action": "PayPlat_API",
+    "occurrence": 1,
+    "status": "blocked-data",
+    "reason": "目标库缺少支付流水、订单支付明细及可验证的交易数据"
+  },
+  {
+    "module": "Pay",
+    "action": "PayPlatAdd",
+    "occurrence": 1,
+    "status": "blocked-data",
+    "reason": "目标库缺少支付流水、订单支付明细及可验证的交易数据"
+  },
+  {
+    "module": "Pay",
+    "action": "PayPlatAdd_Submit",
+    "occurrence": 1,
+    "status": "blocked-data",
+    "reason": "目标库缺少支付流水、订单支付明细及可验证的交易数据"
+  },
+  {
+    "module": "Pay",
+    "action": "PayPalPlat",
+    "occurrence": 1,
+    "status": "blocked-data",
+    "reason": "目标库缺少支付流水、订单支付明细及可验证的交易数据"
+  },
+  {
+    "module": "Pay",
+    "action": "WechatPlat",
+    "occurrence": 1,
+    "status": "blocked-data",
+    "reason": "目标库缺少支付流水、订单支付明细及可验证的交易数据"
+  },
+  {
+    "module": "Pay",
+    "action": "WechatPlat_Submit",
+    "occurrence": 1,
+    "status": "blocked-data",
+    "reason": "目标库缺少支付流水、订单支付明细及可验证的交易数据"
+  },
+  {
+    "module": "Pay",
+    "action": "AliH5Plat",
+    "occurrence": 1,
+    "status": "blocked-data",
+    "reason": "目标库缺少支付流水、订单支付明细及可验证的交易数据"
+  },
+  {
+    "module": "Pay",
+    "action": "AliBankPlat",
+    "occurrence": 1,
+    "status": "blocked-data",
+    "reason": "目标库缺少支付流水、订单支付明细及可验证的交易数据"
+  },
+  {
+    "module": "Pay",
+    "action": "PaymentList",
+    "occurrence": 1,
+    "status": "blocked-data",
+    "reason": "目标库缺少支付流水、订单支付明细及可验证的交易数据"
+  },
+  {
+    "module": "Pay",
+    "action": "PaymentList_Output",
+    "occurrence": 1,
+    "status": "blocked-data",
+    "reason": "目标库缺少支付流水、订单支付明细及可验证的交易数据"
+  },
+  {
+    "module": "Pay",
+    "action": "PaymentList_API",
+    "occurrence": 1,
+    "status": "blocked-data",
+    "reason": "目标库缺少支付流水、订单支付明细及可验证的交易数据"
+  },
+  {
+    "module": "Pay",
+    "action": "PaymentInfo",
+    "occurrence": 1,
+    "status": "blocked-data",
+    "reason": "目标库缺少支付流水、订单支付明细及可验证的交易数据"
+  },
+  {
+    "module": "Pay",
+    "action": "Payment_Success",
+    "occurrence": 1,
+    "status": "blocked-data",
+    "reason": "目标库缺少支付流水、订单支付明细及可验证的交易数据"
+  },
+  {
+    "module": "Pay",
+    "action": "Regular",
+    "occurrence": 1,
+    "status": "blocked-data",
+    "reason": "目标库缺少支付流水、订单支付明细及可验证的交易数据"
+  },
+  {
+    "module": "Pay",
+    "action": "Regular_API",
+    "occurrence": 1,
+    "status": "blocked-data",
+    "reason": "目标库缺少支付流水、订单支付明细及可验证的交易数据"
+  },
+  {
+    "module": "Pay",
+    "action": "RegularAdd",
+    "occurrence": 1,
+    "status": "blocked-data",
+    "reason": "目标库缺少支付流水、订单支付明细及可验证的交易数据"
+  },
+  {
+    "module": "Pay",
+    "action": "RegularAdd_Submit",
+    "occurrence": 1,
+    "status": "blocked-data",
+    "reason": "目标库缺少支付流水、订单支付明细及可验证的交易数据"
+  },
+  {
+    "module": "Pay",
+    "action": "OCR",
+    "occurrence": 1,
+    "status": "blocked-data",
+    "reason": "目标库缺少支付流水、订单支付明细及可验证的交易数据"
+  },
+  {
+    "module": "Pay",
+    "action": "OCRList",
+    "occurrence": 1,
+    "status": "blocked-data",
+    "reason": "目标库缺少支付流水、订单支付明细及可验证的交易数据"
+  },
+  {
+    "module": "Pay",
+    "action": "OCRView",
+    "occurrence": 1,
+    "status": "blocked-data",
+    "reason": "目标库缺少支付流水、订单支付明细及可验证的交易数据"
+  },
+  {
+    "module": "Pay",
+    "action": "OCRDelete",
+    "occurrence": 1,
+    "status": "blocked-data",
+    "reason": "目标库缺少支付流水、订单支付明细及可验证的交易数据"
+  },
+  {
+    "module": "Pay",
+    "action": "OFR",
+    "occurrence": 1,
+    "status": "blocked-data",
+    "reason": "目标库缺少支付流水、订单支付明细及可验证的交易数据"
+  },
+  {
+    "module": "Pay",
+    "action": "OFRAdd",
+    "occurrence": 1,
+    "status": "blocked-data",
+    "reason": "目标库缺少支付流水、订单支付明细及可验证的交易数据"
+  },
+  {
+    "module": "Pay",
+    "action": "OFRDelete",
+    "occurrence": 1,
+    "status": "blocked-data",
+    "reason": "目标库缺少支付流水、订单支付明细及可验证的交易数据"
+  },
+  {
+    "module": "Pay",
+    "action": "VMoneyTurnover",
+    "occurrence": 1,
+    "status": "blocked-data",
+    "reason": "目标库缺少支付流水、订单支付明细及可验证的交易数据"
+  },
+  {
+    "module": "Pay",
+    "action": "VMoneyStatistics",
+    "occurrence": 1,
+    "status": "blocked-data",
+    "reason": "目标库缺少支付流水、订单支付明细及可验证的交易数据"
+  },
+  {
+    "module": "Pay",
+    "action": "VMoneyStatisticsAdd",
+    "occurrence": 1,
+    "status": "blocked-data",
+    "reason": "目标库缺少支付流水、订单支付明细及可验证的交易数据"
+  },
+  {
+    "module": "Pay",
+    "action": "VMoneyStatisticsDetail",
+    "occurrence": 1,
+    "status": "blocked-data",
+    "reason": "目标库缺少支付流水、订单支付明细及可验证的交易数据"
+  },
+  {
+    "module": "Office / Plat",
+    "action": "Default",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Office / Plat",
+    "action": "AddComp",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Office / Plat",
+    "action": "AddComp_Submit",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Office / Plat",
+    "action": "AuditApply",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Office / Plat",
+    "action": "AuditApply_Agree",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Office / Plat",
+    "action": "AuditApply_Reject",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Office / Plat",
+    "action": "CompList",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Office / Plat",
+    "action": "CompInfo",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Office / Plat",
+    "action": "CreateComp",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Office / Plat",
+    "action": "MemberList",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Office / Plat",
+    "action": "Member_Add",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Office / Plat",
+    "action": "Member_API",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Office / Plat",
+    "action": "PlatInfoDeail",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Office / Plat",
+    "action": "PlatInfoDetail_Submit",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Office / Plat",
+    "action": "PlatInfoManage",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Office / Plat",
+    "action": "TopicList",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Office / Plat",
+    "action": "WordTlp",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Office / Plat",
+    "action": "API",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Office / Plat",
+    "action": "Crud",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Office / Plat",
+    "action": "CrudAdd",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Office / Plat",
+    "action": "CrudAdd_Submit",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Office / Plat",
+    "action": "GroupAdmin_API",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Label / PowerShell",
+    "action": "Index",
+    "occurrence": 1,
+    "status": "blocked-infrastructure",
+    "reason": "依赖 Windows PowerShell 与服务器命令执行,云函数明确禁止"
+  },
+  {
+    "module": "Label / PowerShell",
+    "action": "Cm_information",
+    "occurrence": 1,
+    "status": "blocked-infrastructure",
+    "reason": "依赖 Windows PowerShell 与服务器命令执行,云函数明确禁止"
+  },
+  {
+    "module": "Label / PowerShell",
+    "action": "RunScript",
+    "occurrence": 1,
+    "status": "blocked-infrastructure",
+    "reason": "依赖 Windows PowerShell 与服务器命令执行,云函数明确禁止"
+  },
+  {
+    "module": "Label / PowerShell",
+    "action": "AddScriptConsole",
+    "occurrence": 1,
+    "status": "blocked-infrastructure",
+    "reason": "依赖 Windows PowerShell 与服务器命令执行,云函数明确禁止"
+  },
+  {
+    "module": "Label / PowerShell",
+    "action": "Add",
+    "occurrence": 1,
+    "status": "blocked-infrastructure",
+    "reason": "依赖 Windows PowerShell 与服务器命令执行,云函数明确禁止"
+  },
+  {
+    "module": "Label / PowerShell",
+    "action": "Submit",
+    "occurrence": 1,
+    "status": "blocked-infrastructure",
+    "reason": "依赖 Windows PowerShell 与服务器命令执行,云函数明确禁止"
+  },
+  {
+    "module": "Printer",
+    "action": "Index",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "User / PrivacyPolicy",
+    "action": "LicenceList",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "User / PrivacyPolicy",
+    "action": "LicenceAdd",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "User / PrivacyPolicy",
+    "action": "LicenceAdd_Submit",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "User / PrivacyPolicy",
+    "action": "Licence_API",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "User / PrivacyPolicy",
+    "action": "LicenceUserSign",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Product",
+    "action": "ProductManage",
+    "occurrence": 1,
+    "status": "blocked-data",
+    "reason": "目标 Product 仅为旧商品附表,缺少 ZL_Commodities 主表"
+  },
+  {
+    "module": "Product",
+    "action": "ProductRecycle",
+    "occurrence": 1,
+    "status": "blocked-data",
+    "reason": "目标 Product 仅为旧商品附表,缺少 ZL_Commodities 主表"
+  },
+  {
+    "module": "Product",
+    "action": "Product_API",
+    "occurrence": 1,
+    "status": "blocked-data",
+    "reason": "目标 Product 仅为旧商品附表,缺少 ZL_Commodities 主表"
+  },
+  {
+    "module": "Product",
+    "action": "AddProduct",
+    "occurrence": 1,
+    "status": "blocked-data",
+    "reason": "目标 Product 仅为旧商品附表,缺少 ZL_Commodities 主表"
+  },
+  {
+    "module": "Product",
+    "action": "GetProducer",
+    "occurrence": 1,
+    "status": "blocked-data",
+    "reason": "目标 Product 仅为旧商品附表,缺少 ZL_Commodities 主表"
+  },
+  {
+    "module": "Product",
+    "action": "GetBrand",
+    "occurrence": 1,
+    "status": "blocked-data",
+    "reason": "目标 Product 仅为旧商品附表,缺少 ZL_Commodities 主表"
+  },
+  {
+    "module": "Product",
+    "action": "ProductShow",
+    "occurrence": 1,
+    "status": "blocked-data",
+    "reason": "目标 Product 仅为旧商品附表,缺少 ZL_Commodities 主表"
+  },
+  {
+    "module": "Product",
+    "action": "Product_Add",
+    "occurrence": 1,
+    "status": "blocked-data",
+    "reason": "目标 Product 仅为旧商品附表,缺少 ZL_Commodities 主表"
+  },
+  {
+    "module": "Product",
+    "action": "Product_AddToNew",
+    "occurrence": 1,
+    "status": "blocked-data",
+    "reason": "目标 Product 仅为旧商品附表,缺少 ZL_Commodities 主表"
+  },
+  {
+    "module": "Product",
+    "action": "StockList",
+    "occurrence": 1,
+    "status": "blocked-data",
+    "reason": "目标 Product 仅为旧商品附表,缺少 ZL_Commodities 主表"
+  },
+  {
+    "module": "Product",
+    "action": "StockAdd",
+    "occurrence": 1,
+    "status": "blocked-data",
+    "reason": "目标 Product 仅为旧商品附表,缺少 ZL_Commodities 主表"
+  },
+  {
+    "module": "Product",
+    "action": "Stock_Add",
+    "occurrence": 1,
+    "status": "blocked-data",
+    "reason": "目标 Product 仅为旧商品附表,缺少 ZL_Commodities 主表"
+  },
+  {
+    "module": "Product",
+    "action": "Addon_VerBak",
+    "occurrence": 1,
+    "status": "blocked-data",
+    "reason": "目标 Product 仅为旧商品附表,缺少 ZL_Commodities 主表"
+  },
+  {
+    "module": "Product",
+    "action": "RegionPrice",
+    "occurrence": 1,
+    "status": "blocked-data",
+    "reason": "目标 Product 仅为旧商品附表,缺少 ZL_Commodities 主表"
+  },
+  {
+    "module": "Product",
+    "action": "RegionPrice_Submit",
+    "occurrence": 1,
+    "status": "blocked-data",
+    "reason": "目标 Product 仅为旧商品附表,缺少 ZL_Commodities 主表"
+  },
+  {
+    "module": "Product",
+    "action": "RegionPriceEdit",
+    "occurrence": 1,
+    "status": "blocked-data",
+    "reason": "目标 Product 仅为旧商品附表,缺少 ZL_Commodities 主表"
+  },
+  {
+    "module": "Product",
+    "action": "RegionPriceEdit_Submit",
+    "occurrence": 1,
+    "status": "blocked-data",
+    "reason": "目标 Product 仅为旧商品附表,缺少 ZL_Commodities 主表"
+  },
+  {
+    "module": "Product",
+    "action": "ShareEdit",
+    "occurrence": 1,
+    "status": "blocked-data",
+    "reason": "目标 Product 仅为旧商品附表,缺少 ZL_Commodities 主表"
+  },
+  {
+    "module": "Product",
+    "action": "ShareEdit_Submit",
+    "occurrence": 1,
+    "status": "blocked-data",
+    "reason": "目标 Product 仅为旧商品附表,缺少 ZL_Commodities 主表"
+  },
+  {
+    "module": "Product",
+    "action": "CommentManage",
+    "occurrence": 1,
+    "status": "blocked-data",
+    "reason": "目标 Product 仅为旧商品附表,缺少 ZL_Commodities 主表"
+  },
+  {
+    "module": "Product",
+    "action": "CommentManage_API",
+    "occurrence": 1,
+    "status": "blocked-data",
+    "reason": "目标 Product 仅为旧商品附表,缺少 ZL_Commodities 主表"
+  },
+  {
+    "module": "Product",
+    "action": "CommentAdd",
+    "occurrence": 1,
+    "status": "blocked-data",
+    "reason": "目标 Product 仅为旧商品附表,缺少 ZL_Commodities 主表"
+  },
+  {
+    "module": "Product",
+    "action": "CommentAdd_Submit",
+    "occurrence": 1,
+    "status": "blocked-data",
+    "reason": "目标 Product 仅为旧商品附表,缺少 ZL_Commodities 主表"
+  },
+  {
+    "module": "User / Promo",
+    "action": "Index",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "User / Promo",
+    "action": "WD",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "User / Promo",
+    "action": "WD_API",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "User / Promo",
+    "action": "WDAudit",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "User / Promo",
+    "action": "WDAudit_Accept",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "User / Promo",
+    "action": "WDAudit_Reject",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "User / Promo",
+    "action": "PromoList",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "User / Promo",
+    "action": "UserBank",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "User / Promo",
+    "action": "UserBankAdd",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "User / Promo",
+    "action": "UserBankAdd_Submit",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "User / Promo",
+    "action": "UserBank_API",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Pub",
+    "action": "PubManage",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Pub",
+    "action": "Pub_API",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Pub",
+    "action": "Pubinfo",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Pub",
+    "action": "PubAdd",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Pub",
+    "action": "PubAdd_Submit",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Pub",
+    "action": "Pubsinfo",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Pub",
+    "action": "PubsinfoAdd",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Pub",
+    "action": "PubsinfoAdd_Submit",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Pub",
+    "action": "PubInfo_API",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Pub",
+    "action": "PubInfo2_API",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Pub",
+    "action": "PubsinfoReply",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Pub",
+    "action": "PubsinfoReply_Submit",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Push",
+    "action": "Index",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Push",
+    "action": "APIList",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Push",
+    "action": "API_del",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Push",
+    "action": "AddAPI",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Push",
+    "action": "AddAPI_Submit",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Push",
+    "action": "PushMsg",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Push",
+    "action": "PushMsg_Submit",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Push",
+    "action": "PushTlp",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Push",
+    "action": "AddPushTlp",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Push",
+    "action": "AddPushTlp_Submit",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Push",
+    "action": "PushTlp_API",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Push",
+    "action": "MsgList",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Extend / PWA",
+    "action": "Default",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Extend / PWA",
+    "action": "Default_Submit",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Extend / PWA",
+    "action": "Mobile",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Extend / PWA",
+    "action": "Mobile_Submit",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Extend / PWA",
+    "action": "Offline",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Extend / PWA",
+    "action": "Offline_Submit",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Extend / QuartzTask",
+    "action": "TaskList",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Extend / QuartzTask",
+    "action": "ViewLog",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Extend / QuartzTask",
+    "action": "TaskAdd",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Extend / QuartzTask",
+    "action": "TaskAdd",
+    "occurrence": 2,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Extend / QuartzTask",
+    "action": "TaskEdit",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Extend / QuartzTask",
+    "action": "TaskUpdate",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Extend / QuartzTask",
+    "action": "ExecuteNow",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Extend / QuartzTask",
+    "action": "TaskDelete",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Extend / QuartzTask",
+    "action": "TaskDeleteRange",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Extend / QuartzTask",
+    "action": "TaskPause",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Extend / QuartzTask",
+    "action": "TaskResume",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Shop / Refund",
+    "action": "ShowOrder",
+    "occurrence": 1,
+    "status": "blocked-data",
+    "reason": "目标库无订单退款与退款流水"
+  },
+  {
+    "module": "Shop / Refund",
+    "action": "WxRefund",
+    "occurrence": 1,
+    "status": "blocked-data",
+    "reason": "目标库无订单退款与退款流水"
+  },
+  {
+    "module": "Shop / Refund",
+    "action": "WxRefundInfo",
+    "occurrence": 1,
+    "status": "blocked-data",
+    "reason": "目标库无订单退款与退款流水"
+  },
+  {
+    "module": "Shop / Refund",
+    "action": "WxRefund_API",
+    "occurrence": 1,
+    "status": "blocked-data",
+    "reason": "目标库无订单退款与退款流水"
+  },
+  {
+    "module": "Design / Resource",
+    "action": "ResList",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Design / Resource",
+    "action": "ResourceAdd",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Design / Resource",
+    "action": "ResourceAdd_Submit",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Design / Resource",
+    "action": "Resource_API",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "User / Role",
+    "action": "UserRole",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "User / Role",
+    "action": "UserRoleAdd",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "User / Role",
+    "action": "UserRoleAdd_Submit",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "User / Role",
+    "action": "UserRoleAuth",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "User / Role",
+    "action": "UserRole_API",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "User / Role",
+    "action": "ARole",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "User / Role",
+    "action": "ARole_API",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "User / Role",
+    "action": "ARoleAdd",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "User / Role",
+    "action": "ARoleAdd_Submit",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "User / Role",
+    "action": "ARoleAuth",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "User / Role",
+    "action": "ARoleAuth_Submit",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Extend / Safe",
+    "action": "Default",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Extend / Safe",
+    "action": "API",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Extend / Safe",
+    "action": "SiteSwitch",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Extend / Safe",
+    "action": "SiteIP",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Extend / Safe",
+    "action": "SiteIPAdd",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Extend / Safe",
+    "action": "SiteIPAdd_Submit",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Extend / Safe",
+    "action": "ContentProtect",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Extend / Safe",
+    "action": "SiteAssess",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Extend / Safe",
+    "action": "SiteProtect",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Extend / Safe",
+    "action": "SiteProtect_Submit",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Extend / Safe",
+    "action": "ContentCheck",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Extend / Safe",
+    "action": "ContentCheckConfig",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Extend / Safe",
+    "action": "ContentCheckConfig_Submit",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Extend / Safe",
+    "action": "ContentFilter",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Extend / Safe",
+    "action": "SiteCheck",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Sale",
+    "action": "Index",
+    "occurrence": 1,
+    "status": "blocked-data",
+    "reason": "目标库缺少订单销售明细与可复算的销售事实表"
+  },
+  {
+    "module": "Sale",
+    "action": "SaleByDay",
+    "occurrence": 1,
+    "status": "blocked-data",
+    "reason": "目标库缺少订单销售明细与可复算的销售事实表"
+  },
+  {
+    "module": "Sale",
+    "action": "SaleByMonth",
+    "occurrence": 1,
+    "status": "blocked-data",
+    "reason": "目标库缺少订单销售明细与可复算的销售事实表"
+  },
+  {
+    "module": "Sale",
+    "action": "SaleByProduct",
+    "occurrence": 1,
+    "status": "blocked-data",
+    "reason": "目标库缺少订单销售明细与可复算的销售事实表"
+  },
+  {
+    "module": "Sale",
+    "action": "SaleByProductDetail",
+    "occurrence": 1,
+    "status": "blocked-data",
+    "reason": "目标库缺少订单销售明细与可复算的销售事实表"
+  },
+  {
+    "module": "Sale",
+    "action": "SaleByClass",
+    "occurrence": 1,
+    "status": "blocked-data",
+    "reason": "目标库缺少订单销售明细与可复算的销售事实表"
+  },
+  {
+    "module": "Sale",
+    "action": "SaleByUser",
+    "occurrence": 1,
+    "status": "blocked-data",
+    "reason": "目标库缺少订单销售明细与可复算的销售事实表"
+  },
+  {
+    "module": "Sale",
+    "action": "SaleByUserDetail",
+    "occurrence": 1,
+    "status": "blocked-data",
+    "reason": "目标库缺少订单销售明细与可复算的销售事实表"
+  },
+  {
+    "module": "Sale",
+    "action": "PayList",
+    "occurrence": 1,
+    "status": "blocked-data",
+    "reason": "目标库缺少订单销售明细与可复算的销售事实表"
+  },
+  {
+    "module": "Design / Scene",
+    "action": "SceneList",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Design / Scene",
+    "action": "SceneListRecycle",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Design / Scene",
+    "action": "SceneAdd",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Design / Scene",
+    "action": "SceneAdd_Submit",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Design / Scene",
+    "action": "Scene_API",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Office / Service",
+    "action": "Default",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Office / Service",
+    "action": "Seat",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Office / Service",
+    "action": "SeatAdd",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Office / Service",
+    "action": "SeatAdd_Submit",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Office / Service",
+    "action": "CodeAdd",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Office / Service",
+    "action": "CodeAdd_Submit",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Office / Service",
+    "action": "Seat_API",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Office / Service",
+    "action": "CodeList",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Office / Service",
+    "action": "MsgEx",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Office / Service",
+    "action": "MsgInfo",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Office / Service",
+    "action": "MsgList",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Site",
+    "action": "API",
+    "occurrence": 1,
+    "status": "blocked-infrastructure",
+    "reason": "依赖 IIS 站点、虚拟目录、主机池与数据库服务器管理"
+  },
+  {
+    "module": "Site",
+    "action": "Default",
+    "occurrence": 1,
+    "status": "blocked-infrastructure",
+    "reason": "依赖 IIS 站点、虚拟目录、主机池与数据库服务器管理"
+  },
+  {
+    "module": "Site",
+    "action": "SiteList",
+    "occurrence": 1,
+    "status": "blocked-infrastructure",
+    "reason": "依赖 IIS 站点、虚拟目录、主机池与数据库服务器管理"
+  },
+  {
+    "module": "Site",
+    "action": "FileManage",
+    "occurrence": 1,
+    "status": "blocked-infrastructure",
+    "reason": "依赖 IIS 站点、虚拟目录、主机池与数据库服务器管理"
+  },
+  {
+    "module": "Site",
+    "action": "SiteAdd",
+    "occurrence": 1,
+    "status": "blocked-infrastructure",
+    "reason": "依赖 IIS 站点、虚拟目录、主机池与数据库服务器管理"
+  },
+  {
+    "module": "Site",
+    "action": "SiteAdd_Submit",
+    "occurrence": 1,
+    "status": "blocked-infrastructure",
+    "reason": "依赖 IIS 站点、虚拟目录、主机池与数据库服务器管理"
+  },
+  {
+    "module": "Site",
+    "action": "Config",
+    "occurrence": 1,
+    "status": "blocked-infrastructure",
+    "reason": "依赖 IIS 站点、虚拟目录、主机池与数据库服务器管理"
+  },
+  {
+    "module": "Site",
+    "action": "Config_Submit",
+    "occurrence": 1,
+    "status": "blocked-infrastructure",
+    "reason": "依赖 IIS 站点、虚拟目录、主机池与数据库服务器管理"
+  },
+  {
+    "module": "Site",
+    "action": "SitePool",
+    "occurrence": 1,
+    "status": "blocked-infrastructure",
+    "reason": "依赖 IIS 站点、虚拟目录、主机池与数据库服务器管理"
+  },
+  {
+    "module": "Site",
+    "action": "ServerClusterConfig",
+    "occurrence": 1,
+    "status": "blocked-infrastructure",
+    "reason": "依赖 IIS 站点、虚拟目录、主机池与数据库服务器管理"
+  },
+  {
+    "module": "Site",
+    "action": "ServerAdd",
+    "occurrence": 1,
+    "status": "blocked-infrastructure",
+    "reason": "依赖 IIS 站点、虚拟目录、主机池与数据库服务器管理"
+  },
+  {
+    "module": "Site",
+    "action": "SiteCloudSetup",
+    "occurrence": 1,
+    "status": "blocked-infrastructure",
+    "reason": "依赖 IIS 站点、虚拟目录、主机池与数据库服务器管理"
+  },
+  {
+    "module": "Site",
+    "action": "SiteDataCenter",
+    "occurrence": 1,
+    "status": "blocked-infrastructure",
+    "reason": "依赖 IIS 站点、虚拟目录、主机池与数据库服务器管理"
+  },
+  {
+    "module": "Site",
+    "action": "VirtualDirectory",
+    "occurrence": 1,
+    "status": "blocked-infrastructure",
+    "reason": "依赖 IIS 站点、虚拟目录、主机池与数据库服务器管理"
+  },
+  {
+    "module": "Site",
+    "action": "DBManage",
+    "occurrence": 1,
+    "status": "blocked-infrastructure",
+    "reason": "依赖 IIS 站点、虚拟目录、主机池与数据库服务器管理"
+  },
+  {
+    "module": "Site",
+    "action": "DBAdd",
+    "occurrence": 1,
+    "status": "blocked-infrastructure",
+    "reason": "依赖 IIS 站点、虚拟目录、主机池与数据库服务器管理"
+  },
+  {
+    "module": "Site",
+    "action": "HostList",
+    "occurrence": 1,
+    "status": "blocked-infrastructure",
+    "reason": "依赖 IIS 站点、虚拟目录、主机池与数据库服务器管理"
+  },
+  {
+    "module": "Site",
+    "action": "HostAdd",
+    "occurrence": 1,
+    "status": "blocked-infrastructure",
+    "reason": "依赖 IIS 站点、虚拟目录、主机池与数据库服务器管理"
+  },
+  {
+    "module": "Label / SiteDeploy",
+    "action": "SiteList",
+    "occurrence": 1,
+    "status": "blocked-infrastructure",
+    "reason": "依赖站点发布、远程命令与文件下载基础设施"
+  },
+  {
+    "module": "Label / SiteDeploy",
+    "action": "SiteAdd",
+    "occurrence": 1,
+    "status": "blocked-infrastructure",
+    "reason": "依赖站点发布、远程命令与文件下载基础设施"
+  },
+  {
+    "module": "Label / SiteDeploy",
+    "action": "SiteAdd",
+    "occurrence": 2,
+    "status": "blocked-infrastructure",
+    "reason": "依赖站点发布、远程命令与文件下载基础设施"
+  },
+  {
+    "module": "Label / SiteDeploy",
+    "action": "SiteDetail",
+    "occurrence": 1,
+    "status": "blocked-infrastructure",
+    "reason": "依赖站点发布、远程命令与文件下载基础设施"
+  },
+  {
+    "module": "Label / SiteDeploy",
+    "action": "ExecuteCommand",
+    "occurrence": 1,
+    "status": "blocked-infrastructure",
+    "reason": "依赖站点发布、远程命令与文件下载基础设施"
+  },
+  {
+    "module": "Label / SiteDeploy",
+    "action": "SiteEdit",
+    "occurrence": 1,
+    "status": "blocked-infrastructure",
+    "reason": "依赖站点发布、远程命令与文件下载基础设施"
+  },
+  {
+    "module": "Label / SiteDeploy",
+    "action": "SetDefaultApi",
+    "occurrence": 1,
+    "status": "blocked-infrastructure",
+    "reason": "依赖站点发布、远程命令与文件下载基础设施"
+  },
+  {
+    "module": "Label / SiteDeploy",
+    "action": "SiteUpdate",
+    "occurrence": 1,
+    "status": "blocked-infrastructure",
+    "reason": "依赖站点发布、远程命令与文件下载基础设施"
+  },
+  {
+    "module": "Label / SiteDeploy",
+    "action": "SiteDelete",
+    "occurrence": 1,
+    "status": "blocked-infrastructure",
+    "reason": "依赖站点发布、远程命令与文件下载基础设施"
+  },
+  {
+    "module": "Label / SiteDeploy",
+    "action": "SiteDeleteRange",
+    "occurrence": 1,
+    "status": "blocked-infrastructure",
+    "reason": "依赖站点发布、远程命令与文件下载基础设施"
+  },
+  {
+    "module": "Label / SiteDeploy",
+    "action": "SitePublish",
+    "occurrence": 1,
+    "status": "blocked-infrastructure",
+    "reason": "依赖站点发布、远程命令与文件下载基础设施"
+  },
+  {
+    "module": "Label / SiteDeploy",
+    "action": "SiteDownload",
+    "occurrence": 1,
+    "status": "blocked-infrastructure",
+    "reason": "依赖站点发布、远程命令与文件下载基础设施"
+  },
+  {
+    "module": "Shop / Store",
+    "action": "StoreManage",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Shop / Store",
+    "action": "Store_API",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Shop / Store",
+    "action": "StoreStyle",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Shop / Store",
+    "action": "Style_API",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Shop / Store",
+    "action": "StoreStyleAdd",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Shop / Store",
+    "action": "StoreStyleAdd_Submit",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Shop / Store",
+    "action": "StoreUpdate",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Shop / Store",
+    "action": "StoreUpdate_Submit",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Shop / Store",
+    "action": "Product",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "User / Struct",
+    "action": "Default",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "User / Struct",
+    "action": "StructList",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "User / Struct",
+    "action": "order",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "User / Struct",
+    "action": "order_submit",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "User / Struct",
+    "action": "Struct_API",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "User / Struct",
+    "action": "StructByTree",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "User / Struct",
+    "action": "Struct_ListByTree",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "User / Struct",
+    "action": "StructAdd",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "User / Struct",
+    "action": "StructAdd_Submit",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "User / Struct",
+    "action": "StructMember",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "User / Struct",
+    "action": "Structure_update",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "User / Struct",
+    "action": "Structure_Merge",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "User / Struct",
+    "action": "Structure_Move",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "User / Struct",
+    "action": "Structure_List",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Extend / Survey",
+    "action": "SurveyManage",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Extend / Survey",
+    "action": "Survey_API",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Extend / Survey",
+    "action": "SurveyAdd",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Extend / Survey",
+    "action": "SurveyAdd_Submit",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Extend / Survey",
+    "action": "SurveyItemList",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Extend / Survey",
+    "action": "SurveyItemAdd",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Extend / Survey",
+    "action": "SurveyItemAdd_Submit",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Extend / Survey",
+    "action": "SurveyItem_API",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Extend / Survey",
+    "action": "SurveyResultChart",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Extend / Survey",
+    "action": "SurveyResultList",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Template",
+    "action": "LabelManage",
+    "occurrence": 1,
+    "status": "blocked-infrastructure",
+    "reason": "依赖旧模板/CSS 文件系统和 Zoomla 标签运行时"
+  },
+  {
+    "module": "Template",
+    "action": "LabelHtml",
+    "occurrence": 1,
+    "status": "blocked-infrastructure",
+    "reason": "依赖旧模板/CSS 文件系统和 Zoomla 标签运行时"
+  },
+  {
+    "module": "Template",
+    "action": "LabelHtml_Save",
+    "occurrence": 1,
+    "status": "blocked-infrastructure",
+    "reason": "依赖旧模板/CSS 文件系统和 Zoomla 标签运行时"
+  },
+  {
+    "module": "Template",
+    "action": "LabelSql",
+    "occurrence": 1,
+    "status": "blocked-infrastructure",
+    "reason": "依赖旧模板/CSS 文件系统和 Zoomla 标签运行时"
+  },
+  {
+    "module": "Template",
+    "action": "LabelSql_Save",
+    "occurrence": 1,
+    "status": "blocked-infrastructure",
+    "reason": "依赖旧模板/CSS 文件系统和 Zoomla 标签运行时"
+  },
+  {
+    "module": "Template",
+    "action": "LabelCallTab",
+    "occurrence": 1,
+    "status": "blocked-infrastructure",
+    "reason": "依赖旧模板/CSS 文件系统和 Zoomla 标签运行时"
+  },
+  {
+    "module": "Template",
+    "action": "LabelCall_API",
+    "occurrence": 1,
+    "status": "blocked-infrastructure",
+    "reason": "依赖旧模板/CSS 文件系统和 Zoomla 标签运行时"
+  },
+  {
+    "module": "Template",
+    "action": "LabelInsert",
+    "occurrence": 1,
+    "status": "blocked-infrastructure",
+    "reason": "依赖旧模板/CSS 文件系统和 Zoomla 标签运行时"
+  },
+  {
+    "module": "Template",
+    "action": "Label_API",
+    "occurrence": 1,
+    "status": "blocked-infrastructure",
+    "reason": "依赖旧模板/CSS 文件系统和 Zoomla 标签运行时"
+  },
+  {
+    "module": "Template",
+    "action": "LabelSql_API",
+    "occurrence": 1,
+    "status": "blocked-infrastructure",
+    "reason": "依赖旧模板/CSS 文件系统和 Zoomla 标签运行时"
+  },
+  {
+    "module": "Template",
+    "action": "LabelUpdate",
+    "occurrence": 1,
+    "status": "blocked-infrastructure",
+    "reason": "依赖旧模板/CSS 文件系统和 Zoomla 标签运行时"
+  },
+  {
+    "module": "Template",
+    "action": "LabelUpdate_Submit",
+    "occurrence": 1,
+    "status": "blocked-infrastructure",
+    "reason": "依赖旧模板/CSS 文件系统和 Zoomla 标签运行时"
+  },
+  {
+    "module": "Template",
+    "action": "LabelUpdate_Submit2",
+    "occurrence": 1,
+    "status": "blocked-infrastructure",
+    "reason": "依赖旧模板/CSS 文件系统和 Zoomla 标签运行时"
+  },
+  {
+    "module": "Template",
+    "action": "LabelSql_Field",
+    "occurrence": 1,
+    "status": "blocked-infrastructure",
+    "reason": "依赖旧模板/CSS 文件系统和 Zoomla 标签运行时"
+  },
+  {
+    "module": "Template",
+    "action": "LabelPage",
+    "occurrence": 1,
+    "status": "blocked-infrastructure",
+    "reason": "依赖旧模板/CSS 文件系统和 Zoomla 标签运行时"
+  },
+  {
+    "module": "Template",
+    "action": "LabelPage_Submit",
+    "occurrence": 1,
+    "status": "blocked-infrastructure",
+    "reason": "依赖旧模板/CSS 文件系统和 Zoomla 标签运行时"
+  },
+  {
+    "module": "Template",
+    "action": "TemplateManage",
+    "occurrence": 1,
+    "status": "blocked-infrastructure",
+    "reason": "依赖旧模板/CSS 文件系统和 Zoomla 标签运行时"
+  },
+  {
+    "module": "Template",
+    "action": "TemplateEdit",
+    "occurrence": 1,
+    "status": "blocked-infrastructure",
+    "reason": "依赖旧模板/CSS 文件系统和 Zoomla 标签运行时"
+  },
+  {
+    "module": "Template",
+    "action": "TemplateList",
+    "occurrence": 1,
+    "status": "blocked-infrastructure",
+    "reason": "依赖旧模板/CSS 文件系统和 Zoomla 标签运行时"
+  },
+  {
+    "module": "Template",
+    "action": "TemplateEdit_Submit",
+    "occurrence": 1,
+    "status": "blocked-infrastructure",
+    "reason": "依赖旧模板/CSS 文件系统和 Zoomla 标签运行时"
+  },
+  {
+    "module": "Template",
+    "action": "CSSManage",
+    "occurrence": 1,
+    "status": "blocked-infrastructure",
+    "reason": "依赖旧模板/CSS 文件系统和 Zoomla 标签运行时"
+  },
+  {
+    "module": "Template",
+    "action": "CSSEdit",
+    "occurrence": 1,
+    "status": "blocked-infrastructure",
+    "reason": "依赖旧模板/CSS 文件系统和 Zoomla 标签运行时"
+  },
+  {
+    "module": "Template",
+    "action": "CSSEdit_Submit",
+    "occurrence": 1,
+    "status": "blocked-infrastructure",
+    "reason": "依赖旧模板/CSS 文件系统和 Zoomla 标签运行时"
+  },
+  {
+    "module": "Template",
+    "action": "TemplateSetOfficial",
+    "occurrence": 1,
+    "status": "blocked-infrastructure",
+    "reason": "依赖旧模板/CSS 文件系统和 Zoomla 标签运行时"
+  },
+  {
+    "module": "Template",
+    "action": "TemplateSet",
+    "occurrence": 1,
+    "status": "blocked-infrastructure",
+    "reason": "依赖旧模板/CSS 文件系统和 Zoomla 标签运行时"
+  },
+  {
+    "module": "Template",
+    "action": "TemplateSetDown",
+    "occurrence": 1,
+    "status": "blocked-infrastructure",
+    "reason": "依赖旧模板/CSS 文件系统和 Zoomla 标签运行时"
+  },
+  {
+    "module": "Template",
+    "action": "TemplateSet_API",
+    "occurrence": 1,
+    "status": "blocked-infrastructure",
+    "reason": "依赖旧模板/CSS 文件系统和 Zoomla 标签运行时"
+  },
+  {
+    "module": "Template",
+    "action": "TemplateSetAdd",
+    "occurrence": 1,
+    "status": "blocked-infrastructure",
+    "reason": "依赖旧模板/CSS 文件系统和 Zoomla 标签运行时"
+  },
+  {
+    "module": "Template",
+    "action": "TemplateSetAdd_Submit",
+    "occurrence": 1,
+    "status": "blocked-infrastructure",
+    "reason": "依赖旧模板/CSS 文件系统和 Zoomla 标签运行时"
+  },
+  {
+    "module": "Template",
+    "action": "DSList",
+    "occurrence": 1,
+    "status": "blocked-infrastructure",
+    "reason": "依赖旧模板/CSS 文件系统和 Zoomla 标签运行时"
+  },
+  {
+    "module": "Template",
+    "action": "DBList_API",
+    "occurrence": 1,
+    "status": "blocked-infrastructure",
+    "reason": "依赖旧模板/CSS 文件系统和 Zoomla 标签运行时"
+  },
+  {
+    "module": "Template",
+    "action": "DSAdd",
+    "occurrence": 1,
+    "status": "blocked-infrastructure",
+    "reason": "依赖旧模板/CSS 文件系统和 Zoomla 标签运行时"
+  },
+  {
+    "module": "Template",
+    "action": "DSAdd_Submit",
+    "occurrence": 1,
+    "status": "blocked-infrastructure",
+    "reason": "依赖旧模板/CSS 文件系统和 Zoomla 标签运行时"
+  },
+  {
+    "module": "Template",
+    "action": "SelFont",
+    "occurrence": 1,
+    "status": "blocked-infrastructure",
+    "reason": "依赖旧模板/CSS 文件系统和 Zoomla 标签运行时"
+  },
+  {
+    "module": "Design / Template",
+    "action": "GoDesign",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Design / Template",
+    "action": "TlpList",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Design / Template",
+    "action": "TlpListRecycle",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Design / Template",
+    "action": "TemlateAdd",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Design / Template",
+    "action": "TemlateAdd_Submit",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Design / Template",
+    "action": "Temlate_API",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "User",
+    "action": "UserManage",
+    "occurrence": 1,
+    "status": "partial",
+    "reason": "已提供帐套用户列表、搜索、分页和批量操作;旧多条件筛选与导出仍待补齐"
+  },
+  {
+    "module": "User",
+    "action": "Output",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "User",
+    "action": "dthelp",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "User",
+    "action": "user",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "User",
+    "action": "GetMd",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "User",
+    "action": "UserAdd",
+    "occurrence": 1,
+    "status": "partial",
+    "reason": "已提供安全普通用户开户;旧扩展资料字段尚未全部复刻"
+  },
+  {
+    "module": "User",
+    "action": "UserAdd_Submit",
+    "occurrence": 1,
+    "status": "partial",
+    "reason": "已覆盖开户、旧用户 ID 与默认账户初始化"
+  },
+  {
+    "module": "User",
+    "action": "UserInfo",
+    "occurrence": 1,
+    "status": "partial",
+    "reason": "已提供动态详情、资料编辑、状态、分组和密码重置"
+  },
+  {
+    "module": "User",
+    "action": "UserOrder",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "User",
+    "action": "DelUserPost_Btn_Click",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "User",
+    "action": "UPClient",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "User",
+    "action": "UserInfo_Submit",
+    "occurrence": 1,
+    "status": "partial",
+    "reason": "已覆盖安全字段更新;旧 UserBase 全字段仍待专用映射"
+  },
+  {
+    "module": "User",
+    "action": "UserInfo_PlatSubmit",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "User",
+    "action": "UserBlontoAdmin",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "User",
+    "action": "UserBlontoAdmin_Submit",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "User",
+    "action": "User_API",
+    "occurrence": 1,
+    "status": "partial",
+    "reason": "已覆盖锁定、解锁、移动分组;标注、归属管理员和手机归属地尚未迁移"
+  },
+  {
+    "module": "User",
+    "action": "UserLogin",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "User",
+    "action": "UserExp",
+    "occurrence": 1,
+    "status": "partial",
+    "reason": "现有账本可查询,管理员余额变更表单与事务规则尚未补齐"
+  },
+  {
+    "module": "User",
+    "action": "UserExp_Submit",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "User",
+    "action": "AdminManage",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "User",
+    "action": "AdminAdd",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "User",
+    "action": "AdminAdd_Submit",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "User",
+    "action": "AdminSuperEdit_Submit",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "User",
+    "action": "Admin_API",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "User",
+    "action": "GroupManage",
+    "occurrence": 1,
+    "status": "implemented",
+    "reason": "已由 Group 资源页与专用帐套组生命周期替代"
+  },
+  {
+    "module": "User",
+    "action": "Group_API",
+    "occurrence": 1,
+    "status": "implemented",
+    "reason": "已覆盖帐套组列表与带引用保护的删除"
+  },
+  {
+    "module": "User",
+    "action": "GroupAdd",
+    "occurrence": 1,
+    "status": "implemented",
+    "reason": "已由动态组表单与专用 saveGroup 替代"
+  },
+  {
+    "module": "User",
+    "action": "GroupAdd_Submit",
+    "occurrence": 1,
+    "status": "implemented",
+    "reason": "已覆盖原子编号、父组校验与保存"
+  },
+  {
+    "module": "User",
+    "action": "PermissionInfo",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "User",
+    "action": "SendMailList",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "User",
+    "action": "SubscriptListManage",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "User",
+    "action": "Jobsconfig",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "User",
+    "action": "ZoneConfig",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "User",
+    "action": "WSApi",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "User",
+    "action": "Department",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "User",
+    "action": "Department_Submit",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "User",
+    "action": "WSApi_Submit",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "User",
+    "action": "UserGraph",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Content / VBook",
+    "action": "Default",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Content / VBook",
+    "action": "Add",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Content / VBook",
+    "action": "Add_Submit",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Content / VBook",
+    "action": "List",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Content / VBook",
+    "action": "API",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Content / VBook",
+    "action": "Best",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Vdesign",
+    "action": "Default",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Vdesign",
+    "action": "SiteAdd",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Vdesign",
+    "action": "SiteAdd_Submit",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Vdesign",
+    "action": "SiteArticle",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Vdesign",
+    "action": "SiteShop",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Vdesign",
+    "action": "SiteMessage",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Vdesign",
+    "action": "Site_API",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Vdesign",
+    "action": "SiteBoard",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Vdesign",
+    "action": "SiteBoardAdd",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Vdesign",
+    "action": "SiteBoardAdd_Submit",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Vdesign",
+    "action": "Board_API",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Vdesign",
+    "action": "SiteBoardType",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Vdesign",
+    "action": "SiteBoardTypeAdd",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Vdesign",
+    "action": "SiteBoardTypeAdd_Submit",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Vdesign",
+    "action": "BoardType_API",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Vdesign",
+    "action": "SiteChangeLog",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Vdesign",
+    "action": "SiteChangeLog_API",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Vdesign",
+    "action": "TemplateBuyLog",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Vdesign",
+    "action": "TemplateBuyLog_API",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Extend / VDesign",
+    "action": "SPage",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Extend / VDesign",
+    "action": "SPageAdd",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Extend / VDesign",
+    "action": "SPageAdd_Submit",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Extend / VDesign",
+    "action": "SPage_API",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Extend / VDesign",
+    "action": "SPageEdit",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Extend / VDesign",
+    "action": "SPageEdit_Submit",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Extend / VDesign",
+    "action": "SPage_AddComponent",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Extend / VDesign",
+    "action": "SPage_AddLayout",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Extend / VDesign",
+    "action": "SPageDesign",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Extend / VDesign",
+    "action": "SPageDesign_API",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Extend / VDesign",
+    "action": "SPageDesign_Nav",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Extend / VDesign",
+    "action": "SPageDesign_Label",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Extend / VDesign",
+    "action": "SPageDesign_Content",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Extend / VDesign",
+    "action": "SPageDesign_Carousel",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Extend / VDesign",
+    "action": "SPagePreview",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Label / Vue",
+    "action": "Index",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Label / Vue",
+    "action": "TlpView",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Label / Vue",
+    "action": "VUE_API",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Label / Vue",
+    "action": "Config",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Label / Vue",
+    "action": "Config_Submit",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "Mobile / WeiXin",
+    "action": "Index",
+    "occurrence": 1,
+    "status": "blocked-infrastructure",
+    "reason": "依赖新版微信、支付、模板消息和服务通知凭据"
+  },
+  {
+    "module": "Mobile / WeiXin",
+    "action": "WXAPPManage",
+    "occurrence": 1,
+    "status": "blocked-infrastructure",
+    "reason": "依赖新版微信、支付、模板消息和服务通知凭据"
+  },
+  {
+    "module": "Mobile / WeiXin",
+    "action": "WXAPP_API",
+    "occurrence": 1,
+    "status": "blocked-infrastructure",
+    "reason": "依赖新版微信、支付、模板消息和服务通知凭据"
+  },
+  {
+    "module": "Mobile / WeiXin",
+    "action": "WxConfig",
+    "occurrence": 1,
+    "status": "blocked-infrastructure",
+    "reason": "依赖新版微信、支付、模板消息和服务通知凭据"
+  },
+  {
+    "module": "Mobile / WeiXin",
+    "action": "WXConfig_Submit",
+    "occurrence": 1,
+    "status": "blocked-infrastructure",
+    "reason": "依赖新版微信、支付、模板消息和服务通知凭据"
+  },
+  {
+    "module": "Mobile / WeiXin",
+    "action": "WelPage",
+    "occurrence": 1,
+    "status": "blocked-infrastructure",
+    "reason": "依赖新版微信、支付、模板消息和服务通知凭据"
+  },
+  {
+    "module": "Mobile / WeiXin",
+    "action": "WelPage_Submit",
+    "occurrence": 1,
+    "status": "blocked-infrastructure",
+    "reason": "依赖新版微信、支付、模板消息和服务通知凭据"
+  },
+  {
+    "module": "Mobile / WeiXin",
+    "action": "WxPayConfig",
+    "occurrence": 1,
+    "status": "blocked-infrastructure",
+    "reason": "依赖新版微信、支付、模板消息和服务通知凭据"
+  },
+  {
+    "module": "Mobile / WeiXin",
+    "action": "WxPayConfig_Submit",
+    "occurrence": 1,
+    "status": "blocked-infrastructure",
+    "reason": "依赖新版微信、支付、模板消息和服务通知凭据"
+  },
+  {
+    "module": "Mobile / WeiXin",
+    "action": "WxUserList",
+    "occurrence": 1,
+    "status": "blocked-infrastructure",
+    "reason": "依赖新版微信、支付、模板消息和服务通知凭据"
+  },
+  {
+    "module": "Mobile / WeiXin",
+    "action": "WXUser_API",
+    "occurrence": 1,
+    "status": "blocked-infrastructure",
+    "reason": "依赖新版微信、支付、模板消息和服务通知凭据"
+  },
+  {
+    "module": "Mobile / WeiXin",
+    "action": "EditWxMenu",
+    "occurrence": 1,
+    "status": "blocked-infrastructure",
+    "reason": "依赖新版微信、支付、模板消息和服务通知凭据"
+  },
+  {
+    "module": "Mobile / WeiXin",
+    "action": "PayLog",
+    "occurrence": 1,
+    "status": "blocked-infrastructure",
+    "reason": "依赖新版微信、支付、模板消息和服务通知凭据"
+  },
+  {
+    "module": "Mobile / WeiXin",
+    "action": "API",
+    "occurrence": 1,
+    "status": "blocked-infrastructure",
+    "reason": "依赖新版微信、支付、模板消息和服务通知凭据"
+  },
+  {
+    "module": "Mobile / WeiXin",
+    "action": "MsgTlp",
+    "occurrence": 1,
+    "status": "blocked-infrastructure",
+    "reason": "依赖新版微信、支付、模板消息和服务通知凭据"
+  },
+  {
+    "module": "Mobile / WeiXin",
+    "action": "MsgTlpAdd",
+    "occurrence": 1,
+    "status": "blocked-infrastructure",
+    "reason": "依赖新版微信、支付、模板消息和服务通知凭据"
+  },
+  {
+    "module": "Mobile / WeiXin",
+    "action": "MsgTlpAdd_Submit",
+    "occurrence": 1,
+    "status": "blocked-infrastructure",
+    "reason": "依赖新版微信、支付、模板消息和服务通知凭据"
+  },
+  {
+    "module": "Mobile / WeiXin",
+    "action": "MsgMultiAdd",
+    "occurrence": 1,
+    "status": "blocked-infrastructure",
+    "reason": "依赖新版微信、支付、模板消息和服务通知凭据"
+  },
+  {
+    "module": "Mobile / WeiXin",
+    "action": "MsgMultiAdd_Submit",
+    "occurrence": 1,
+    "status": "blocked-infrastructure",
+    "reason": "依赖新版微信、支付、模板消息和服务通知凭据"
+  },
+  {
+    "module": "Mobile / WeiXin",
+    "action": "MsgSend",
+    "occurrence": 1,
+    "status": "blocked-infrastructure",
+    "reason": "依赖新版微信、支付、模板消息和服务通知凭据"
+  },
+  {
+    "module": "Mobile / WeiXin",
+    "action": "MsgSend_Submit",
+    "occurrence": 1,
+    "status": "blocked-infrastructure",
+    "reason": "依赖新版微信、支付、模板消息和服务通知凭据"
+  },
+  {
+    "module": "Mobile / WeiXin",
+    "action": "MsgPreView",
+    "occurrence": 1,
+    "status": "blocked-infrastructure",
+    "reason": "依赖新版微信、支付、模板消息和服务通知凭据"
+  },
+  {
+    "module": "Mobile / WeiXin",
+    "action": "ReplyList",
+    "occurrence": 1,
+    "status": "blocked-infrastructure",
+    "reason": "依赖新版微信、支付、模板消息和服务通知凭据"
+  },
+  {
+    "module": "Mobile / WeiXin",
+    "action": "Reply_API",
+    "occurrence": 1,
+    "status": "blocked-infrastructure",
+    "reason": "依赖新版微信、支付、模板消息和服务通知凭据"
+  },
+  {
+    "module": "Mobile / WeiXin",
+    "action": "ReplyAdd",
+    "occurrence": 1,
+    "status": "blocked-infrastructure",
+    "reason": "依赖新版微信、支付、模板消息和服务通知凭据"
+  },
+  {
+    "module": "Mobile / WeiXin",
+    "action": "ReplyAdd_Submit",
+    "occurrence": 1,
+    "status": "blocked-infrastructure",
+    "reason": "依赖新版微信、支付、模板消息和服务通知凭据"
+  },
+  {
+    "module": "Mobile / WeiXin",
+    "action": "Config",
+    "occurrence": 1,
+    "status": "blocked-infrastructure",
+    "reason": "依赖新版微信、支付、模板消息和服务通知凭据"
+  },
+  {
+    "module": "Mobile / WeiXin",
+    "action": "Config_Submit",
+    "occurrence": 1,
+    "status": "blocked-infrastructure",
+    "reason": "依赖新版微信、支付、模板消息和服务通知凭据"
+  },
+  {
+    "module": "Mobile / WeiXin",
+    "action": "RedPackCfg",
+    "occurrence": 1,
+    "status": "blocked-infrastructure",
+    "reason": "依赖新版微信、支付、模板消息和服务通知凭据"
+  },
+  {
+    "module": "Mobile / WeiXin",
+    "action": "RedPackCfgAdd",
+    "occurrence": 1,
+    "status": "blocked-infrastructure",
+    "reason": "依赖新版微信、支付、模板消息和服务通知凭据"
+  },
+  {
+    "module": "Mobile / WeiXin",
+    "action": "RedPackCfgAdd_Submit",
+    "occurrence": 1,
+    "status": "blocked-infrastructure",
+    "reason": "依赖新版微信、支付、模板消息和服务通知凭据"
+  },
+  {
+    "module": "Mobile / WeiXin",
+    "action": "RedPackCfg_API",
+    "occurrence": 1,
+    "status": "blocked-infrastructure",
+    "reason": "依赖新版微信、支付、模板消息和服务通知凭据"
+  },
+  {
+    "module": "Mobile / WeiXin",
+    "action": "RedPackLog_Detail",
+    "occurrence": 1,
+    "status": "blocked-infrastructure",
+    "reason": "依赖新版微信、支付、模板消息和服务通知凭据"
+  },
+  {
+    "module": "Mobile / WeiXin",
+    "action": "RedPackLog_API",
+    "occurrence": 1,
+    "status": "blocked-infrastructure",
+    "reason": "依赖新版微信、支付、模板消息和服务通知凭据"
+  },
+  {
+    "module": "Mobile / WeiXin",
+    "action": "Popularize",
+    "occurrence": 1,
+    "status": "blocked-infrastructure",
+    "reason": "依赖新版微信、支付、模板消息和服务通知凭据"
+  },
+  {
+    "module": "Mobile / WeiXin",
+    "action": "Popularize_Submit",
+    "occurrence": 1,
+    "status": "blocked-infrastructure",
+    "reason": "依赖新版微信、支付、模板消息和服务通知凭据"
+  },
+  {
+    "module": "Mobile / WeiXin",
+    "action": "MiniprogramCode",
+    "occurrence": 1,
+    "status": "blocked-infrastructure",
+    "reason": "依赖新版微信、支付、模板消息和服务通知凭据"
+  },
+  {
+    "module": "Mobile / WeiXin",
+    "action": "MiniprogramCode_Submit",
+    "occurrence": 1,
+    "status": "blocked-infrastructure",
+    "reason": "依赖新版微信、支付、模板消息和服务通知凭据"
+  },
+  {
+    "module": "Mobile / WeiXin",
+    "action": "ServiceNotice",
+    "occurrence": 1,
+    "status": "blocked-infrastructure",
+    "reason": "依赖新版微信、支付、模板消息和服务通知凭据"
+  },
+  {
+    "module": "Mobile / WeiXin",
+    "action": "ServiceNoticeSendLog",
+    "occurrence": 1,
+    "status": "blocked-infrastructure",
+    "reason": "依赖新版微信、支付、模板消息和服务通知凭据"
+  },
+  {
+    "module": "Mobile / WeiXin",
+    "action": "ServiceNoticeSendAgian",
+    "occurrence": 1,
+    "status": "blocked-infrastructure",
+    "reason": "依赖新版微信、支付、模板消息和服务通知凭据"
+  },
+  {
+    "module": "Mobile / WeiXin",
+    "action": "ServiceNoticeSend",
+    "occurrence": 1,
+    "status": "blocked-infrastructure",
+    "reason": "依赖新版微信、支付、模板消息和服务通知凭据"
+  },
+  {
+    "module": "Mobile / WeiXin",
+    "action": "ServiceNoticeSend_Submit",
+    "occurrence": 1,
+    "status": "blocked-infrastructure",
+    "reason": "依赖新版微信、支付、模板消息和服务通知凭据"
+  },
+  {
+    "module": "Workload",
+    "action": "Default",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "WritePearl",
+    "action": "Default",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "WritePearl",
+    "action": "CopybookAdd",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "WritePearl",
+    "action": "CopybookAdd_Submit",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "WritePearl",
+    "action": "Copybook_API",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "WritePearl",
+    "action": "Manuscripts",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "WritePearl",
+    "action": "ManuscriptsAdd",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "WritePearl",
+    "action": "ManuscriptsAdd_Submit",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "WritePearl",
+    "action": "Manuscripts_API",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "WritePearl",
+    "action": "UserFiles",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  },
+  {
+    "module": "WritePearl",
+    "action": "UserFiles_API",
+    "occurrence": 1,
+    "status": "pending",
+    "reason": "尚未逐项迁移或完成等价性核验"
+  }
+];

+ 12 - 0
src/app/admin/pages/admin-migration.component.html

@@ -4,6 +4,18 @@
   <article><div class="icon green"><lucide-icon [img]="icons.Database" [size]="22" /></div><span>规范化数据迁移</span><strong>195,452</strong><small>来源记录已登记,96 个目标业务类</small></article>
   <article><div class="icon blue"><lucide-icon [img]="icons.CloudCog" [size]="22" /></div><span>线上云函数</span><strong>{{ meta()?.cloudFunctions ?? '—' }}</strong><small>Function 表有效记录</small></article>
   <article><div class="icon amber"><lucide-icon [img]="icons.CircleAlert" [size]="22" /></div><span>阻塞 action</span><strong>{{ blockedEntries().length || '—' }}</strong><small>已实现 {{ appStatus()?.implemented?.length ?? '—' }} 个,阻塞项逐请求返回 501</small></article>
+  <article><div class="icon violet"><lucide-icon [img]="icons.CheckCircle2" [size]="22" /></div><span>旧后台动作台账</span><strong>{{ adminCounts().implemented + adminCounts().partial }} / 1,042</strong><small>已实现 {{ adminCounts().implemented }},部分实现 {{ adminCounts().partial }},其余逐项保留原因</small></article>
+</section>
+
+<section class="matrix admin-coverage">
+  <header><div><h2>旧 Angular 后台迁移动作台账</h2><p>从 79 个反编译控制器的 1,042 个公开动作生成;“待核验”不计为完成</p></div><span>{{ filteredAdminCoverage().length }} / 1,042</span></header>
+  <div class="coverage-summary"><span class="badge ok">已实现 {{ adminCounts().implemented }}</span><span class="badge partial">部分实现 {{ adminCounts().partial }}</span><span class="badge blocked">数据阻塞 {{ adminCounts()['blocked-data'] }}</span><span class="badge infrastructure">基础设施阻塞 {{ adminCounts()['blocked-infrastructure'] }}</span><span class="badge pending">待核验 {{ adminCounts().pending }}</span></div>
+  <div class="coverage-filter"><input [ngModel]="adminSearch()" (ngModelChange)="adminSearch.set($event)" placeholder="搜索模块、action 或原因" /><select [ngModel]="adminStatusFilter()" (ngModelChange)="adminStatusFilter.set($event)"><option value="all">全部状态</option><option value="implemented">已实现</option><option value="partial">部分实现</option><option value="blocked-data">数据阻塞</option><option value="blocked-infrastructure">基础设施阻塞</option><option value="pending">待核验</option></select></div>
+  <table><thead><tr><th>旧模块</th><th>action</th><th>状态</th><th>当前说明 / 前置条件</th></tr></thead><tbody>
+    @for (entry of filteredAdminCoverage(); track entry.module + '/' + entry.action + '#' + entry.occurrence) {
+      <tr><td>{{ entry.module }}</td><td><code>{{ entry.action }}</code>@if (entry.occurrence > 1) { <small>重载 {{ entry.occurrence }}</small> }</td><td><span [class]="'badge ' + entry.status">{{ adminStatusLabel(entry.status) }}</span></td><td>{{ entry.reason }}</td></tr>
+    } @empty { <tr><td colspan="4">没有符合筛选条件的后台动作</td></tr> }
+  </tbody></table>
 </section>
 
 <section class="matrix blocked-matrix">

+ 4 - 2
src/app/admin/pages/admin-migration.component.scss

@@ -1,7 +1,9 @@
 .page-header { margin-bottom: 22px; }.page-header p { margin: 0 0 7px; color: #2e9a71; font-size: 11px; font-weight: 800; letter-spacing: .18em; }.page-header h1 { margin: 0; font-size: 28px; }.page-header span { display: block; margin-top: 7px; color: #7e8999; font-size: 12px; }
-.summary { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }.summary article { display: grid; grid-template-columns: auto 1fr; column-gap: 13px; padding: 19px; border: 1px solid #e4e9f0; border-radius: 14px; background: white; }.icon { grid-row: 1 / 4; display: grid; place-items: center; width: 44px; height: 44px; border-radius: 12px; }.icon.green { color: #258a65; background: #eaf8f2; }.icon.blue { color: #3379ce; background: #edf5ff; }.icon.amber { color: #ad761a; background: #fff6df; }.summary span { color: #6e7a8c; font-size: 12px; }.summary strong { margin: 2px 0; font-size: 24px; }.summary small { color: #98a3b2; font-size: 11px; }
+.summary { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }.summary article { display: grid; grid-template-columns: auto 1fr; column-gap: 13px; padding: 19px; border: 1px solid #e4e9f0; border-radius: 14px; background: white; }.icon { grid-row: 1 / 4; display: grid; place-items: center; width: 44px; height: 44px; border-radius: 12px; }.icon.green { color: #258a65; background: #eaf8f2; }.icon.blue { color: #3379ce; background: #edf5ff; }.icon.amber { color: #ad761a; background: #fff6df; }.icon.violet { color: #7358b3; background: #f1edfb; }.summary span { color: #6e7a8c; font-size: 12px; }.summary strong { margin: 2px 0; font-size: 24px; }.summary small { color: #98a3b2; font-size: 11px; }
 .notice { display: flex; align-items: flex-start; gap: 10px; margin-top: 16px; padding: 13px 15px; border: 1px solid #d8e8f4; border-radius: 10px; color: #476278; background: #f1f8fd; font-size: 12px; line-height: 1.7; }.notice.error { border-color: #f1d6d8; color: #a43b43; background: #fff3f4; }
 .matrix { overflow: hidden; margin-top: 17px; border: 1px solid #e4e9f0; border-radius: 14px; background: white; }.matrix > header { display: flex; align-items: center; justify-content: space-between; padding: 18px 20px; border-bottom: 1px solid #e9edf2; }.matrix h2 { margin: 0; font-size: 17px; }.matrix p { margin: 5px 0 0; color: #8b96a5; font-size: 11px; }.matrix > header > span { padding: 4px 9px; border-radius: 14px; color: #43705f; background: #eaf6f1; font-size: 11px; }
 table { width: 100%; border-collapse: collapse; }th, td { padding: 12px 20px; border-bottom: 1px solid #edf0f4; font-size: 12px; text-align: left; }th { color: #758194; background: #fafbfd; font-size: 11px; }code { padding: 3px 6px; border-radius: 5px; color: #4e6578; background: #f1f4f7; }.badge { display: inline-flex; align-items: center; gap: 5px; padding: 4px 8px; border-radius: 14px; font-size: 11px; }.badge.ok { color: #217756; background: #eaf7f1; }.badge.blocked { color: #9e6912; background: #fff4d9; }
 .blocked-matrix td:first-child { width: 230px; }.blocked-matrix td:last-child { color: #596677; line-height: 1.65; }.matrix-state { display: flex; align-items: center; justify-content: center; gap: 9px; min-height: 100px; color: #7f8b9b; font-size: 12px; }.spin { animation: spin .9s linear infinite; }@keyframes spin { to { transform: rotate(360deg); } }
-@media (max-width: 760px) { .summary { grid-template-columns: 1fr; }.matrix { overflow-x: auto; }.matrix > header, th, td { padding-left: 14px; padding-right: 14px; }table { min-width: 680px; } }
+.coverage-summary, .coverage-filter { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; padding: 13px 20px; border-bottom: 1px solid #edf0f4; }.coverage-filter input, .coverage-filter select { min-height: 36px; box-sizing: border-box; padding: 0 11px; border: 1px solid #dfe5ed; border-radius: 8px; background: #fafbfd; font: inherit; }.coverage-filter input { width: min(420px, 100%); }.badge.partial { color: #386fa5; background: #eaf3fc; }.badge.infrastructure { color: #8d4e82; background: #faedf7; }.badge.pending { color: #697486; background: #edf0f4; }.badge.blocked-data, .badge.blocked-infrastructure { color: #9e6912; background: #fff4d9; }.admin-coverage td:first-child { width: 150px; }.admin-coverage td:last-child { color: #596677; line-height: 1.55; }
+.admin-coverage td:nth-child(2) small { margin-left: 6px; color: #8b96a5; }
+@media (max-width: 1100px) { .summary { grid-template-columns: repeat(2, 1fr); } }@media (max-width: 760px) { .summary { grid-template-columns: 1fr; }.matrix { overflow-x: auto; }.matrix > header, th, td { padding-left: 14px; padding-right: 14px; }table { min-width: 680px; } }

+ 32 - 0
src/app/admin/pages/admin-migration.component.spec.ts

@@ -0,0 +1,32 @@
+import { ComponentFixture, TestBed } from '@angular/core/testing';
+import { CloudFunctionsService } from '../cloud-functions.service';
+import { AdminMigrationComponent } from './admin-migration.component';
+
+describe('AdminMigrationComponent', () => {
+  let fixture: ComponentFixture<AdminMigrationComponent>;
+  let component: AdminMigrationComponent;
+  const functions = { admin: jasmine.createSpy('admin'), app: jasmine.createSpy('app') };
+
+  beforeEach(async () => {
+    functions.admin.calls.reset(); functions.app.calls.reset();
+    await TestBed.configureTestingModule({
+      imports: [AdminMigrationComponent],
+      providers: [{ provide: CloudFunctionsService, useValue: functions }],
+    }).compileComponents();
+    fixture = TestBed.createComponent(AdminMigrationComponent);
+    component = fixture.componentInstance;
+  });
+
+  it('accounts for all 1,042 legacy admin actions', () => {
+    const counts = component.adminCounts();
+    expect(Object.values(counts).reduce((sum, count) => sum + count, 0)).toBe(1042);
+    expect(counts.implemented).toBeGreaterThan(0);
+    expect(counts.pending).toBeGreaterThan(0);
+  });
+
+  it('filters the auditable action ledger by status and keyword', () => {
+    component.adminStatusFilter.set('blocked-infrastructure');
+    component.adminSearch.set('RunScript');
+    expect(component.filteredAdminCoverage().map((entry) => `${entry.module}/${entry.action}`)).toEqual(['Label / PowerShell/RunScript']);
+  });
+});

+ 15 - 1
src/app/admin/pages/admin-migration.component.ts

@@ -1,8 +1,10 @@
 import { CommonModule } from '@angular/common';
 import { ChangeDetectionStrategy, Component, OnInit, computed, inject, signal } from '@angular/core';
+import { FormsModule } from '@angular/forms';
 import { CheckCircle2, CircleAlert, CloudCog, Database, LoaderCircle, LucideAngularModule } from 'lucide-angular';
 import { AppMigrationStatus } from '../admin.models';
 import { CloudFunctionsService } from '../cloud-functions.service';
+import { LEGACY_ADMIN_COVERAGE, LegacyAdminCoverageStatus } from '../legacy-admin-coverage.generated';
 
 interface MigrationMeta {
   classes: number;
@@ -13,7 +15,7 @@ interface MigrationMeta {
 @Component({
   selector: 'app-admin-migration',
   standalone: true,
-  imports: [CommonModule, LucideAngularModule],
+  imports: [CommonModule, FormsModule, LucideAngularModule],
   templateUrl: './admin-migration.component.html',
   styleUrl: './admin-migration.component.scss',
   changeDetection: ChangeDetectionStrategy.OnPush,
@@ -22,6 +24,14 @@ export class AdminMigrationComponent implements OnInit {
   readonly meta = signal<MigrationMeta | null>(null);
   readonly appStatus = signal<AppMigrationStatus | null>(null);
   readonly blockedEntries = computed(() => Object.entries(this.appStatus()?.blocked ?? {}).sort(([left], [right]) => left.localeCompare(right)));
+  readonly adminSearch = signal('');
+  readonly adminStatusFilter = signal<'all' | LegacyAdminCoverageStatus>('all');
+  readonly adminCounts = computed(() => LEGACY_ADMIN_COVERAGE.reduce((counts, entry) => { counts[entry.status] += 1; return counts; }, { implemented: 0, partial: 0, 'blocked-data': 0, 'blocked-infrastructure': 0, pending: 0 } as Record<LegacyAdminCoverageStatus, number>));
+  readonly filteredAdminCoverage = computed(() => {
+    const keyword = this.adminSearch().trim().toLocaleLowerCase();
+    const status = this.adminStatusFilter();
+    return LEGACY_ADMIN_COVERAGE.filter((entry) => (status === 'all' || entry.status === status) && (!keyword || `${entry.module} ${entry.action} ${entry.reason}`.toLocaleLowerCase().includes(keyword)));
+  });
   readonly error = signal('');
   readonly icons = { CheckCircle2, CircleAlert, CloudCog, Database, LoaderCircle };
   readonly rewrites = [
@@ -40,6 +50,10 @@ export class AdminMigrationComponent implements OnInit {
   ] as const;
   private readonly functions = inject(CloudFunctionsService);
 
+  adminStatusLabel(status: LegacyAdminCoverageStatus): string {
+    return ({ implemented: '已实现', partial: '部分实现', 'blocked-data': '数据阻塞', 'blocked-infrastructure': '基础设施阻塞', pending: '待核验' })[status];
+  }
+
   async ngOnInit(): Promise<void> {
     try {
       const [meta, appStatus] = await Promise.all([