// 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": "implemented", "reason": "已由 Angular 广告位导航进入专用列表" }, { "module": "Extend / AD", "action": "ZoneManage", "occurrence": 1, "status": "implemented", "reason": "已由 adZones 帐套隔离列表、名称搜索、类型与启停筛选替代" }, { "module": "Extend / AD", "action": "Zone_API", "occurrence": 1, "status": "implemented", "reason": "已由 adZoneBatch 覆盖每批 1–100 条启用、停用与引用保护删除" }, { "module": "Extend / AD", "action": "ZoneAdd", "occurrence": 1, "status": "partial", "reason": "现有广告位编辑页已迁移;新增因旧 id 与 Parse 保留字段冲突而明确阻塞" }, { "module": "Extend / AD", "action": "ZoneAdd_Submit", "occurrence": 1, "status": "partial", "reason": "现有广告位由 saveAdZone 白名单更新;无旧编号的新增明确返回 migration_blocked" }, { "module": "Extend / AD", "action": "InfoManage", "occurrence": 1, "status": "implemented", "reason": "已由 adInfos 按帐套、广告位、审核状态和关键词分页筛选" }, { "module": "Extend / AD", "action": "Info_API", "occurrence": 1, "status": "implemented", "reason": "已由 adInfoBatch 覆盖审核、取消审核和批量删除" }, { "module": "Extend / AD", "action": "InfoAdd", "occurrence": 1, "status": "partial", "reason": "现有广告编辑和广告位选择已迁移;新增因旧 id 不可持久化而阻塞" }, { "module": "Extend / AD", "action": "InfoAdd_Submit", "occurrence": 1, "status": "partial", "reason": "现有广告由 saveAdInfo 校验广告位、时间、权重和内容后更新;新增明确阻塞" }, { "module": "Extend / AD", "action": "ADPreView", "occurrence": 1, "status": "partial", "reason": "已提供当前生效广告预览;旧 HTML 只显示源码而不执行脚本,避免管理端 XSS" }, { "module": "Content / Addon", "action": "Comment", "occurrence": 1, "status": "blocked-data", "reason": "目标 Schema 缺少旧 ZL_Comment 评论主表与历史评论数据" }, { "module": "Content / Addon", "action": "Commont_API", "occurrence": 1, "status": "blocked-data", "reason": "目标无可审核、取消审核或删除的旧评论记录" }, { "module": "Content / Addon", "action": "ConAudit_API", "occurrence": 1, "status": "blocked-data", "reason": "目标缺少 ContentAudit 记录、节点审核流程与管理员步骤状态" }, { "module": "Content / Addon", "action": "ConAudit_SJ_API", "occurrence": 1, "status": "blocked-data", "reason": "目标缺少送审确认/驳回记录和可追溯流程状态" }, { "module": "Content / Addon", "action": "ConAudit", "occurrence": 1, "status": "blocked-data", "reason": "目标 Schema 缺少旧 ZL_Content_Audit 审核列表及历史数据" }, { "module": "Content / Addon", "action": "ConAuditDetail", "occurrence": 1, "status": "blocked-data", "reason": "目标缺少审核明细、备注、节点和操作人流转记录" }, { "module": "Content / Addon", "action": "TagKey", "occurrence": 1, "status": "implemented", "reason": "已由 Angular 全局标签词库编辑页替代旧 tags.json 文件页" }, { "module": "Content / Addon", "action": "TagKey_Submit", "occurrence": 1, "status": "implemented", "reason": "已由 saveContentTagKeys 清理标签并持久化到 Parse Config" }, { "module": "Content / Addon", "action": "VerBak", "occurrence": 1, "status": "blocked-data", "reason": "目标 Schema 缺少旧 ZL_Content_VerBak 内容/商品版本快照与历史数据" }, { "module": "Content / Addon", "action": "VerBak_Del", "occurrence": 1, "status": "blocked-data", "reason": "目标无可定位和删除的旧 ZL_Content_VerBak 版本记录" }, { "module": "Shop / Addon", "action": "Vendor", "occurrence": 1, "status": "blocked-data", "reason": "目标 Schema 缺少旧 ZL_Shop_Vendor 供应商主表与历史数据" }, { "module": "Shop / Addon", "action": "Vendor_API", "occurrence": 1, "status": "blocked-data", "reason": "目标没有可定位和删除的供应商记录;Agency/DeliveryCenter 语义不等价" }, { "module": "Shop / Addon", "action": "VendorAdd", "occurrence": 1, "status": "blocked-data", "reason": "目标无签约数据类承载名称、地址、手机、传真、邮箱和状态" }, { "module": "Shop / Addon", "action": "VendorAdd_Submit", "occurrence": 1, "status": "blocked-data", "reason": "按既定数据库设计不能擅自新建 ShopVendor,也不能错写 Agency/DeliveryCenter" }, { "module": "User / Addon", "action": "PointGroup", "occurrence": 1, "status": "implemented", "reason": "已由 userLevels 帐套隔离、关键词与排序分页列表替代" }, { "module": "User / Addon", "action": "PointGroupAdd", "occurrence": 1, "status": "partial", "reason": "现有积分等级编辑页已迁移;新增因旧 id 与 Parse 保留字段冲突而阻塞" }, { "module": "User / Addon", "action": "PointGroup_API", "occurrence": 1, "status": "implemented", "reason": "已由 userLevelBatch 覆盖每批 1–100 条帐套隔离删除" }, { "module": "User / Addon", "action": "PointGroup_Submit", "occurrence": 1, "status": "partial", "reason": "现有等级由 saveUserLevel 白名单更新别名、积分阈值、图片和备注;新增明确阻塞" }, { "module": "User / Addon", "action": "VMoneyLog", "occurrence": 1, "status": "implemented", "reason": "已由 userMoneyLogs 聚合六类规范化账本,保留类型、日期、关键词与用户名筛选" }, { "module": "User / Addon", "action": "ThirdInfo", "occurrence": 1, "status": "blocked-data", "reason": "旧 ThirdInfo.config 六个提供商配置与历史密钥未迁入;ThirdPlatInfo 是不同业务平台" }, { "module": "User / Addon", "action": "ThirdInfo_Submit", "occurrence": 1, "status": "blocked-infrastructure", "reason": "云函数没有旧 XML 文件系统与 Baidu/QQ/Sina/Wechat 等 OAuth 运行时消费者" }, { "module": "User / Addon", "action": "SigninList", "occurrence": 1, "status": "blocked-data", "reason": "目标 Schema 缺少 PrizeTaskLog 及 Global.SignIn 用户签到任务日志" }, { "module": "User / Addon", "action": "RealNameAuth", "occurrence": 1, "status": "blocked-data", "reason": "目标 Schema 缺少 UserRealNameAuth 申请主表、审核状态与历史数据" }, { "module": "User / Addon", "action": "RealNameAuthAdd", "occurrence": 1, "status": "blocked-data", "reason": "目标 Profile 零散身份字段不等价于可审阅的实名认证申请" }, { "module": "User / Addon", "action": "RealNameAuth_API", "occurrence": 1, "status": "blocked-data", "reason": "目标缺少实名申请记录及 Global.RealNameAuth 任务奖励链" }, { "module": "Content / Ask", "action": "Default", "occurrence": 1, "status": "blocked-data", "reason": "目标 Schema 缺少旧 ZL_Ask 问题主表、回收站标记与历史问题数据" }, { "module": "Content / Ask", "action": "AskInfo", "occurrence": 1, "status": "blocked-data", "reason": "目标无问答问题详情;Baike/Guestbook/GuestBar/DesignQuestion 均非等价主表" }, { "module": "Content / Ask", "action": "AskAdd", "occurrence": 1, "status": "blocked-data", "reason": "目标无 Ask 数据类承载 QTitle/Qcontent 与状态、精华、回收站关系" }, { "module": "Content / Ask", "action": "AskAdd_Submit", "occurrence": 1, "status": "blocked-data", "reason": "不能把旧问答问题错写到百科、留言、论坛或问卷题目" }, { "module": "Content / Ask", "action": "Ask_API", "occurrence": 1, "status": "blocked-data", "reason": "目标缺少可回收、恢复、删除、审核或加精的旧问答问题记录" }, { "module": "Content / Ask", "action": "AnswerList", "occurrence": 1, "status": "blocked-data", "reason": "目标 Schema 缺少旧 ZL_GuestAnswer 回答主表及 QueId 问题外键" }, { "module": "Content / Ask", "action": "AnswerAdd", "occurrence": 1, "status": "blocked-data", "reason": "目标无可编辑或新增的问答回答记录与问题归属" }, { "module": "Content / Ask", "action": "AnswerAdd_Submit", "occurrence": 1, "status": "blocked-data", "reason": "目标缺少 GuestAnswer QueId/UserId/UserName/Content 数据模型与历史关系" }, { "module": "Content / Ask", "action": "Answer_API", "occurrence": 1, "status": "blocked-data", "reason": "目标缺少可审核、取消审核或删除的旧问答回答记录" }, { "module": "Content / Ask", "action": "Config", "occurrence": 1, "status": "blocked-infrastructure", "reason": "目标没有 GuestConfig.WDOption 问答运行时和用户组权限消费者" }, { "module": "Content / Ask", "action": "Config_Submit", "occurrence": 1, "status": "blocked-infrastructure", "reason": "目标没有问答发布/回复/推荐运行时执行积分与用户组规则" }, { "module": "Content / Baike", "action": "Default", "occurrence": 1, "status": "partial", "reason": "已由 Angular 百科审核入口替代;旧默认跳转的 BaikeEdit 版本列表因数据缺失而阻塞" }, { "module": "Content / Baike", "action": "BKVersionList", "occurrence": 1, "status": "blocked-data", "reason": "目标 Schema 缺少旧 BaikeEdit 版本表、待审版本内容与历史版本数据" }, { "module": "Content / Baike", "action": "Version_API", "occurrence": 1, "status": "blocked-data", "reason": "目标无 BaikeEdit 版本记录,无法审核并 Apply、取消审核、驳回或删除" }, { "module": "Content / Baike", "action": "BKList", "occurrence": 1, "status": "blocked-data", "reason": "旧 BKList 按 Flow 读取 BaikeEdit 版本链,目标仅保留 Baike 主记录" }, { "module": "Content / Baike", "action": "BK_API", "occurrence": 1, "status": "partial", "reason": "已由 baikeBatch 覆盖主词条审核、取消审核、推荐和取消推荐;版本删除/应用与奖励链缺失" }, { "module": "Content / Baike", "action": "Config", "occurrence": 1, "status": "blocked-infrastructure", "reason": "目标没有 GuestConfig.BKOption 百科运行时、用户组权限和积分奖励消费者" }, { "module": "Content / Baike", "action": "Config_Submit", "occurrence": 1, "status": "blocked-infrastructure", "reason": "目标没有百科创建/编辑/推荐运行时执行 CreatePoint/EditPoint/RemmPoint 规则" }, { "module": "Content / Baike", "action": "BkCheck", "occurrence": 1, "status": "implemented", "reason": "已由 baikeEntries 按帐套、关键词、审核与推荐状态分页审查主词条" }, { "module": "Content / Bar", "action": "Default", "occurrence": 1, "status": "implemented", "reason": "已由 Guestcate 贴吧类型列表入口替代" }, { "module": "Content / Bar", "action": "CateList", "occurrence": 1, "status": "implemented", "reason": "已提供贴吧分类列表、搜索、分页与父子结构编辑" }, { "module": "Content / Bar", "action": "CateAdd", "occurrence": 1, "status": "partial", "reason": "已提供贴吧分类表单;旧版发帖频率文件配置尚未迁移" }, { "module": "Content / Bar", "action": "CateAdd_Submit", "occurrence": 1, "status": "partial", "reason": "已覆盖原子编号、防重、父子循环和分类元数据;文件配置尚缺" }, { "module": "Content / Bar", "action": "Cate_API", "occurrence": 1, "status": "partial", "reason": "已覆盖删除引用保护及推荐/取消推荐;清空版块帖子尚未开放" }, { "module": "Content / Bar", "action": "BarAuthSet", "occurrence": 1, "status": "blocked-data", "reason": "目标 Schema 缺少 ZL_Guest_BarAuth 用户版块权限关系,无法读取逐用户浏览、发帖和回复权限" }, { "module": "Content / Bar", "action": "BarAuthSet_Submit", "occurrence": 1, "status": "blocked-data", "reason": "目标 Schema 缺少 Uid、BarID、Look、Send、Reply 权限关系,无法安全保存旧授权" }, { "module": "Content / Bar", "action": "TieList", "occurrence": 1, "status": "implemented", "reason": "已提供帐套帖子列表、标题搜索、分页与批量工作流" }, { "module": "Content / Bar", "action": "TieDetail", "occurrence": 1, "status": "implemented", "reason": "已由只读帖子详情抽屉和专用工作流面板替代" }, { "module": "Content / Bar", "action": "TieMove", "occurrence": 1, "status": "implemented", "reason": "已由 barBatch 目标贴吧分类校验与移动替代" }, { "module": "Content / Bar", "action": "Tie_API", "occurrence": 1, "status": "partial", "reason": "已覆盖审核、回收恢复、置顶/沉底、精华和移动;勋章关系未迁移" }, { "module": "BiaoCalc", "action": "Default", "occurrence": 1, "status": "blocked-data", "reason": "目标 Schema 缺少旧 BiaoCalcModel 裱件模型主表、状态与历史记录" }, { "module": "BiaoCalc", "action": "BiaoDetail", "occurrence": 1, "status": "blocked-data", "reason": "目标无可定位的裱件详情及 UserID 用户关系" }, { "module": "BiaoCalc", "action": "Biao_API", "occurrence": 1, "status": "blocked-data", "reason": "目标缺少可启用、停用或删除的 BiaoCalcModel 记录" }, { "module": "BiaoCalc", "action": "UserFiles", "occurrence": 1, "status": "blocked-data", "reason": "目标 Schema 缺少 BiaoCalcUserFiles 文件授权、等级与到期时间数据" }, { "module": "BiaoCalc", "action": "UserFiles_API", "occurrence": 1, "status": "blocked-data", "reason": "目标无 BiaoCalcUserFiles.ExpireTime 可到期或续期;账户会员到期字段语义不等价" }, { "module": "Office / Chart", "action": "Index", "occurrence": 1, "status": "blocked-infrastructure", "reason": "旧交付包与官方源码只保留空壳控制器,缺少 Index.cshtml、数据源和交互定义" }, { "module": "Extend / Chat", "action": "Default", "occurrence": 1, "status": "blocked-data", "reason": "目标 Schema 缺少 ChatMsg 消息表,无法还原用户消息数" }, { "module": "Extend / Chat", "action": "UserChatHistory", "occurrence": 1, "status": "blocked-data", "reason": "目标缺少 ChatMsg/ChatGroup 个人与群会话关系" }, { "module": "Extend / Chat", "action": "UserFriend", "occurrence": 1, "status": "blocked-data", "reason": "目标缺少 User_Friend 好友关系;UserFriendGroup 只是分组,语义不等价" }, { "module": "Extend / Chat", "action": "Group", "occurrence": 1, "status": "blocked-data", "reason": "目标 Schema 缺少 ChatGroup 群组主表与历史数据" }, { "module": "Extend / Chat", "action": "GroupAdd", "occurrence": 1, "status": "blocked-data", "reason": "目标无可定位和编辑的 ChatGroup 群组记录" }, { "module": "Extend / Chat", "action": "GroupAdd_Submit", "occurrence": 1, "status": "blocked-data", "reason": "目标缺少 ChatGroup/ChatGroupUser 群主、管理员与成员关系" }, { "module": "Extend / Chat", "action": "GroupUser", "occurrence": 1, "status": "blocked-data", "reason": "目标 Schema 缺少 ChatGroupUser 群成员和管理员记录" }, { "module": "Extend / Chat", "action": "MessageHistory", "occurrence": 1, "status": "blocked-data", "reason": "目标缺少 ChatMsg 个人/群组消息和收发关系" }, { "module": "Extend / Chat", "action": "Config", "occurrence": 1, "status": "blocked-infrastructure", "reason": "目标没有 RoomConfig TRTC 配置持久层和聊天运行时" }, { "module": "Extend / Chat", "action": "Config_Submit", "occurrence": 1, "status": "blocked-infrastructure", "reason": "目标没有消费 TRTC AppID/SecretKey 的聊天服务" }, { "module": "Extend / Chat", "action": "Chat_API", "occurrence": 1, "status": "blocked-data", "reason": "目标缺少 ChatMsg/ChatGroup/ChatGroupUser 可删除、启停或授权记录" }, { "module": "Design / Class", "action": "ClassList", "occurrence": 1, "status": "blocked-data", "reason": "目标 Schema 缺少 DesignTlpClass/Design_TlpClass 模板分类主表与历史数据" }, { "module": "Design / Class", "action": "ClassAdd", "occurrence": 1, "status": "blocked-data", "reason": "目标无模板分类数据类;DesignTlp 仅保留数字 classId 引用" }, { "module": "Design / Class", "action": "ClassAdd_Submit", "occurrence": 1, "status": "blocked-data", "reason": "现有 DesignTlp 引用 classId=6,但分类 6 的名称、父级、排序和说明已丢失" }, { "module": "Design / Class", "action": "Class_API", "occurrence": 1, "status": "blocked-data", "reason": "目标无可删除分类记录,且不能使现有 DesignTlp.classId=6 引用悬空" }, { "module": "Com", "action": "Logout", "occurrence": 1, "status": "implemented", "reason": "已由 Angular 退出入口调用管理云函数销毁当前 Parse _Session 后清除本地会话" }, { "module": "Com", "action": "SPwdCheck", "occurrence": 1, "status": "blocked-infrastructure", "reason": "目标没有 Manager.RandNumber 二级密码会话状态和业务消费者" }, { "module": "Com", "action": "BootLayout", "occurrence": 1, "status": "implemented", "reason": "已迁移为 Angular Bootstrap 栅格生成器,保留框架、列数、断点、预设、预览和复制 HTML" }, { "module": "Com", "action": "Import", "occurrence": 1, "status": "blocked-infrastructure", "reason": "目标与云函数运行时缺少 /Config/Import/{mode}.xml 导入定义" }, { "module": "Com", "action": "Import_DownTlp", "occurrence": 1, "status": "blocked-infrastructure", "reason": "缺少旧 XML 字段别名、隐藏字段、类型和默认值规则" }, { "module": "Com", "action": "Import_Submit", "occurrence": 1, "status": "blocked-infrastructure", "reason": "云函数没有旧 XML+NPOI 动态表 xlsx 导入流水线" }, { "module": "Com", "action": "ImportForContent", "occurrence": 1, "status": "blocked-infrastructure", "reason": "目标缺少旧动态模型附表结构与通用 xlsx 导入页" }, { "module": "Com", "action": "ImportForContent_DownTlp", "occurrence": 1, "status": "blocked-infrastructure", "reason": "无法从已缺失的动态模型附表还原完整 xlsx 字段模板" }, { "module": "Com", "action": "ImportForContent_Submit", "occurrence": 1, "status": "blocked-infrastructure", "reason": "缺少动态附表批量写入流程,商品分支还缺少 ZL_Commodities" }, { "module": "Com", "action": "Sort", "occurrence": 1, "status": "partial", "reason": "模型字段顺序已由 modelFieldOrder 迁移;内容、商品、栏目和贴吧分类的旧统一排序页尚未完整迁移" }, { "module": "Com", "action": "Sort_API", "occurrence": 1, "status": "partial", "reason": "modelFieldOrder 已覆盖 ModelField 白名单帐套排序;其余 4 类旧表名分支未提供等价云函数" }, { "module": "Common", "action": "UserBaseField", "occurrence": 1, "status": "blocked-data", "reason": "目标缺少 B_UserBaseField 动态字段定义与 ZL_UserBase 原始扩展行" }, { "module": "Common", "action": "ContentField", "occurrence": 1, "status": "blocked-data", "reason": "目标缺少按 CommonModel.TableName/ModelID 动态解析任意旧内容附表的数据与渲染层" }, { "module": "Common", "action": "SelUploadFiles", "occurrence": 1, "status": "blocked-infrastructure", "reason": "旧交付包/官方源码缺少视图,当前 PostgreSQL Parse 文件适配器也无法上传" }, { "module": "Config", "action": "Index", "occurrence": 1, "status": "blocked-infrastructure", "reason": "旧配置首页只跳转 SiteInfo,目标无签约的统一站点配置模型和运行时" }, { "module": "Config", "action": "SiteInfo", "occurrence": 1, "status": "blocked-infrastructure", "reason": "目标缺少 SiteInfo/SiteOption 站点、Logo、版权、全站 JS 与后台目录配置" }, { "module": "Config", "action": "SiteInfo_Submit", "occurrence": 1, "status": "blocked-infrastructure", "reason": "云函数无法更名 ASP.NET 后台路径、改写 web.config 或重启旧宿主" }, { "module": "Config", "action": "SiteOption", "occurrence": 1, "status": "blocked-infrastructure", "reason": "目标无 SiteOption/ShopConfig/UserConfig 的域名、模板、上传、审核、积分和安全策略模型" }, { "module": "Config", "action": "SiteOption_Submit", "occurrence": 1, "status": "blocked-infrastructure", "reason": "现有云函数未消费旧 SiteOption 的数十项站点/商城/互动规则" }, { "module": "Config", "action": "MailConfig", "occurrence": 1, "status": "blocked-infrastructure", "reason": "目标缺少 SMTP 服务器、端口、帐号和收件列表配置模型" }, { "module": "Config", "action": "MailConfig_Submit", "occurrence": 1, "status": "blocked-infrastructure", "reason": "目标无统一 SMTP 发送运行时;MailTemp 仅是模板而非邮件通道" }, { "module": "Config", "action": "UserConfig", "occurrence": 1, "status": "blocked-infrastructure", "reason": "目标缺少注册、审核、验证码、必填字段、奖励与提现规则模型" }, { "module": "Config", "action": "UserConfig_Submit", "occurrence": 1, "status": "blocked-infrastructure", "reason": "当前注册/登录云函数未实现旧 UserConfig 规则消费层" }, { "module": "Config", "action": "SetOrderStatus", "occurrence": 1, "status": "blocked-infrastructure", "reason": "目标缺少 OrderConfig 状态文案与订单/商品主运行链" }, { "module": "Config", "action": "SetOrderStatus_Submit", "occurrence": 1, "status": "blocked-infrastructure", "reason": "目标无订单运行时消费 21 类旧订单/配送/支付状态文案" }, { "module": "Config", "action": "SMSCfg", "occurrence": 1, "status": "blocked-infrastructure", "reason": "目标缺少 SMSConfig 多供应商帐号、密钥、签名、模板和频控模型" }, { "module": "Config", "action": "SMSConfig_Submit", "occurrence": 1, "status": "blocked-infrastructure", "reason": "当前云函数无短信网关,密码重置也因缺短信验证而阻塞" }, { "module": "Config", "action": "ThumbConfig", "occurrence": 1, "status": "blocked-infrastructure", "reason": "目标缺少 WaterModuleConfig/ThumbsConfig 水印、文字样式、尺寸和缩略图规则" }, { "module": "Config", "action": "ThumbConfig_Submit", "occurrence": 1, "status": "blocked-infrastructure", "reason": "当前 Parse 文件适配器错误,也无上传后执行水印/缩略图规则的处理器" }, { "module": "Config", "action": "AppConfig", "occurrence": 1, "status": "blocked-infrastructure", "reason": "目标云函数宿主无 ASP.NET defaultDocument、customErrors、MIME 和扩展名配置" }, { "module": "Config", "action": "AppConfig_Submit", "occurrence": 1, "status": "blocked-infrastructure", "reason": "云函数无法改写/重启旧 web.config,目标运行时也不消费这些选项" }, { "module": "Config", "action": "APPConfig_ReInstall", "occurrence": 1, "status": "blocked-infrastructure", "reason": "目标没有 IsInstalled 状态与 /Install/Index 重新安装流程" }, { "module": "Config", "action": "Holiday", "occurrence": 1, "status": "implemented", "reason": "已提供帐套节假日列表、搜索、分页、编辑与批量删除" }, { "module": "Config", "action": "Holiday_API", "occurrence": 1, "status": "implemented", "reason": "已由 saveHoliday 白名单更新和 holidayBatch 帐套隔离删除替代" }, { "module": "Config", "action": "HolidayAdd", "occurrence": 1, "status": "blocked-infrastructure", "reason": "SysHoliday.id 与 Parse 保留 id 冲突,物理表又缺少可写旧 ID 列,Angular 已隐藏新增入口" }, { "module": "Config", "action": "HolidayAdd_Submit", "occurrence": 1, "status": "blocked-infrastructure", "reason": "无法为新节假日持久化旧数字 ID;saveHoliday 对新增明确返回 migration_blocked" }, { "module": "Config", "action": "APIInfo", "occurrence": 1, "status": "partial", "reason": "已由实时 Function 元数据目录替代旧 WXAPP.cshtml 注释解析;旧密钥与访问开关无等价执行层" }, { "module": "Config", "action": "APIInfo_Submit", "occurrence": 1, "status": "blocked-infrastructure", "reason": "旧 API 密钥、IP 策略与目标 sessionToken/帐套权限不等价,且无全函数生效配置层" }, { "module": "Config", "action": "APIInfo_SwaggerClose", "occurrence": 1, "status": "blocked-infrastructure", "reason": "目标云函数引擎没有帐套级 Swagger 调试关闭开关" }, { "module": "Config", "action": "APIInfo_SwaggerOpen", "occurrence": 1, "status": "blocked-infrastructure", "reason": "目标云函数引擎没有帐套级 Swagger 调试开启开关" }, { "module": "Config", "action": "ReadFile", "occurrence": 1, "status": "implemented", "reason": "已由 apiCatalog 安全读取 Function 名称、路径、描述、参数和响应类型,不暴露源码" }, { "module": "Config", "action": "LicenceFile_API", "occurrence": 1, "status": "blocked-data", "reason": "目标 Schema 缺少许可、隐私、协议与版权文档数据,云函数也不能写旧 wwwroot 文件" }, { "module": "Config", "action": "SearchFunc", "occurrence": 1, "status": "implemented", "reason": "已提供管理后台/用户中心类型、启用状态、推荐状态筛选及排序分页" }, { "module": "Config", "action": "SearchFunc_API", "occurrence": 1, "status": "partial", "reason": "已覆盖启停、推荐、取消推荐、排序与删除;设为全局后台起始页缺少 SiteConfig 持久层" }, { "module": "Config", "action": "SearchFuncAdd", "occurrence": 1, "status": "partial", "reason": "已由 Search 专用现有入口编辑抽屉替代;新增因旧 id 不可持久化而阻塞" }, { "module": "Config", "action": "SearchFuncAdd_Submit", "occurrence": 1, "status": "partial", "reason": "已由 saveSearchNavigation 白名单更新替代;新增明确返回 migration_blocked" }, { "module": "Config", "action": "FontIcon", "occurrence": 1, "status": "implemented", "reason": "已由 Angular Lucide 完整图标选择器、搜索、分页和点击复制替代" }, { "module": "Config", "action": "close_system", "occurrence": 1, "status": "blocked-infrastructure", "reason": "云函数运行时没有可通过 app_offline.htm 关闭的单体 ASP.NET 进程" }, { "module": "Config", "action": "Hotkey", "occurrence": 1, "status": "blocked-infrastructure", "reason": "目标 Schema 缺少 KeyboardConfig/Hotkey 持久化模型与旧 XML 数据" }, { "module": "Config", "action": "HotkeyAdd", "occurrence": 1, "status": "blocked-infrastructure", "reason": "目标 Schema 缺少 KeyboardConfig/Hotkey 持久化模型,无法安全新增" }, { "module": "Config", "action": "HotkeyAdd_Submit", "occurrence": 1, "status": "blocked-infrastructure", "reason": "目标 Schema 缺少 KeyboardConfig/Hotkey 持久化模型,不伪造保存成功" }, { "module": "Config", "action": "Hotkey_API", "occurrence": 1, "status": "blocked-infrastructure", "reason": "目标无可执行快捷键启停、删除、重载或脚本匹配的全局运行时" }, { "module": "Config", "action": "Prize", "occurrence": 1, "status": "blocked-infrastructure", "reason": "目标 Schema 缺少 PrizeConfig/PrizeTask 配置模型及签到、任务规则数据" }, { "module": "Config", "action": "Prize_Submit", "occurrence": 1, "status": "blocked-infrastructure", "reason": "目标无法持久化旧奖励积分、重复周期和过期规则" }, { "module": "Content", "action": "GetMDFile", "occurrence": 1, "status": "implemented", "reason": "旧动作固定返回空字符串,已由 legacyContentUtility 原样兼容为空内容" }, { "module": "Content", "action": "AddContent", "occurrence": 1, "status": "partial", "reason": "现有 content_add 可为已规范化的六类学习模型生成主表与附表;任意旧动态模型表单仍缺失" }, { "module": "Content", "action": "EditContent", "occurrence": 1, "status": "partial", "reason": "可编辑安全主表字段;模型附表专用表单尚未全部生成" }, { "module": "Content", "action": "ShowContent", "occurrence": 1, "status": "partial", "reason": "已提供 CommonModel 详情与已规范化模型查询;旧评论、任意动态附表、前后篇及静态页预览未恢复" }, { "module": "Content", "action": "Content_Add", "occurrence": 1, "status": "partial", "reason": "已由 content_add 原子创建已签约模型的 CommonModel 与规范化附表;未迁移模型会明确拒绝" }, { "module": "Content", "action": "Content_AddToNew", "occurrence": 1, "status": "blocked-data", "reason": "目标缺少按 CommonModel.tableName 动态复制任意旧模型附表的完整结构与数据" }, { "module": "Content", "action": "Content_Update", "occurrence": 1, "status": "partial", "reason": "可更新安全主表字段;模型附表更新仅覆盖已迁移学习模型" }, { "module": "Content", "action": "Content_Draft", "occurrence": 1, "status": "partial", "reason": "content_add 支持把已规范化模型以 status=-3 写为草稿;任意旧动态模型仍不可创建" }, { "module": "Content", "action": "Content_API", "occurrence": 1, "status": "implemented", "reason": "已由 legacyContentUtility duplicate-title 帐套隔离、大小写不敏感地检查重复标题" }, { "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": "blocked-data", "reason": "CommonModel.specialId 仅存在于 Parse Schema,PostgreSQL 物理查询仍失败,无法安全读取专题关系" }, { "module": "Content", "action": "AddToSpec_Submit", "occurrence": 1, "status": "blocked-data", "reason": "专题关系物理列不可可靠读写,且商品主表未迁移,不能伪造加入专题成功" }, { "module": "Content", "action": "ContentManage", "occurrence": 1, "status": "partial", "reason": "已提供帐套内容列表、搜索、分页、审核和批量操作" }, { "module": "Content", "action": "ContentManage_Html", "occurrence": 1, "status": "blocked-infrastructure", "reason": "云函数运行时没有旧模板解析器、站点根目录与静态 HTML 文件宿主" }, { "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": "partial", "reason": "已由帐套隔离导出云函数与 Angular CSV 下载覆盖八个旧导出列;文件格式由 xlsx 降级为安全 CSV" }, { "module": "Content", "action": "ContentManage_Refresh", "occurrence": 1, "status": "implemented", "reason": "已由 contentBatch refresh 批量同步刷新 createTime 与 upDateTime" }, { "module": "Content", "action": "ContentRelease", "occurrence": 1, "status": "blocked-data", "reason": "目标 Schema 缺少 Content_ScheTask 定时内容任务及既有任务记录" }, { "module": "Content", "action": "ContentRelease_Submit", "occurrence": 1, "status": "blocked-infrastructure", "reason": "目标没有 HFHelper 调度器与 ZL_Task_Content 脚本执行运行时" }, { "module": "Content", "action": "IHtmlToString", "occurrence": 1, "status": "implemented", "reason": "已由 cms.content-normalizer 替代" }, { "module": "Content", "action": "CreateHtmlContent", "occurrence": 1, "status": "blocked-infrastructure", "reason": "云函数没有旧节点模板、标签解析器与站点文件系统,无法预览静态生成范围" }, { "module": "Content", "action": "Create_Submit", "occurrence": 1, "status": "blocked-infrastructure", "reason": "目标没有 ContentHtmlHelper 和旧模板标签运行时,无法执行内容静态生成任务" }, { "module": "Content", "action": "CreateHtml", "occurrence": 1, "status": "blocked-infrastructure", "reason": "目标云函数不能写入旧站点 HTML 目录,也没有旧模板渲染环境" }, { "module": "Content", "action": "ConCatch", "occurrence": 1, "status": "blocked-data", "reason": "目标缺少旧采集项目、采集规则、来源站点与任务历史数据" }, { "module": "Content", "action": "CatchConfig", "occurrence": 1, "status": "blocked-infrastructure", "reason": "目标没有 SiteOption.Coll_Allow/Coll_Key 配置模型及采集运行时消费者" }, { "module": "Content", "action": "CatchConfig_Submit", "occurrence": 1, "status": "blocked-infrastructure", "reason": "仅保存采集开关不会产生可执行采集能力,目标也没有旧 SiteConfig 更新链" }, { "module": "Content", "action": "MarkDown", "occurrence": 1, "status": "blocked-data", "reason": "目标 Schema 缺少旧 Content_MarkDown 主表与历史 Markdown 记录" }, { "module": "Content", "action": "MarkDown_Del", "occurrence": 1, "status": "blocked-data", "reason": "目标没有可定位并删除的旧 Content_MarkDown 记录" }, { "module": "Design / Counter", "action": "VisitList", "occurrence": 1, "status": "blocked-data", "reason": "目标 Schema 缺少旧 ZL_Com_VisitCount 访问明细表及 h5 访问记录" }, { "module": "Design / Counter", "action": "VisitInfoList", "occurrence": 1, "status": "blocked-data", "reason": "目标没有可按 InfoID 聚合的 h5 访问明细和最近访问记录" }, { "module": "Design / Counter", "action": "VisitInfoDetail", "occurrence": 1, "status": "blocked-data", "reason": "目标缺少指定 InfoID 的访问时间、IP、浏览器、系统、地域和来源明细" }, { "module": "Design / Counter", "action": "Counter_API", "occurrence": 1, "status": "blocked-data", "reason": "目标没有可定位并删除的旧访问统计记录" }, { "module": "Extend / Counter", "action": "StatisticalCode", "occurrence": 1, "status": "blocked-infrastructure", "reason": "目标缺少 SiteInfo.AllSiteJS 配置模型及在所有页面注入统计脚本的运行时" }, { "module": "Extend / Counter", "action": "StatisticalCode_Submit", "occurrence": 1, "status": "blocked-infrastructure", "reason": "云函数不能仅保存任意全站脚本而没有可信的前端注入、CSP 与版本发布链" }, { "module": "Extend / Counter", "action": "Index", "occurrence": 1, "status": "blocked-data", "reason": "目标 Schema 缺少 ZL_Com_VisitCount 数据,无法生成旧访问统计首页" }, { "module": "Extend / Counter", "action": "Site", "occurrence": 1, "status": "blocked-data", "reason": "目标缺少全站访问明细与总访问计数" }, { "module": "Extend / Counter", "action": "Month", "occurrence": 1, "status": "blocked-data", "reason": "目标缺少可按年月聚合的访问日期明细" }, { "module": "Extend / Counter", "action": "Year", "occurrence": 1, "status": "blocked-data", "reason": "目标缺少可按年度和月份聚合的访问日期明细" }, { "module": "Extend / Counter", "action": "Local", "occurrence": 1, "status": "blocked-data", "reason": "目标缺少访客地域 Address 明细" }, { "module": "Extend / Counter", "action": "Browser", "occurrence": 1, "status": "blocked-data", "reason": "目标缺少访客浏览器标识与访问明细" }, { "module": "Extend / Counter", "action": "Os", "occurrence": 1, "status": "blocked-data", "reason": "目标缺少访客操作系统标识与访问明细" }, { "module": "Extend / Counter", "action": "Channel", "occurrence": 1, "status": "blocked-data", "reason": "目标缺少访问来源渠道与 Referer 明细" }, { "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": "blocked-data", "reason": "目标 Schema 缺少旧 CRMS_Client 客户主表,无法进入客户列表首页" }, { "module": "CRM", "action": "ClientListDiag", "occurrence": 1, "status": "partial", "reason": "现有用户资源页可按账号搜索并选择用户;旧 GroupID/UserID 多条件弹窗布局未逐项复刻" }, { "module": "CRM", "action": "ClientList", "occurrence": 1, "status": "blocked-data", "reason": "目标 Schema 缺少旧 CRMS_Client 客户主表与 Model 48 动态附表" }, { "module": "CRM", "action": "ClientView", "occurrence": 1, "status": "blocked-data", "reason": "目标缺少客户、联系人、服务记录和动态附表的联合详情数据" }, { "module": "CRM", "action": "ClientAdd", "occurrence": 1, "status": "blocked-data", "reason": "目标没有可编辑或新增的 CRMS_Client 客户记录" }, { "module": "CRM", "action": "BiServer_Del", "occurrence": 1, "status": "blocked-data", "reason": "目标 Schema 缺少旧 IServer 服务记录主表" }, { "module": "CRM", "action": "Client_Add", "occurrence": 1, "status": "blocked-data", "reason": "目标缺少 CRMS_Client 与 Model 48 动态附表原子写入链" }, { "module": "CRM", "action": "ClientImport", "occurrence": 1, "status": "blocked-infrastructure", "reason": "目标缺少客户主表,且旧 CRM_Client.xml 导入定义未迁入" }, { "module": "CRM", "action": "Import_DownTlp", "occurrence": 1, "status": "blocked-infrastructure", "reason": "交付包没有旧 CRM_Client.xml 字段映射,无法等价生成 xlsx 模板" }, { "module": "CRM", "action": "Import_Client", "occurrence": 1, "status": "blocked-infrastructure", "reason": "目标缺少 CRMS_Client/Model 48 写入结构及旧 XML+NPOI 导入流水线" }, { "module": "CRM", "action": "AddServiceRecord", "occurrence": 1, "status": "blocked-data", "reason": "目标 Schema 缺少旧 IServer 客户服务记录主表" }, { "module": "CRM", "action": "AddServiceRecord_Submit", "occurrence": 1, "status": "blocked-data", "reason": "目标无法保存 crm_ID、管理员、用户、优先级、类型、状态、附件和提醒等服务记录" }, { "module": "CRM", "action": "ServiceRecord_List", "occurrence": 1, "status": "blocked-data", "reason": "目标没有可查询的旧 IServer 服务记录" }, { "module": "CRM", "action": "CType", "occurrence": 1, "status": "implemented", "reason": "已由 crmClientTypes 提供帐套隔离、仅 ztype=ctype、名称搜索与分页列表" }, { "module": "CRM", "action": "CTypeAdd", "occurrence": 1, "status": "implemented", "reason": "已由 Angular CRM 客户类型新建/编辑抽屉替代" }, { "module": "CRM", "action": "CType_Add", "occurrence": 1, "status": "implemented", "reason": "已由 saveCrmClientType 覆盖名称防重、白名单保存和原子旧编号分配" }, { "module": "CRM", "action": "CType_Del", "occurrence": 1, "status": "implemented", "reason": "已由 crmClientTypeBatch 覆盖每批 1–100 条帐套隔离删除" }, { "module": "CRM", "action": "Contact", "occurrence": 1, "status": "blocked-data", "reason": "目标 Schema 缺少旧 CRMS_Contact 联系人主表;ContactInfo 是企业微信联系人,语义不等价" }, { "module": "CRM", "action": "ContactAdd", "occurrence": 1, "status": "blocked-data", "reason": "目标无可编辑或新增的 CRMS_Contact 客户联系人记录" }, { "module": "CRM", "action": "Contact_Add", "occurrence": 1, "status": "blocked-data", "reason": "不能把旧 CRM 联系人错写到企业微信 ContactInfo" }, { "module": "CRM", "action": "ContactImport", "occurrence": 1, "status": "blocked-infrastructure", "reason": "目标缺少 CRM 联系人主表,且旧 CRM_Contact.xml 导入定义未迁入" }, { "module": "CRM", "action": "ContactImport_Down", "occurrence": 1, "status": "blocked-infrastructure", "reason": "交付包没有旧 CRM_Contact.xml 字段映射,无法等价生成 xlsx 模板" }, { "module": "CRM", "action": "ContactImport_Upload", "occurrence": 1, "status": "blocked-infrastructure", "reason": "目标缺少 CRMS_Contact 写入结构及旧 XML+NPOI 导入流水线" }, { "module": "CRM", "action": "BecomeCustomerList", "occurrence": 1, "status": "blocked-data", "reason": "目标 Schema 缺少 user_becustomer 类型 Common_UserApply 经销商申请" }, { "module": "CRM", "action": "BecomeCustomerDetail", "occurrence": 1, "status": "blocked-data", "reason": "目标缺少经销商申请、申请用户和资质详情数据" }, { "module": "CRM", "action": "BecomeCustomerDetailUpdate", "occurrence": 1, "status": "blocked-data", "reason": "目标没有可更新的经销商申请 Info1/AdminRemind 记录" }, { "module": "CRM", "action": "BecomeCustomer_API", "occurrence": 1, "status": "blocked-infrastructure", "reason": "目标缺少申请、LicenceFiles/LicenceUserSign、CRM 客户及 PDF 文件运行时,无法执行审核链" }, { "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": "implemented", "reason": "已提供帐套字典分类列表、搜索、分页及启用状态管理" }, { "module": "Dict", "action": "DictCate_API", "occurrence": 1, "status": "implemented", "reason": "已由字典分类专用保存、批量启停和带字典项引用保护的删除替代" }, { "module": "Dict", "action": "DicCateSel", "occurrence": 1, "status": "implemented", "reason": "已由 dictionaryCategories 帐套隔离分类选择接口和 Angular 下拉控件替代" }, { "module": "Dict", "action": "DicItemList", "occurrence": 1, "status": "implemented", "reason": "已提供帐套字典项列表、搜索、分页和所属分类选择" }, { "module": "Dict", "action": "DicItem_API", "occurrence": 1, "status": "implemented", "reason": "已由字典项专用保存、分类归属校验、批量启停和删除替代" }, { "module": "Dict", "action": "GradeCateManage", "occurrence": 1, "status": "implemented", "reason": "已提供多级字典分类列表、搜索、分页和引用保护删除" }, { "module": "Dict", "action": "GCateAdd", "occurrence": 1, "status": "implemented", "reason": "已由 GradeCate 专用分类表单与层级别名输入替代" }, { "module": "Dict", "action": "GCateAdd_Submit", "occurrence": 1, "status": "implemented", "reason": "已由 saveGradeCategory 编号、防重和层级别名校验替代" }, { "module": "Dict", "action": "GCate_API", "occurrence": 1, "status": "implemented", "reason": "已由 gradeBatch 带选项引用保护的批量删除替代" }, { "module": "Dict", "action": "GradeOption", "occurrence": 1, "status": "implemented", "reason": "已由按分类和父选项筛选的 gradeOptions 列表替代" }, { "module": "Dict", "action": "GOptionAdd", "occurrence": 1, "status": "implemented", "reason": "已由 Grade 专用分类、父级选项表单替代" }, { "module": "Dict", "action": "GOptionAdd_Submit", "occurrence": 1, "status": "implemented", "reason": "已由 saveGradeOption 自动层级、同级防重和父级归属校验替代" }, { "module": "Dict", "action": "GOption_API", "occurrence": 1, "status": "implemented", "reason": "已由 gradeBatch 带下级引用保护的批量删除替代" }, { "module": "ECharts / ECharts", "action": "EChartList", "occurrence": 1, "status": "blocked-data", "reason": "目标 Schema 缺少旧 Content_Chart 图表定义主表与历史图表" }, { "module": "ECharts / ECharts", "action": "ChartCite", "occurrence": 1, "status": "blocked-infrastructure", "reason": "目标缺少图表名称、站点 SiteUrl 和 /Common/ShowM 公开渲染链,无法生成旧 iframe/Markdown 引用" }, { "module": "ECharts / ECharts", "action": "ShowM", "occurrence": 1, "status": "blocked-infrastructure", "reason": "目标没有 Content_Chart option/package 数据与旧 ECharts ShowM 渲染页面" }, { "module": "ECharts / ECharts", "action": "AddChart", "occurrence": 1, "status": "blocked-infrastructure", "reason": "目标缺少 Content_Chart 持久层和旧七类图表配置生成运行时" }, { "module": "ECharts / ECharts", "action": "AddChart_Submit", "occurrence": 1, "status": "blocked-data", "reason": "目标无法持久化 TName、ChartTitle、ToolBox、Package、option、SType 与 Tag 图表定义" }, { "module": "ECharts / ECharts", "action": "Default", "occurrence": 1, "status": "blocked-data", "reason": "目标没有可按 SType 筛选分页的旧 Content_Chart 记录" }, { "module": "Exam", "action": "Papers_System_Manage", "occurrence": 1, "status": "partial", "reason": "已由只读 ExamSysPapers 帐套列表、试卷名搜索、分页与详情替代;旧分类筛选尚未复刻" }, { "module": "Exam", "action": "Papers_System_Add", "occurrence": 1, "status": "partial", "reason": "现有试卷详情可查看;qids/questList、计时、价格与分值需专用写入链后才能编辑或新增" }, { "module": "Exam", "action": "Paper_QuestionManage", "occurrence": 1, "status": "partial", "reason": "已提供 PaperQuestions 大题分组与 ExamSysQuestions 历史数据只读页;按单张试卷联合编排尚未复刻" }, { "module": "Exam", "action": "ViewPaperCenter", "occurrence": 1, "status": "partial", "reason": "试卷与试题详情均可查看;旧按题型分组、答案和分数排版预览尚未复刻" }, { "module": "Exam", "action": "QuestList", "occurrence": 1, "status": "partial", "reason": "已由 ExamSysQuestions 帐套隔离列表、标题搜索、分页和详情替代;年级/难度/版本组合筛选待补" }, { "module": "Exam", "action": "AddEngLishQuestion", "occurrence": 1, "status": "blocked-infrastructure", "reason": "旧英语试题页依赖复合小题、音频/图片上传和答案解析器;目标仅保留只读试题记录" }, { "module": "Exam", "action": "QuestShow", "occurrence": 1, "status": "partial", "reason": "已提供 ExamSysQuestions 主记录只读详情;旧复合小题递归展示和答案排版尚未复刻" }, { "module": "Exam", "action": "Setting", "occurrence": 1, "status": "blocked-data", "reason": "目标 Schema 缺少旧 Exam_Sys_Answer 答卷明细,无法按最近一周统计并重算试题难度" }, { "module": "Exam", "action": "Question_Class_Manage", "occurrence": 1, "status": "partial", "reason": "已提供帐套分类列表、搜索和父分类编号;旧展开树布局尚未逐像素复刻" }, { "module": "Exam", "action": "AddQuestion_Class", "occurrence": 1, "status": "implemented", "reason": "已由 ExamClass 专用结构表单替代" }, { "module": "Exam", "action": "QuestGrade", "occurrence": 1, "status": "partial", "reason": "已由 GradeCate/Grade 多级字典页维护旧题型、难度、年级和教材版本选项;考试专用分类快捷筛选待补" }, { "module": "Exam", "action": "VersionList", "occurrence": 1, "status": "blocked-data", "reason": "目标 Schema 缺少旧 Exam_Version 教材版本/册/章节树与历史数据" }, { "module": "Exam", "action": "AddVersion", "occurrence": 1, "status": "blocked-data", "reason": "目标无可定位或新建的 Exam_Version 版本树记录" }, { "module": "Exam", "action": "SchoolManage", "occurrence": 1, "status": "blocked-data", "reason": "目标 Schema 缺少旧 School 学校主表与省市县数据" }, { "module": "Exam", "action": "AddSchool", "occurrence": 1, "status": "blocked-data", "reason": "目标无可编辑或新增的 School 记录" }, { "module": "Exam", "action": "ClassRoomManage", "occurrence": 1, "status": "blocked-data", "reason": "目标 Schema 缺少旧 ClassRoom 班级主表与学校、年级、教师关系" }, { "module": "Exam", "action": "AddClassRoom", "occurrence": 1, "status": "blocked-data", "reason": "目标无可编辑或新增的 ClassRoom 记录" }, { "module": "Exam", "action": "StudentList", "occurrence": 1, "status": "blocked-data", "reason": "目标 Schema 缺少 ClassRoomStudent 班级学员关系、审核状态与学员类型" }, { "module": "Exam", "action": "ExTeacherManage", "occurrence": 1, "status": "implemented", "reason": "已提供帐套考试教师列表、搜索、分页与删除" }, { "module": "Exam", "action": "AddExTeacher", "occurrence": 1, "status": "implemented", "reason": "已由 ExTeacher 专用教师资料表单替代" }, { "module": "Exam", "action": "CourseManage", "occurrence": 1, "status": "blocked-data", "reason": "目标 Schema 缺少旧 Course 课程主表;CourseBinding 是小树课程绑定,语义不等价" }, { "module": "Exam", "action": "AddCourse", "occurrence": 1, "status": "blocked-data", "reason": "目标无旧 Course 名称、科目、教师与课程结构记录" }, { "module": "Exam", "action": "AddKnowledge", "occurrence": 1, "status": "implemented", "reason": "已由 QuestionsKnowledge 专用知识点结构表单替代" }, { "module": "Exam", "action": "KnowledgeManage", "occurrence": 1, "status": "partial", "reason": "已提供帐套知识点列表、搜索和父级/科目结构字段;旧展开树布局尚未逐像素复刻" }, { "module": "Exam", "action": "ExamPointManage", "occurrence": 1, "status": "implemented", "reason": "已提供帐套考点列表、搜索、分页和父子结构字段" }, { "module": "Exam", "action": "order", "occurrence": 1, "status": "partial", "reason": "现有 ExamPoint 由 saveExamPoint 维护父级与 orderBy;旧打开页面即重写全表连续排序的副作用未保留" }, { "module": "Exam", "action": "AddExamPoint", "occurrence": 1, "status": "implemented", "reason": "已由 ExamPoint 专用考点结构表单替代" }, { "module": "Exam", "action": "ToScore", "occurrence": 1, "status": "blocked-data", "reason": "目标 Schema 缺少旧 Exam_Sys_Answer 主观题答卷与评分状态" }, { "module": "Exam", "action": "SelQuestion", "occurrence": 1, "status": "partial", "reason": "已由只读 ExamSysQuestions 搜索与选择列表提供数据;旧 issmall/qtype 多条件弹窗布局待补" }, { "module": "Exam", "action": "Paper_AddLarge", "occurrence": 1, "status": "partial", "reason": "现有 PaperQuestions 与试题详情可查询;按选中题目即时聚合大题 JSON 的专用接口待补" }, { "module": "Exam", "action": "Papers_Add", "occurrence": 1, "status": "blocked-infrastructure", "reason": "试卷写入必须原子维护 qids/questList、分类、计时、价格与题目分值;当前只读迁移不允许通用表单破坏结构" }, { "module": "Exam", "action": "Question_Add", "occurrence": 1, "status": "blocked-infrastructure", "reason": "旧试题写入依赖题型答案解析、复合小题、知识点和上传资源;当前只读迁移不能安全保存" }, { "module": "Exam", "action": "Question_Class_GetChild", "occurrence": 1, "status": "implemented", "reason": "已由 examClassChildren 帐套隔离子分类接口替代" }, { "module": "Exam", "action": "Question_Class_Add", "occurrence": 1, "status": "implemented", "reason": "已由 saveExamClass 原子编号、防重、父级与循环校验替代" }, { "module": "Exam", "action": "QuestGrade_Add", "occurrence": 1, "status": "partial", "reason": "现有 Grade 专用云函数可新增和编辑多级选项;考试页的 cate=4/5/6/7 快捷入口待补" }, { "module": "Exam", "action": "Version_GetList", "occurrence": 1, "status": "blocked-data", "reason": "目标缺少可按 pid 查询的 Exam_Version 版本树" }, { "module": "Exam", "action": "Version_Add", "occurrence": 1, "status": "blocked-data", "reason": "目标缺少 Exam_Version 版本、册、章节持久层" }, { "module": "Exam", "action": "Knowledge_Add", "occurrence": 1, "status": "implemented", "reason": "已由 saveKnowledge 原子编号、科目防重、父级与循环校验替代" }, { "module": "Exam", "action": "Knowledge_GetChild", "occurrence": 1, "status": "implemented", "reason": "已由 knowledgeChildren 帐套及科目隔离子级接口替代" }, { "module": "Exam", "action": "School_Add", "occurrence": 1, "status": "blocked-data", "reason": "目标缺少 School 主表,无法保存学校类型、地区、校徽和状态" }, { "module": "Exam", "action": "ClassRoom_Add", "occurrence": 1, "status": "blocked-data", "reason": "目标缺少 ClassRoom 与学校、教师、年级关系持久层" }, { "module": "Exam", "action": "Teacher_Add", "occurrence": 1, "status": "implemented", "reason": "已由 saveExamTeacher 原子编号和任教分类归属校验替代" }, { "module": "Exam", "action": "Course_Add", "occurrence": 1, "status": "blocked-data", "reason": "目标缺少旧 Course 主表和科目树关系" }, { "module": "Exam", "action": "ExamPoint_Add", "occurrence": 1, "status": "implemented", "reason": "已由 saveExamPoint 原子编号、防重、父级与循环校验替代" }, { "module": "Exam", "action": "Setting_Update", "occurrence": 1, "status": "blocked-data", "reason": "目标缺少 Exam_Sys_Answer 作答统计,不能执行 CountDiffcult 难度重算" }, { "module": "Exam", "action": "News", "occurrence": 1, "status": "partial", "reason": "已由只读 ContentPublish 报刊内容列表、搜索、分页与详情替代;旧专用树状布局待补" }, { "module": "Exam", "action": "NewsAdd", "occurrence": 1, "status": "partial", "reason": "现有报刊记录可查看;新建/编辑需专用旧编号和父子关系写入链" }, { "module": "Exam", "action": "NewsAdd_Submit", "occurrence": 1, "status": "partial", "reason": "ContentPublish 数据已迁入但当前只读,尚未开放 newsName/nid 的专用原子保存" }, { "module": "Exam", "action": "News_API", "occurrence": 1, "status": "partial", "reason": "现有报刊详情可安全读取;删除与 publish_GetModel 组合响应尚未开放" }, { "module": "Exam", "action": "NewsDiv", "occurrence": 1, "status": "partial", "reason": "ContentPublish 历史子项可查看;按 pid 的专用分区列表待补" }, { "module": "Exam", "action": "PublishDesc", "occurrence": 1, "status": "partial", "reason": "ContentPublish 与 PublishNode 历史数据均可查看;按 nid 联合展示待补" }, { "module": "Exam", "action": "PubNodeAdd", "occurrence": 1, "status": "partial", "reason": "现有 PublishNode 详情可查看;父节点选择与安全新增/编辑尚未开放" }, { "module": "Exam", "action": "PubNodeAdd_Submit", "occurrence": 1, "status": "partial", "reason": "PublishNode 数据已迁入但当前只读,等待父级循环校验和旧编号原子分配" }, { "module": "Exam", "action": "PublishAdd", "occurrence": 1, "status": "partial", "reason": "现有 ContentPublish 详情可查看;报刊父项上下文与专用编辑器尚未复刻" }, { "module": "Exam", "action": "PublishAdd_Submit", "occurrence": 1, "status": "partial", "reason": "ContentPublish title/imgPath/json/pid/cdate/attachFile 写入尚未开放专用校验流程" }, { "module": "Exam", "action": "PublishDesign", "occurrence": 1, "status": "blocked-infrastructure", "reason": "旧报刊可视化设计器的前端资产、布局协议与渲染运行时未迁入" }, { "module": "Shop / Exp", "action": "DeliverType", "occurrence": 1, "status": "implemented", "reason": "已由 shopFareTemplates 提供帐套隔离、名称搜索、分页和旧运费规则列表" }, { "module": "Shop / Exp", "action": "DeliverAdd", "occurrence": 1, "status": "implemented", "reason": "已由 Angular 商城运费模板新建/编辑抽屉替代" }, { "module": "Shop / Exp", "action": "DeliverAdd_Submit", "occurrence": 1, "status": "implemented", "reason": "已由 saveShopFareTemplate 校验计价方式、规则 JSON、名称防重并原子分配旧编号" }, { "module": "Shop / Exp", "action": "Deliver_API", "occurrence": 1, "status": "implemented", "reason": "已由 shopFareTemplateBatch 覆盖每批 1–100 条帐套隔离删除" }, { "module": "Shop / Exp", "action": "OrderSend", "occurrence": 1, "status": "blocked-data", "reason": "目标 Schema 缺少旧 OrderList 订单主表与 Order_Exp 物流单" }, { "module": "Shop / Exp", "action": "OrderSend_Submit", "occurrence": 1, "status": "blocked-infrastructure", "reason": "目标缺少订单物流状态、物流单、用户收件手机、SMSConfig 发货模板和 SafeMobile 日志链" }, { "module": "Shop / Exp", "action": "Factory", "occurrence": 1, "status": "blocked-data", "reason": "目标 Schema 缺少旧 Manufacturers 厂商主表与历史厂商数据" }, { "module": "Shop / Exp", "action": "FactoryAdd", "occurrence": 1, "status": "blocked-data", "reason": "目标无可编辑或新增的 Manufacturers 厂商记录" }, { "module": "Shop / Exp", "action": "FactoryAdd_Submit", "occurrence": 1, "status": "blocked-data", "reason": "目标缺少厂商名称、简称、地址、电话、传真、网站、分类、图片和介绍持久层" }, { "module": "Shop / Exp", "action": "Factory_API", "occurrence": 1, "status": "blocked-data", "reason": "目标没有可删除或启用的厂商记录" }, { "module": "Shop / Exp", "action": "Factory_select", "occurrence": 1, "status": "blocked-data", "reason": "目标没有可按 Producername 搜索选择的厂商数据" }, { "module": "Shop / Exp", "action": "Trademark", "occurrence": 1, "status": "blocked-data", "reason": "目标 Schema 缺少旧 Trademark 品牌主表与历史品牌数据" }, { "module": "Shop / Exp", "action": "TrademarkAdd", "occurrence": 1, "status": "blocked-data", "reason": "目标无可编辑或新增的 Trademark 品牌记录" }, { "module": "Shop / Exp", "action": "Trademark_Submit", "occurrence": 1, "status": "blocked-data", "reason": "目标缺少品牌名称、厂商、分类、启用/置顶/推荐、图片和介绍持久层" }, { "module": "Shop / Exp", "action": "Trademark_API", "occurrence": 1, "status": "blocked-data", "reason": "目标没有可删除或启用的品牌记录" }, { "module": "Shop / Exp", "action": "Trademark_select", "occurrence": 1, "status": "blocked-data", "reason": "目标没有可按 Trname 搜索选择的品牌数据" }, { "module": "Shop / Exp", "action": "Currency", "occurrence": 1, "status": "implemented", "reason": "已提供帐套货币列表、搜索、分页与批量删除" }, { "module": "Shop / Exp", "action": "CurrencyAdd", "occurrence": 1, "status": "blocked-infrastructure", "reason": "Currency.id 与 Parse 保留 id 冲突,物理表又缺少可写旧 ID 列,Angular 已隐藏新增入口" }, { "module": "Shop / Exp", "action": "CurrencyAdd_Submit", "occurrence": 1, "status": "blocked-infrastructure", "reason": "无法为新货币持久化旧数字 ID;saveCurrency 对新增明确返回 migration_blocked" }, { "module": "Shop / Exp", "action": "Currency_API", "occurrence": 1, "status": "implemented", "reason": "已由 currencyBatch 帐套隔离批量删除替代" }, { "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": "blocked-data", "reason": "目标 Schema 缺少旧 FontPic 成品字体图主表与历史数据" }, { "module": "FontPic", "action": "FontPicInfo", "occurrence": 1, "status": "blocked-data", "reason": "目标 Schema 缺少旧 FontPic 成品字体图详情数据" }, { "module": "FontPic", "action": "FontPicInfo_Submit", "occurrence": 1, "status": "blocked-data", "reason": "目标 Schema 缺少旧 FontPic 成品字体图持久化模型" }, { "module": "FontPic", "action": "FontPic_API", "occurrence": 1, "status": "blocked-data", "reason": "目标 Schema 缺少旧 FontPic 成品字体图可删除记录" }, { "module": "FontPic", "action": "Shape", "occurrence": 1, "status": "implemented", "reason": "已由 fontShapes 按帐套、分类和关键词分页筛选图形素材" }, { "module": "FontPic", "action": "ShapeInfo", "occurrence": 1, "status": "partial", "reason": "现有图形素材编辑、分类选择和安全预览已迁移;新增因旧 id 不可持久化而阻塞" }, { "module": "FontPic", "action": "ShapeInfo_Submit", "occurrence": 1, "status": "partial", "reason": "现有素材由 saveFontShape 更新元数据;新增受旧 id 阻塞,图片替换受 Parse 文件适配器错误阻塞" }, { "module": "FontPic", "action": "Shape_API", "occurrence": 1, "status": "implemented", "reason": "已由 fontShapeBatch 覆盖每批 1–100 条帐套隔离删除" }, { "module": "FontPic", "action": "ShapeType", "occurrence": 1, "status": "implemented", "reason": "已由 fontShapeTypes 帐套隔离分类列表替代" }, { "module": "FontPic", "action": "ShapeTypeInfo", "occurrence": 1, "status": "partial", "reason": "现有图形分类编辑已迁移;新增因旧 id 不可持久化而阻塞" }, { "module": "FontPic", "action": "ShapeTypeInfo_Submit", "occurrence": 1, "status": "partial", "reason": "现有分类由 saveFontShapeType 白名单更新;新增明确返回 migration_blocked" }, { "module": "FontPic", "action": "ShapeType_API", "occurrence": 1, "status": "implemented", "reason": "已覆盖分类列表和引用保护删除" }, { "module": "FontPic", "action": "Draft", "occurrence": 1, "status": "blocked-data", "reason": "目标 Schema 缺少旧 FontPicDraft 草稿表与历史数据" }, { "module": "FontPic", "action": "DraftInfo", "occurrence": 1, "status": "blocked-data", "reason": "目标 Schema 缺少旧 FontPicDraft 草稿详情数据" }, { "module": "FontPic", "action": "DraftInfo_Submit", "occurrence": 1, "status": "blocked-data", "reason": "目标 Schema 缺少旧 FontPicDraft 草稿持久化模型" }, { "module": "FontPic", "action": "Draft_API", "occurrence": 1, "status": "blocked-data", "reason": "目标 Schema 缺少旧 FontPicDraft 可删除记录" }, { "module": "Content / Guest", "action": "Default", "occurrence": 1, "status": "implemented", "reason": "已由 Guestbook 资源页与后台导航替代" }, { "module": "Content / Guest", "action": "CateList", "occurrence": 1, "status": "implemented", "reason": "已由 Guestcate 资源列表、搜索和分类结构抽屉替代" }, { "module": "Content / Guest", "action": "CateAdd", "occurrence": 1, "status": "implemented", "reason": "已由留言分类专用表单替代" }, { "module": "Content / Guest", "action": "CateAdd_Submit", "occurrence": 1, "status": "implemented", "reason": "已覆盖原子 cateid、留言类型锁定与名称防重" }, { "module": "Content / Guest", "action": "Cate_API", "occurrence": 1, "status": "implemented", "reason": "已覆盖下级分类、留言与帖子引用保护的删除" }, { "module": "Content / Guest", "action": "MsgList", "occurrence": 1, "status": "implemented", "reason": "已提供帐套留言列表、标题搜索、分页与批量审核工作流" }, { "module": "Content / Guest", "action": "ReplyGuest", "occurrence": 1, "status": "implemented", "reason": "已由留言详情中的管理员回复面板替代" }, { "module": "Content / Guest", "action": "EBtnSubmit", "occurrence": 1, "status": "implemented", "reason": "已由 guestbookReply 原子分配回复 GID 并继承分类/父留言关系" }, { "module": "Content / Guest", "action": "MsgShow", "occurrence": 1, "status": "implemented", "reason": "已由留言详情抽屉替代" }, { "module": "Content / Guest", "action": "MsgShow_Submit", "occurrence": 1, "status": "implemented", "reason": "已由 saveGuestbook 白名单正文编辑替代" }, { "module": "Content / Guest", "action": "Msg_API", "occurrence": 1, "status": "implemented", "reason": "已覆盖审核、取消审核、回收、恢复与带回复引用保护的永久删除" }, { "module": "Helper", "action": "Index", "occurrence": 1, "status": "blocked-infrastructure", "reason": "旧动作读取服务器 DBConfig.json 并执行本地 SQL 脚本建表;云函数没有该文件运行时,目标数据类已由受控迁移预置" }, { "module": "Helper", "action": "HelpInfo", "occurrence": 1, "status": "blocked-infrastructure", "reason": "目标缺少 Notification 帮助数据与旧 SignalR 管理员分组 HelpInfo 推送协议" }, { "module": "Hms", "action": "UList", "occurrence": 1, "status": "blocked-data", "reason": "目标用户数据未保留旧 ZL_UserBase.cardType 与 ICQ 到期时间" }, { "module": "Hms", "action": "VipAdd", "occurrence": 1, "status": "blocked-data", "reason": "目标没有旧 cardType 空值状态,不能判定可开通主题大师 VIP 卡的用户" }, { "module": "Hms", "action": "VipAddJump", "occurrence": 1, "status": "blocked-data", "reason": "旧七档主题大师卡与当前小树 VIP 合伙人等级不是同一业务,不能复用 VIP 字段" }, { "module": "Hms", "action": "VipUpdate", "occurrence": 1, "status": "blocked-data", "reason": "目标未保留旧 cardType 与 ICQ 卡片到期时间,无法还原编辑页" }, { "module": "Hms", "action": "VipUpdate_Submit", "occurrence": 1, "status": "blocked-data", "reason": "目标未保留旧 cardType/ICQ,不能安全重算卡种与期限" }, { "module": "Hms", "action": "VipRenewal", "occurrence": 1, "status": "blocked-data", "reason": "目标没有旧主题大师卡到期时间,无法展示续约上下文" }, { "module": "Hms", "action": "VipRenewal_Submit", "occurrence": 1, "status": "blocked-data", "reason": "目标没有旧 cardType/ICQ,不能按卡种天数或指定日期续约" }, { "module": "Hms", "action": "VipOverdue", "occurrence": 1, "status": "blocked-data", "reason": "目标没有旧主题大师卡到期时间,无法展示强制过期上下文" }, { "module": "Hms", "action": "VipOverdue_Submit", "occurrence": 1, "status": "blocked-data", "reason": "目标没有旧 ICQ 到期时间,不能误写当前 VIP 合伙人字段" }, { "module": "Hms", "action": "OList", "occurrence": 1, "status": "blocked-data", "reason": "目标 Schema 缺少旧 ZL_Orderinfo 与 ZL_CartPro,无法查询主题大师 VIP 卡订单" }, { "module": "Index", "action": "Default", "occurrence": 1, "status": "implemented", "reason": "已由受 adminGuard 保护的 Angular 后台壳与 /admin/dashboard 替代;托管服务无需旧安装页分支" }, { "module": "Index", "action": "Main", "occurrence": 1, "status": "implemented", "reason": "已由 Angular AdminShellComponent 主框架替代" }, { "module": "Index", "action": "WorkTable", "occurrence": 1, "status": "implemented", "reason": "已由 dashboard 云函数和 Angular 管理概览替代" }, { "module": "Index", "action": "Scence", "occurrence": 1, "status": "blocked-infrastructure", "reason": "目标缺少 SiteOption.Desk 与管理员 Theme/StructureID 持久层及旧主题桌面运行时" }, { "module": "Index", "action": "FuncList", "occurrence": 1, "status": "partial", "reason": "Angular 侧栏与资源目录已提供功能入口;旧完整功能磁贴和权限裁剪布局尚未逐项复刻" }, { "module": "Index", "action": "Lockin", "occurrence": 1, "status": "blocked-infrastructure", "reason": "目标没有 B_Admin.LockScreen 与 ASP.NET Session 锁屏状态,不能以停用账号冒充屏幕锁" }, { "module": "Index", "action": "SiteMap", "occurrence": 1, "status": "partial", "reason": "资源目录和后台快捷入口已支持搜索;旧 SiteMap_Admin.config 的全部 XML 菜单未迁入" }, { "module": "Index", "action": "Lockin_Submit", "occurrence": 1, "status": "blocked-infrastructure", "reason": "旧提交动作为空且锁屏状态依赖 ASP.NET Session/B_Admin,云函数无等价数据" }, { "module": "Index", "action": "ASCXLoad", "occurrence": 1, "status": "blocked-infrastructure", "reason": "Angular 构建不允许按请求路径动态执行服务器 Razor/ASCX 局部视图" }, { "module": "Index", "action": "Login", "occurrence": 1, "status": "implemented", "reason": "已由 /admin/login 登录页、Parse 登录接口和登录态恢复替代" }, { "module": "Index", "action": "Login_AJAX", "occurrence": 1, "status": "implemented", "reason": "已由 Parse 密码校验、admin meta 权限复核和统一错误处理替代" }, { "module": "Index", "action": "Logout", "occurrence": 1, "status": "implemented", "reason": "已由 logout 云函数撤销 _Session 并清理 Angular sessionStorage 替代" }, { "module": "Index", "action": "API", "occurrence": 1, "status": "blocked-infrastructure", "reason": "目标缺少 SiteOption.Admin_ShowAnimate 全局持久化配置" }, { "module": "Index", "action": "AccountForm", "occurrence": 1, "status": "blocked-infrastructure", "reason": "目标没有 SiteOption.RegManager、管理员申请模型和审批链,不能开放高权限自助申请" }, { "module": "Index", "action": "AccountForm_API", "occurrence": 1, "status": "blocked-infrastructure", "reason": "目标没有管理员申请开关与待审批模型,不能提供公开账号/邮箱探测接口" }, { "module": "Index", "action": "AccountForm_Submit", "occurrence": 1, "status": "blocked-infrastructure", "reason": "旧动作随机生成密码并直接授予固定高权限角色,目标权限模型不等价且没有审批链" }, { "module": "Design / Interactive", "action": "InteractiveList", "occurrence": 1, "status": "blocked-data", "reason": "目标缺少旧 Design_Pub 交互提交表及 sceneid、uid、fname 数据;DesignAnswer/Pub 不等价" }, { "module": "Design / Interactive", "action": "Interactive_API", "occurrence": 1, "status": "blocked-data", "reason": "目标没有可按旧 Design_Pub ID 删除的交互提交记录" }, { "module": "Office / iServer", "action": "Default", "occurrence": 1, "status": "blocked-data", "reason": "目标 Schema 缺少旧 IServer 服务工单主表与回复表" }, { "module": "Office / iServer", "action": "AddQuestionRecord", "occurrence": 1, "status": "blocked-data", "reason": "目标无可新增的 IServer 工单、CRM 关联和附件模型" }, { "module": "Office / iServer", "action": "AddQuestionRecord_Submit", "occurrence": 1, "status": "blocked-data", "reason": "目标缺少工单字段、附件及 CRM 关系持久层" }, { "module": "Office / iServer", "action": "BiServer", "occurrence": 1, "status": "blocked-data", "reason": "目标没有可按状态、类型和标题筛选的 IServer 工单数据" }, { "module": "Office / iServer", "action": "BiServer_Del", "occurrence": 1, "status": "blocked-data", "reason": "目标没有可删除的 IServer 工单记录" }, { "module": "Office / iServer", "action": "BiServerInfo", "occurrence": 1, "status": "blocked-data", "reason": "目标缺少工单详情、阅读计数及回复关系" }, { "module": "Office / iServer", "action": "DelIServer", "occurrence": 1, "status": "blocked-data", "reason": "目标缺少 IServerReply 回复记录" }, { "module": "Office / iServer", "action": "UpdateIServer", "occurrence": 1, "status": "blocked-data", "reason": "目标缺少工单状态、优先级、来源、类型、备注和解决时间持久层" }, { "module": "Office / iServer", "action": "BselectiServer", "occurrence": 1, "status": "blocked-data", "reason": "目标没有可供 CRM 选择的旧服务工单数据" }, { "module": "Office / iServer", "action": "ISReplyAdd", "occurrence": 1, "status": "blocked-data", "reason": "目标缺少工单回复主表与父工单关系" }, { "module": "Office / iServer", "action": "ISReplyAdd_Submit", "occurrence": 1, "status": "blocked-data", "reason": "目标缺少管理员工单回复、附件和内容持久层" }, { "module": "Office / Licence", "action": "LicenceFiles", "occurrence": 1, "status": "blocked-data", "reason": "目标缺少 LicenceFiles 协议文件定义与限定用户数据" }, { "module": "Office / Licence", "action": "LicenceFiles_API", "occurrence": 1, "status": "blocked-data", "reason": "目标没有可删除的协议文件定义" }, { "module": "Office / Licence", "action": "LicenceFilesAdd", "occurrence": 1, "status": "blocked-data", "reason": "目标无协议模板路径、字段、状态、限制类型和限定用户模型" }, { "module": "Office / Licence", "action": "LicenceFilesAdd_Submit", "occurrence": 1, "status": "blocked-infrastructure", "reason": "目标缺少协议定义持久层且云函数不能写旧本地模板文件" }, { "module": "Office / Licence", "action": "LicenceSignApplyList", "occurrence": 1, "status": "blocked-data", "reason": "目标缺少 Common_UserApply 的 user_signlicence 申请数据" }, { "module": "Office / Licence", "action": "LicenceSignApplyDetail", "occurrence": 1, "status": "blocked-data", "reason": "目标缺少许可签署申请、用户和协议文件关联" }, { "module": "Office / Licence", "action": "LicenceSignApply_API", "occurrence": 1, "status": "blocked-infrastructure", "reason": "目标缺少申请审核、签署记录及服务器 PDF/本地哈希归档运行时" }, { "module": "Office / Licence", "action": "LicenceSignList", "occurrence": 1, "status": "blocked-data", "reason": "目标缺少 LicenceUserSign 签约记录" }, { "module": "Office / Licence", "action": "LicenceSignDetail", "occurrence": 1, "status": "blocked-data", "reason": "目标缺少签约详情、协议文件和用户关联" }, { "module": "Office / Licence", "action": "LicenceSign_API", "occurrence": 1, "status": "blocked-data", "reason": "目标没有可审核或驳回的签约记录" }, { "module": "Extend / Log", "action": "TxtLog", "occurrence": 1, "status": "blocked-infrastructure", "reason": "云函数运行时没有旧 /Log/{LogType}/ 本地日志目录" }, { "module": "Extend / Log", "action": "TxtLogContent", "occurrence": 1, "status": "blocked-infrastructure", "reason": "云函数不能按文件名读取旧服务器文本日志" }, { "module": "Extend / Log", "action": "TxtLog_Down", "occurrence": 1, "status": "blocked-infrastructure", "reason": "云函数没有旧服务器日志文件可下载" }, { "module": "Extend / Log", "action": "SysLog", "occurrence": 1, "status": "implemented", "reason": "已由只读 systemLogs 云函数与 Angular 系统日志页覆盖帐套分页、类型、关键词和日期筛选" }, { "module": "Extend / Log", "action": "TaskList", "occurrence": 1, "status": "blocked-data", "reason": "SenTask 为空且字段不含旧 Content_ScheTask 任务定义" }, { "module": "Extend / Log", "action": "TaskAdd", "occurrence": 1, "status": "blocked-infrastructure", "reason": "目标缺少旧调度任务模型与 Hangfire 控制面" }, { "module": "Extend / Log", "action": "TaskAdd_API", "occurrence": 1, "status": "blocked-infrastructure", "reason": "目标不能复制旧任务并注册 Hangfire RecurringJob" }, { "module": "Extend / Log", "action": "TaskAdd_Submit", "occurrence": 1, "status": "blocked-infrastructure", "reason": "目标缺少旧任务持久层、本地脚本校验与 Hangfire 调度运行时" }, { "module": "Extend / Log", "action": "Task_API", "occurrence": 1, "status": "blocked-infrastructure", "reason": "目标不能删除、停用、启用或立即执行旧 Hangfire 任务" }, { "module": "Extend / Log", "action": "TaskCenter", "occurrence": 1, "status": "blocked-infrastructure", "reason": "云函数环境没有旧 Hangfire Dashboard 管理页面" }, { "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": "implemented", "reason": "已由 Angular 修改密码页要求原密码、新密码和确认密码替代" }, { "module": "Manager", "action": "ModifyPassword_Submit", "occurrence": 1, "status": "implemented", "reason": "changeOwnPassword 验证原密码、更新当前管理员并撤销该账号全部会话后强制重登" }, { "module": "Content / MarkDown", "action": "Index", "occurrence": 1, "status": "blocked-data", "reason": "目标 Schema 缺少旧 MarkDown 主表及历史记录" }, { "module": "Content / MarkDown", "action": "MD", "occurrence": 1, "status": "blocked-data", "reason": "目标没有可新建或编辑的 MarkDown 记录" }, { "module": "Content / MarkDown", "action": "Index_submit", "occurrence": 1, "status": "blocked-infrastructure", "reason": "目标缺少 MarkDown 持久层且 Parse 文件适配器不能替代旧本地上传目录" }, { "module": "Content / MarkDown", "action": "Dels", "occurrence": 1, "status": "blocked-data", "reason": "目标没有 Markdown 记录与对应服务器文件可同步删除" }, { "module": "Content / MarkDown", "action": "Preview", "occurrence": 1, "status": "blocked-infrastructure", "reason": "目标缺少 Markdown 文件、SiteInfo.SiteUrl 与旧 /PreView/md 渲染运行时" }, { "module": "User / Message", "action": "Message", "occurrence": 1, "status": "blocked-data", "reason": "目标缺少旧 Message 站内信主表与收发历史;MailTemp 仅是邮件模板" }, { "module": "User / Message", "action": "MessageSend", "occurrence": 1, "status": "blocked-data", "reason": "目标没有可编辑的站内信草稿、收件人、抄送和附件记录" }, { "module": "User / Message", "action": "Message_Add", "occurrence": 1, "status": "blocked-data", "reason": "目标缺少站内信发送与草稿持久层" }, { "module": "User / Message", "action": "MessageRead", "occurrence": 1, "status": "blocked-data", "reason": "目标没有站内信详情与已读状态记录" }, { "module": "User / Message", "action": "Message_API", "occurrence": 1, "status": "blocked-data", "reason": "目标没有可删除的站内信记录" }, { "module": "Mobile", "action": "Index", "occurrence": 1, "status": "blocked-infrastructure", "reason": "旧动作只有已丢失的 Mobile Razor 视图,没有页面结构、交互或资源基线" }, { "module": "Mobile", "action": "MobileBrower", "occurrence": 1, "status": "blocked-infrastructure", "reason": "旧移动浏览器预览页只有已丢失的 Razor 视图,目标没有对应渲染运行时" }, { "module": "Model", "action": "Index", "occurrence": 1, "status": "partial", "reason": "已由全部数据类与 Model/ModelField 资源页替代;旧模型类型入口布局未逐项复刻" }, { "module": "Model", "action": "ModelManage", "occurrence": 1, "status": "implemented", "reason": "已提供帐套模型列表、搜索、分页与安全元数据编辑" }, { "module": "Model", "action": "ModelAdd", "occurrence": 1, "status": "blocked-infrastructure", "reason": "新增模型需要 PostgreSQL 建表、生成标签与写入旧模板文件" }, { "module": "Model", "action": "ModelAdd_Submit", "occurrence": 1, "status": "blocked-infrastructure", "reason": "托管云函数未开放模型 DDL 与旧 Zoomla 模板文件运行时" }, { "module": "Model", "action": "Model_API", "occurrence": 1, "status": "partial", "reason": "已覆盖安全模板/展示元数据更新;复制和删除模型因 DDL 被阻塞" }, { "module": "Model", "action": "ModelData", "occurrence": 1, "status": "partial", "reason": "规范化目标类可从资源页管理;任意旧附表名到 Parse 类的映射尚未完整恢复" }, { "module": "Model", "action": "Field", "occurrence": 1, "status": "implemented", "reason": "已提供模型字段列表、搜索、分页与安全展示元数据编辑" }, { "module": "Model", "action": "Order_Submit", "occurrence": 1, "status": "partial", "reason": "已提供同模型字段批量排序云函数;专用拖拽界面尚未复刻" }, { "module": "Model", "action": "FieldAdd", "occurrence": 1, "status": "blocked-infrastructure", "reason": "新增字段需要 PostgreSQL ALTER TABLE 与旧字段控件模板" }, { "module": "Model", "action": "FieldAdd_Submit", "occurrence": 1, "status": "blocked-infrastructure", "reason": "目标托管环境未开放任意物理列 DDL 与旧控件生成器" }, { "module": "Model", "action": "Field_API", "occurrence": 1, "status": "partial", "reason": "已覆盖字段顺序更新;字段删除因历史数据与物理列 DDL 被阻塞" }, { "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": "partial", "reason": "saveNode/nodeBatch 已在移动时安全维护层级;拒绝旧版将全部有效栏目强制扁平为根节点的破坏性修复" }, { "module": "Content / Node", "action": "NodeManage", "occurrence": 1, "status": "implemented", "reason": "已由 Node 资源列表、分页与专用结构操作替代" }, { "module": "Content / Node", "action": "NodeSearch", "occurrence": 1, "status": "implemented", "reason": "已覆盖按栏目名称搜索并保持帐套隔离" }, { "module": "Content / Node", "action": "NodeRecycle", "occurrence": 1, "status": "partial", "reason": "已覆盖回收和恢复;独立回收站筛选页尚未提供" }, { "module": "Content / Node", "action": "NodeAdd", "occurrence": 1, "status": "implemented", "reason": "已由 Node 动态表单与父节点结构控件替代" }, { "module": "Content / Node", "action": "SPageAdd", "occurrence": 1, "status": "partial", "reason": "节点类型与外链字段可编辑;旧单页专用布局尚未逐字段复刻" }, { "module": "Content / Node", "action": "OutLinkAdd", "occurrence": 1, "status": "partial", "reason": "节点类型与 URL 字段可编辑;旧外链专用布局尚未逐字段复刻" }, { "module": "Content / Node", "action": "NodeAdd_Submit", "occurrence": 1, "status": "implemented", "reason": "已覆盖原子栏目编号、同级防重、父节点与层级校验" }, { "module": "Content / Node", "action": "Node_API", "occurrence": 1, "status": "partial", "reason": "已覆盖回收、恢复与安全永久删除;清空全部节点被明确禁止" }, { "module": "Content / Node", "action": "BatchNode", "occurrence": 1, "status": "partial", "reason": "已提供栏目批量回收、恢复和结构迁移" }, { "module": "Content / Node", "action": "BatchNode_Submit", "occurrence": 1, "status": "partial", "reason": "已覆盖结构批处理;旧批量模板、权限与计费字段仍待专用实现" }, { "module": "Content / Node", "action": "UnionNode", "occurrence": 1, "status": "partial", "reason": "已提供栏目批量迁移;栏目合并仍待实现" }, { "module": "Content / Node", "action": "UnionNode_Merge", "occurrence": 1, "status": "blocked-data", "reason": "旧合并同时改写 CommonModel 与未迁入的 ZL_Commodities,缺商品主表时不能执行半合并" }, { "module": "Content / Node", "action": "UnionNode_Move", "occurrence": 1, "status": "implemented", "reason": "已由 nodeBatch 批量移动与递归深度同步替代" }, { "module": "Content / Node", "action": "Special_API", "occurrence": 1, "status": "partial", "reason": "已覆盖删除引用保护与保存时名称/目录校验;旧独立校验响应未保留" }, { "module": "Content / Node", "action": "Special", "occurrence": 1, "status": "implemented", "reason": "已由 Special 资源列表、搜索与分页替代" }, { "module": "Content / Node", "action": "SpecialAdd", "occurrence": 1, "status": "implemented", "reason": "已由专题动态表单与父专题结构控件替代" }, { "module": "Content / Node", "action": "SpecialAdd_Save", "occurrence": 1, "status": "implemented", "reason": "已覆盖原子专题编号、全帐套防重、父专题与循环校验" }, { "module": "Content / Node", "action": "UnionSpecial", "occurrence": 1, "status": "partial", "reason": "已提供专题批量迁移;关系合并因目标数据缺失被显式阻塞" }, { "module": "Content / Node", "action": "UnionSpecial_Move", "occurrence": 1, "status": "implemented", "reason": "已由 specialBatch 帐套隔离批量移动替代" }, { "module": "Content / Node", "action": "UnionSpecial_Merge", "occurrence": 1, "status": "blocked-data", "reason": "CommonModel.specialId 物理列缺失且商品主表未迁移,无法安全重写专题关系" }, { "module": "Office / OA", "action": "Default", "occurrence": 1, "status": "blocked-data", "reason": "目标缺少旧 OA_AuditFlow 审核流主表与历史数据" }, { "module": "Office / OA", "action": "FlowInfo", "occurrence": 1, "status": "blocked-data", "reason": "目标没有旧审核流名称、模型、模板、角色用户和会签配置" }, { "module": "Office / OA", "action": "FlowInfo_Submit", "occurrence": 1, "status": "blocked-data", "reason": "目标缺少 OA_AuditFlow 持久层;MisProcedure 是不同版本结构" }, { "module": "Office / OA", "action": "Flow_API", "occurrence": 1, "status": "blocked-data", "reason": "目标没有可删除的旧审核流记录" }, { "module": "Office / OA", "action": "SelFlowModel", "occurrence": 1, "status": "blocked-data", "reason": "目标缺少审核流可绑定的旧 Mis_Model 与套红模板关系" }, { "module": "Office / OA", "action": "FlowItem", "occurrence": 1, "status": "blocked-data", "reason": "目标缺少 OA_AuditFlowItem 审核步骤表" }, { "module": "Office / OA", "action": "FlowItemInfo", "occurrence": 1, "status": "blocked-data", "reason": "目标没有审核步骤、绑定用户、父步骤、会签、转交和退回记录" }, { "module": "Office / OA", "action": "FlowItemInfo_Submit", "occurrence": 1, "status": "blocked-data", "reason": "目标缺少审核步骤持久层" }, { "module": "Office / OA", "action": "FlowItem_API", "occurrence": 1, "status": "blocked-data", "reason": "目标没有可删除的审核步骤记录" }, { "module": "Office / OA", "action": "SelUserModel", "occurrence": 1, "status": "implemented", "reason": "已由帐套隔离的 Angular 用户管理列表和账号搜索替代" }, { "module": "Office / OA", "action": "AddMisModel", "occurrence": 1, "status": "blocked-data", "reason": "DocModel 与旧 Mis_Model 的 ModelContent/BindNode/DocType/WordPath 不等价" }, { "module": "Office / OA", "action": "AddMisModel_Submit", "occurrence": 1, "status": "blocked-infrastructure", "reason": "目标缺少旧 Mis_Model 持久层和 FileGuid 套红模板文件运行时" }, { "module": "Office / OA", "action": "AddSign", "occurrence": 1, "status": "blocked-data", "reason": "目标 MisSign 是考勤时间表,不是 OA_Sign 签章模型" }, { "module": "Office / OA", "action": "AddSign_Submit", "occurrence": 1, "status": "blocked-data", "reason": "目标缺少 OA_Sign 图片、名称、口令、密钥、所属用户与创建人持久层" }, { "module": "Office / OA", "action": "AddSign_Delete", "occurrence": 1, "status": "blocked-data", "reason": "目标没有可删除的 OA_Sign 签章记录" }, { "module": "Office / OA", "action": "AddWorkFlowType", "occurrence": 1, "status": "implemented", "reason": "已由 Angular OA 流程类型新建/编辑抽屉替代" }, { "module": "Office / OA", "action": "AddWorkFlowType_Submit", "occurrence": 1, "status": "implemented", "reason": "saveMisType 校验名称/说明、防重并原子分配旧数字 ID" }, { "module": "Office / OA", "action": "AddWorkFlowType_Delete", "occurrence": 1, "status": "implemented", "reason": "misTypeBatch 提供帐套隔离和流程引用保护删除" }, { "module": "Office / OA", "action": "ApplyManage", "occurrence": 1, "status": "blocked-data", "reason": "目标缺少 OA_Document 文档申请主表" }, { "module": "Office / OA", "action": "ApplyManage_Delete", "occurrence": 1, "status": "blocked-data", "reason": "目标没有可删除的 OA 文档申请记录" }, { "module": "Office / OA", "action": "FlowTypeList", "occurrence": 1, "status": "implemented", "reason": "misTypes 提供帐套隔离、名称搜索和分页列表" }, { "module": "Office / OA", "action": "MailManage", "occurrence": 1, "status": "implemented", "reason": "已由帐套隔离的 Angular 用户通讯录列表替代" }, { "module": "Office / OA", "action": "MisModelManage", "occurrence": 1, "status": "blocked-data", "reason": "目标缺少旧 Mis_Model 套红文档模型数据" }, { "module": "Office / OA", "action": "MisModelManage_Delete", "occurrence": 1, "status": "blocked-data", "reason": "目标没有可删除的旧套红文档模型" }, { "module": "Office / OA", "action": "OAConfig", "occurrence": 1, "status": "blocked-infrastructure", "reason": "旧动作只有已丢失的 OAConfig Razor 视图,目标没有对应配置模型" }, { "module": "Office / OA", "action": "SelModelFieds", "occurrence": 1, "status": "partial", "reason": "目标 Model 数据可只读查看;旧按 ModelType 回填字段的 OA Razor 交互未迁入" }, { "module": "Office / OA", "action": "SignManage", "occurrence": 1, "status": "blocked-data", "reason": "目标缺少 OA_Sign 签章列表;MisSign 是不等价的考勤时间表" }, { "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": "blocked-data", "reason": "目标 Schema 缺少旧 PageReg 用户黄页申请主表与审核状态" }, { "module": "Page", "action": "ApplyInfo", "occurrence": 1, "status": "blocked-data", "reason": "目标缺少 PageReg 申请详情、用户动态字段和样式关联" }, { "module": "Page", "action": "PageStyle", "occurrence": 1, "status": "implemented", "reason": "已由 pageStyles 提供帐套隔离、名称搜索、排序和分页列表" }, { "module": "Page", "action": "PageStyleAdd", "occurrence": 1, "status": "implemented", "reason": "已由 Angular 黄页样式新建/编辑抽屉替代" }, { "module": "Page", "action": "PageContent", "occurrence": 1, "status": "partial", "reason": "现有 CommonModel 可管理普通内容;PageReg 与黄页专属模型范围缺失" }, { "module": "Page", "action": "EditContent", "occurrence": 1, "status": "partial", "reason": "现有内容详情可查看;PageReg 与 PageTemplate 黄页编辑上下文缺失" }, { "module": "Page", "action": "Content_Edit", "occurrence": 1, "status": "partial", "reason": "现有内容主字段可安全编辑;黄页模型附表与 PageReg 关系尚未迁入" }, { "module": "Page", "action": "PageConfig", "occurrence": 1, "status": "blocked-infrastructure", "reason": "目标没有 SiteOption.RegPageStart/Page_ContentStatus/Page_UserCanNode 配置层" }, { "module": "Page", "action": "PageTemplate", "occurrence": 1, "status": "blocked-data", "reason": "PageTemplate 为空且目标缺少 PageReg 用户归属,无法还原用户与公共模板树" }, { "module": "Page", "action": "PageTemplateAdd", "occurrence": 1, "status": "blocked-data", "reason": "目标缺少 PageReg,不能确定模板 RegID、用户和样式上下文" }, { "module": "Page", "action": "SetPageOrder", "occurrence": 1, "status": "blocked-data", "reason": "目标没有可按 PageReg 隔离的页面模板集合" }, { "module": "Page", "action": "PageConfig_Update", "occurrence": 1, "status": "blocked-infrastructure", "reason": "目标云函数架构没有旧黄页站点配置持久层" }, { "module": "Page", "action": "PageTemplate_Add", "occurrence": 1, "status": "blocked-data", "reason": "目标缺少 PageReg 用户归属和旧模型复选关系,不能安全新增页面模板" }, { "module": "Page", "action": "SetPageOrder_Batch", "occurrence": 1, "status": "blocked-data", "reason": "目标没有可按 PageReg 隔离的模板排序集合" }, { "module": "Page", "action": "SetPageOrder_UpMove", "occurrence": 1, "status": "blocked-data", "reason": "目标没有可按 PageReg 隔离的相邻模板顺序" }, { "module": "Page", "action": "SetPageOrder_DownMove", "occurrence": 1, "status": "blocked-data", "reason": "目标没有可按 PageReg 隔离的相邻模板顺序" }, { "module": "Page", "action": "Style_Add", "occurrence": 1, "status": "implemented", "reason": "已由 savePageStyle 校验路径、状态、防重并原子分配旧 PageNodeid" }, { "module": "Page", "action": "Apply_Update", "occurrence": 1, "status": "blocked-data", "reason": "目标缺少 PageReg 申请主表、黄页模型附表和用户申请字段" }, { "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": "blocked-data", "reason": "旧默认页跳转到已缺失的 Blog_Msg 动态管理,目标没有可进入的信息首页" }, { "module": "Office / Plat", "action": "AddComp", "occurrence": 1, "status": "implemented", "reason": "已由 Angular 协同办公企业新建/编辑抽屉替代" }, { "module": "Office / Plat", "action": "AddComp_Submit", "occurrence": 1, "status": "implemented", "reason": "savePlatformCompany 校验企业资料、创建人、防重并原子分配旧数字 ID" }, { "module": "Office / Plat", "action": "AuditApply", "occurrence": 1, "status": "blocked-data", "reason": "目标 Schema 缺少旧 Common_UserApply 协同办公申请主表" }, { "module": "Office / Plat", "action": "AuditApply_Agree", "occurrence": 1, "status": "blocked-data", "reason": "目标没有可批量通过并改为状态 99 的协同办公申请" }, { "module": "Office / Plat", "action": "AuditApply_Reject", "occurrence": 1, "status": "blocked-data", "reason": "目标没有可批量拒绝并改为状态 -1 的协同办公申请" }, { "module": "Office / Plat", "action": "CompList", "occurrence": 1, "status": "implemented", "reason": "platformCompanies 提供帐套隔离、关键词、旧编号排序和分页列表" }, { "module": "Office / Plat", "action": "CompInfo", "occurrence": 1, "status": "implemented", "reason": "已由协同办公企业详情抽屉显示完整 PlatComp 字段" }, { "module": "Office / Plat", "action": "CreateComp", "occurrence": 1, "status": "partial", "reason": "Angular 企业表单已覆盖主表创建;旧动作仅剩已丢失 Razor 向导,未知交互无法恢复" }, { "module": "Office / Plat", "action": "MemberList", "occurrence": 1, "status": "implemented", "reason": "platformCompanyMembers 从 _User.legacyUserPlat 安全还原企业成员列表" }, { "module": "Office / Plat", "action": "Member_Add", "occurrence": 1, "status": "implemented", "reason": "platformCompanyMemberBatch 按同帐套账号新增或移动旧 User_Plat 成员" }, { "module": "Office / Plat", "action": "Member_API", "occurrence": 1, "status": "implemented", "reason": "platformCompanyMemberBatch remove 等价删除成员的 legacyUserPlat 记录" }, { "module": "Office / Plat", "action": "PlatInfoDeail", "occurrence": 1, "status": "blocked-data", "reason": "目标 Schema 缺少旧 Blog_Msg 动态消息主表" }, { "module": "Office / Plat", "action": "PlatInfoDetail_Submit", "occurrence": 1, "status": "blocked-data", "reason": "目标没有可编辑正文与日期的旧协同办公动态消息" }, { "module": "Office / Plat", "action": "PlatInfoManage", "occurrence": 1, "status": "blocked-data", "reason": "目标没有 Blog_Msg 顶级动态、回收状态和关键词数据" }, { "module": "Office / Plat", "action": "TopicList", "occurrence": 1, "status": "blocked-data", "reason": "目标 Schema 缺少旧 Plat_Topic 话题主表与星标状态" }, { "module": "Office / Plat", "action": "WordTlp", "occurrence": 1, "status": "blocked-infrastructure", "reason": "旧文字模板仅剩已丢失的 Razor 视图,目标没有模板数据或渲染协议" }, { "module": "Office / Plat", "action": "API", "occurrence": 1, "status": "partial", "reason": "platformCompanyBatch 已覆盖带成员/角色引用保护的 comp_del;消息与话题分支因主表缺失而阻塞" }, { "module": "Office / Plat", "action": "Crud", "occurrence": 1, "status": "blocked-data", "reason": "目标 Schema 缺少旧 Plat_Group 企业部门/群组树" }, { "module": "Office / Plat", "action": "CrudAdd", "occurrence": 1, "status": "blocked-data", "reason": "目标没有可编辑的企业群组、上级和成员管理员关系" }, { "module": "Office / Plat", "action": "CrudAdd_Submit", "occurrence": 1, "status": "blocked-data", "reason": "目标缺少 Plat_Group 的 FirstID/Depth/ManageIDS/MemberIDS 持久层" }, { "module": "Office / Plat", "action": "GroupAdmin_API", "occurrence": 1, "status": "blocked-data", "reason": "目标没有可删除的 Plat_Group 企业群组记录" }, { "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": "blocked-infrastructure", "reason": "旧控制器只返回已丢失的 Razor 视图;目标 Schema 又缺少 PrintDevice/PrintTlp/PrintMessage,且旧飞印客户端依赖明文 HTTP 第三方协议,无法安全等价恢复" }, { "module": "User / PrivacyPolicy", "action": "LicenceList", "occurrence": 1, "status": "blocked-data", "reason": "目标 Schema 缺少 ZL_LicenceFiles 用户协议定义、强制签署类型与限定用户/用户组数据" }, { "module": "User / PrivacyPolicy", "action": "LicenceAdd", "occurrence": 1, "status": "blocked-data", "reason": "目标没有可编辑或新增的用户协议、PDF 路径、字段映射和适用范围记录" }, { "module": "User / PrivacyPolicy", "action": "LicenceAdd_Submit", "occurrence": 1, "status": "blocked-data", "reason": "目标缺少 LicenceFiles 持久层及协议 PDF 文件,不能只保存失效路径" }, { "module": "User / PrivacyPolicy", "action": "Licence_API", "occurrence": 1, "status": "blocked-data", "reason": "目标没有可启用、停用或删除的用户协议定义" }, { "module": "User / PrivacyPolicy", "action": "LicenceUserSign", "occurrence": 1, "status": "blocked-data", "reason": "目标 Schema 缺少 ZL_LicenceUserSign 用户签约历史及协议、用户关联" }, { "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": "blocked-data", "reason": "旧入口只重定向到提现申请页,目标缺少 Cash 提现主表,无法提供等价落点" }, { "module": "User / Promo", "action": "WD", "occurrence": 1, "status": "blocked-data", "reason": "目标 Schema 缺少 Cash 提现申请、手续费、结果、凭证与处理状态记录" }, { "module": "User / Promo", "action": "WD_API", "occurrence": 1, "status": "blocked-data", "reason": "目标没有可审核的提现申请记录" }, { "module": "User / Promo", "action": "WDAudit", "occurrence": 1, "status": "blocked-data", "reason": "目标缺少指定提现申请的金额、手续费、账户和处理详情" }, { "module": "User / Promo", "action": "WDAudit_Accept", "occurrence": 1, "status": "blocked-data", "reason": "目标缺少可原子审核的 Cash 提现事务记录" }, { "module": "User / Promo", "action": "WDAudit_Reject", "occurrence": 1, "status": "blocked-data", "reason": "目标缺少 Cash 提现申请及对应预扣余额账本,不能安全执行拒绝退款" }, { "module": "User / Promo", "action": "PromoList", "occurrence": 1, "status": "implemented", "reason": "已由 UserPromotion 虚拟资源和 userPromotions 云函数从 _User.legacyUserData.ParentUserID 还原推广关系、人数、日期及邀请人筛选" }, { "module": "User / Promo", "action": "UserBank", "occurrence": 1, "status": "blocked-data", "reason": "目标 Schema 缺少 User_Bank 提现账户及审核状态数据" }, { "module": "User / Promo", "action": "UserBankAdd", "occurrence": 1, "status": "blocked-data", "reason": "目标没有可编辑的开户人、卡号、账户类型和开户行记录" }, { "module": "User / Promo", "action": "UserBankAdd_Submit", "occurrence": 1, "status": "blocked-data", "reason": "目标缺少 User_Bank 持久层,不能把提现账户错写到发票银行字段" }, { "module": "User / Promo", "action": "UserBank_API", "occurrence": 1, "status": "blocked-data", "reason": "目标没有可删除、审核或取消审核的提现账户记录" }, { "module": "Pub", "action": "PubManage", "occurrence": 1, "status": "blocked-data", "reason": "目标 Pub 模块定义与 PubTw/PubWTHD/PubZXDC 提交类均为空,无法还原互动模块列表" }, { "module": "Pub", "action": "Pub_API", "occurrence": 1, "status": "blocked-infrastructure", "reason": "旧删除/复制/恢复依赖 Pub 定义与动态表,modelname 还会检查 SQL 物理表;目标没有可操作记录或动态建表运行时" }, { "module": "Pub", "action": "Pubinfo", "occurrence": 1, "status": "blocked-data", "reason": "旧动作只跳转到指定 Pub 定义编辑页,目标 Pub 没有任何历史模块" }, { "module": "Pub", "action": "PubAdd", "occurrence": 1, "status": "blocked-infrastructure", "reason": "新增互动模块需要动态模型、表、标签与模板选择,目标云函数没有等价创建运行时" }, { "module": "Pub", "action": "PubAdd_Submit", "occurrence": 1, "status": "blocked-infrastructure", "reason": "旧提交会动态建 SQL 表、Model/ModelField、XML 标签及两套服务器 HTML 模板,云函数不能等价执行" }, { "module": "Pub", "action": "Pubsinfo", "occurrence": 1, "status": "blocked-data", "reason": "目标没有 Pub 定义可确定提交表,三个已签约 Pub 提交类也全部为空" }, { "module": "Pub", "action": "PubsinfoAdd", "occurrence": 1, "status": "blocked-data", "reason": "目标缺少互动模块定义、动态字段与可编辑的提交记录" }, { "module": "Pub", "action": "PubsinfoAdd_Submit", "occurrence": 1, "status": "blocked-data", "reason": "目标无法根据空的 Pub 定义选择动态提交表并保存系统字段与模型字段" }, { "module": "Pub", "action": "PubInfo_API", "occurrence": 1, "status": "blocked-data", "reason": "目标没有可删除、审核或取消审核的互动提交记录" }, { "module": "Pub", "action": "PubInfo2_API", "occurrence": 1, "status": "blocked-data", "reason": "旧企业入驻分支硬编码依赖缺失的 ZL_Pub_BDQYSH 提交表,不能直接改写企业与用户归属" }, { "module": "Pub", "action": "PubsinfoReply", "occurrence": 1, "status": "blocked-data", "reason": "目标没有互动父记录、动态字段和回复上下文" }, { "module": "Pub", "action": "PubsinfoReply_Submit", "occurrence": 1, "status": "blocked-data", "reason": "目标缺少可确定回复表的 Pub 定义及父提交记录" }, { "module": "Push", "action": "Index", "occurrence": 1, "status": "blocked-data", "reason": "旧入口只跳转到推送 API 列表,目标缺少 Mobile_PushAPI 配置数据" }, { "module": "Push", "action": "APIList", "occurrence": 1, "status": "blocked-data", "reason": "目标 Schema 缺少 Mobile_PushAPI 的别名、平台、AppKey 与密钥记录" }, { "module": "Push", "action": "API_del", "occurrence": 1, "status": "blocked-data", "reason": "目标没有可定位并删除的推送服务配置" }, { "module": "Push", "action": "AddAPI", "occurrence": 1, "status": "blocked-data", "reason": "目标没有可编辑或新增的极光推送 API 配置模型" }, { "module": "Push", "action": "AddAPI_Submit", "occurrence": 1, "status": "blocked-data", "reason": "签约数据库未提供可安全存储和轮换推送 AppKey/AppSecret 的配置类" }, { "module": "Push", "action": "PushMsg", "occurrence": 1, "status": "blocked-data", "reason": "目标缺少可选择的推送 API 配置与设备受众数据" }, { "module": "Push", "action": "PushMsg_Submit", "occurrence": 1, "status": "blocked-infrastructure", "reason": "目标没有 JPush 凭据、SDK 消费者、ZL_UserBase.UC 设备注册号或移动端注册链,无法真实发送并记录结果" }, { "module": "Push", "action": "PushTlp", "occurrence": 1, "status": "blocked-data", "reason": "目标 Schema 缺少 Mobile_PushTlp 推送模板与状态数据" }, { "module": "Push", "action": "AddPushTlp", "occurrence": 1, "status": "blocked-data", "reason": "目标没有可编辑或新增的推送模板记录" }, { "module": "Push", "action": "AddPushTlp_Submit", "occurrence": 1, "status": "blocked-data", "reason": "目标缺少推送模板名称、标题、内容和参数持久层" }, { "module": "Push", "action": "PushTlp_API", "occurrence": 1, "status": "blocked-data", "reason": "目标没有可启用、停用或删除的推送模板" }, { "module": "Push", "action": "MsgList", "occurrence": 1, "status": "blocked-data", "reason": "目标 Schema 缺少 Mobile_PushMsg 发送历史、受众与结果记录" }, { "module": "Extend / PWA", "action": "Default", "occurrence": 1, "status": "blocked-infrastructure", "reason": "旧入口跳转到离线缓存配置;目标没有可动态改写已部署前端的 PWA 控制面" }, { "module": "Extend / PWA", "action": "Default_Submit", "occurrence": 1, "status": "blocked-infrastructure", "reason": "旧提交为空操作,目标不伪造无效果的保存成功" }, { "module": "Extend / PWA", "action": "Mobile", "occurrence": 1, "status": "blocked-infrastructure", "reason": "目标缺少旧 SiteOption PWA 配置、manifest 文件和多尺寸图标资产" }, { "module": "Extend / PWA", "action": "Mobile_Submit", "occurrence": 1, "status": "blocked-infrastructure", "reason": "云函数不能缩放上传图标、写 manifest.json、注入站点 head 或持久化旧 SiteConfig" }, { "module": "Extend / PWA", "action": "Offline", "occurrence": 1, "status": "blocked-infrastructure", "reason": "目标没有旧 PWA_PC_Enable/Exts/IndexUrl/PreCache 配置与服务器模板" }, { "module": "Extend / PWA", "action": "Offline_Submit", "occurrence": 1, "status": "blocked-infrastructure", "reason": "云函数不能读取 pwa_sw_js.tlp 并覆盖已部署站点根目录 /sw.js" }, { "module": "Extend / QuartzTask", "action": "TaskList", "occurrence": 1, "status": "blocked-data", "reason": "目标 Schema 缺少 QuartzNetTask 任务定义、类型、状态、次数和历史记录;空 SenTask 语义不等价" }, { "module": "Extend / QuartzTask", "action": "ViewLog", "occurrence": 1, "status": "blocked-data", "reason": "目标没有 QuartzNetTask.Log 执行日志可按任务查看" }, { "module": "Extend / QuartzTask", "action": "TaskAdd", "occurrence": 1, "status": "blocked-infrastructure", "reason": "目标没有 Quartz IScheduler、ScheduleTaskHandler 与任务持久层,无法创建一次或循环任务" }, { "module": "Extend / QuartzTask", "action": "TaskAdd", "occurrence": 2, "status": "blocked-infrastructure", "reason": "目标没有 Quartz IScheduler、ScheduleTaskHandler 与任务持久层,无法创建一次或循环任务" }, { "module": "Extend / QuartzTask", "action": "TaskEdit", "occurrence": 1, "status": "blocked-data", "reason": "目标没有可编辑的 Quartz 任务定义" }, { "module": "Extend / QuartzTask", "action": "TaskUpdate", "occurrence": 1, "status": "blocked-infrastructure", "reason": "目标没有可同步更新持久层与 Quartz 调度器的控制面" }, { "module": "Extend / QuartzTask", "action": "ExecuteNow", "occurrence": 1, "status": "blocked-infrastructure", "reason": "云函数环境没有已注册的 Quartz 作业可立即触发" }, { "module": "Extend / QuartzTask", "action": "TaskDelete", "occurrence": 1, "status": "blocked-infrastructure", "reason": "目标没有可同时删除 Quartz 作业与任务记录的调度控制面" }, { "module": "Extend / QuartzTask", "action": "TaskDeleteRange", "occurrence": 1, "status": "blocked-infrastructure", "reason": "目标没有可批量注销 Quartz 作业与删除任务记录的控制面" }, { "module": "Extend / QuartzTask", "action": "TaskPause", "occurrence": 1, "status": "blocked-infrastructure", "reason": "云函数环境没有常驻 Quartz 调度器或可暂停作业" }, { "module": "Extend / QuartzTask", "action": "TaskResume", "occurrence": 1, "status": "blocked-infrastructure", "reason": "云函数环境没有常驻 Quartz 调度器或可恢复作业" }, { "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": "implemented", "reason": "已由 DesignRes 专用帐套列表替代,支持分页、名称/用途/路径搜索和 ztype 精确筛选" }, { "module": "Design / Resource", "action": "ResourceAdd", "occurrence": 1, "status": "partial", "reason": "现有资源可编辑元数据并查看原文件/预览图路径;新增与文件替换受 Parse 文件适配器阻塞" }, { "module": "Design / Resource", "action": "ResourceAdd_Submit", "occurrence": 1, "status": "partial", "reason": "saveDesignResource 已白名单更新 Name/style/use/Useage/ZStatus/ZType/fun 并保护旧 ID 与文件路径;上传明确返回 migration_blocked" }, { "module": "Design / Resource", "action": "Resource_API", "occurrence": 1, "status": "implemented", "reason": "已由 designResourceBatch 覆盖帐套隔离的单条与每批 1–100 条资源记录删除" }, { "module": "User / Role", "action": "UserRole", "occurrence": 1, "status": "implemented", "reason": "已由 roles 用户角色列表覆盖帐套隔离、搜索和分页" }, { "module": "User / Role", "action": "UserRoleAdd", "occurrence": 1, "status": "implemented", "reason": "已由 Angular 用户角色新建/编辑抽屉替代" }, { "module": "User / Role", "action": "UserRoleAdd_Submit", "occurrence": 1, "status": "implemented", "reason": "saveRole 已覆盖用户角色名称防重、原子旧编号和白名单保存" }, { "module": "User / Role", "action": "UserRoleAuth", "occurrence": 1, "status": "implemented", "reason": "roleAuthorization 已联合返回用户角色与 12 个旧 ARoleAuth 权限域" }, { "module": "User / Role", "action": "UserRole_API", "occurrence": 1, "status": "implemented", "reason": "roleBatch 已覆盖帐套隔离删除、账号引用保护和权限记录级联清理" }, { "module": "User / Role", "action": "ARole", "occurrence": 1, "status": "implemented", "reason": "已由 roles 管理员角色列表覆盖旧 500 条上限列表与名称搜索" }, { "module": "User / Role", "action": "ARole_API", "occurrence": 1, "status": "implemented", "reason": "roleBatch 已覆盖管理员角色批量删除与 Manager.adminRole 引用保护" }, { "module": "User / Role", "action": "ARoleAdd", "occurrence": 1, "status": "implemented", "reason": "已由 Angular 管理员角色新建/编辑抽屉替代" }, { "module": "User / Role", "action": "ARoleAdd_Submit", "occurrence": 1, "status": "implemented", "reason": "saveRole 已覆盖管理员角色名称、说明、类型固化和原子 roleId" }, { "module": "User / Role", "action": "ARoleAuth", "occurrence": 1, "status": "implemented", "reason": "已在角色详情中完整展示 model/content/shop/page/exam/user/system/office/portable/sites/other/extend" }, { "module": "User / Role", "action": "ARoleAuth_Submit", "occurrence": 1, "status": "implemented", "reason": "saveRoleAuthorization 已覆盖 12 域权限码去重校验、新建/更新和原子权限编号" }, { "module": "Extend / Safe", "action": "Default", "occurrence": 1, "status": "blocked-infrastructure", "reason": "旧默认入口只跳转 SiteSwitch;目标没有静态 Angular 站点的安全开关控制面" }, { "module": "Extend / Safe", "action": "API", "occurrence": 1, "status": "blocked-infrastructure", "reason": "旧聚合 API 依赖缺失 Safe_IP、服务器站点检查局部页和 ContentWordHelper 常驻线程" }, { "module": "Extend / Safe", "action": "SiteSwitch", "occurrence": 1, "status": "blocked-infrastructure", "reason": "目标没有站点上下线状态、下线页文件或前端发布开关" }, { "module": "Extend / Safe", "action": "SiteIP", "occurrence": 1, "status": "blocked-data", "reason": "目标 Schema 缺少旧 Safe_IP 白/黑名单、到期时间与管理员历史" }, { "module": "Extend / Safe", "action": "SiteIPAdd", "occurrence": 1, "status": "blocked-data", "reason": "目标没有可编辑或新建的 Safe_IP IP 规则记录" }, { "module": "Extend / Safe", "action": "SiteIPAdd_Submit", "occurrence": 1, "status": "blocked-data", "reason": "目标缺少 Safe_IP 持久层和实际消费 IP 规则的请求中间件" }, { "module": "Extend / Safe", "action": "ContentProtect", "occurrence": 1, "status": "blocked-infrastructure", "reason": "旧内容保护页视图已丢失,目标无签名、防复制或防篡改配置消费链" }, { "module": "Extend / Safe", "action": "SiteAssess", "occurrence": 1, "status": "blocked-infrastructure", "reason": "旧站点安全评估视图、评分规则、基线和历史结果均未交付" }, { "module": "Extend / Safe", "action": "SiteProtect", "occurrence": 1, "status": "blocked-infrastructure", "reason": "目标无 Safe_ContentCheck_Models 配置模型及内容写入扫描消费层" }, { "module": "Extend / Safe", "action": "SiteProtect_Submit", "occurrence": 1, "status": "blocked-infrastructure", "reason": "仅保存模型 ID 字符串不会产生保护;目标缺少 SiteConfig.Update 和扫描运行时" }, { "module": "Extend / Safe", "action": "ContentCheck", "occurrence": 1, "status": "blocked-infrastructure", "reason": "目标无 ContentWordHelper 扫描任务、进度结果缓存和待检模型范围" }, { "module": "Extend / Safe", "action": "ContentCheckConfig", "occurrence": 1, "status": "blocked-infrastructure", "reason": "云函数运行时没有 IllegalWordsVerify.keywordsVPath 非法词文件与旧编辑视图" }, { "module": "Extend / Safe", "action": "ContentCheckConfig_Submit", "occurrence": 1, "status": "blocked-infrastructure", "reason": "云函数不能写旧非法词文件,当前内容接口也没有该文件消费链" }, { "module": "Extend / Safe", "action": "ContentFilter", "occurrence": 1, "status": "blocked-infrastructure", "reason": "旧内容过滤视图已丢失,目标无等价替换/阻断规则与执行层" }, { "module": "Extend / Safe", "action": "SiteCheck", "occurrence": 1, "status": "blocked-infrastructure", "reason": "旧站点检查依赖服务器文件、局部 Razor 页和丢失的检查规则" }, { "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": "implemented", "reason": "已由 designScenes 按旧 ZType=0、TlpID=0、Status<>-2 条件提供帐套隔离、搜索和分页" }, { "module": "Design / Scene", "action": "SceneListRecycle", "occurrence": 1, "status": "implemented", "reason": "Angular 场景页可切换回收站,designScenes 严格筛选 Status=-2" }, { "module": "Design / Scene", "action": "SceneAdd", "occurrence": 1, "status": "implemented", "reason": "已由 Angular 现有场景编辑抽屉替代,并将布局、组件、资源、路径、编号和模板关系锁为只读" }, { "module": "Design / Scene", "action": "SceneAdd_Submit", "occurrence": 1, "status": "implemented", "reason": "saveDesignScene 白名单更新旧页 9 个字段、校验帐套用户并同步 UserName 与更新时间" }, { "module": "Design / Scene", "action": "Scene_API", "occurrence": 1, "status": "implemented", "reason": "designSceneBatch 覆盖回收、恢复、彻底删除;createDesignSceneTemplate 原子分配模板与副本场景编号并提供失败补偿" }, { "module": "Office / Service", "action": "Default", "occurrence": 1, "status": "implemented", "reason": "已由 Angular 客服席位导航替代旧重定向" }, { "module": "Office / Service", "action": "Seat", "occurrence": 1, "status": "implemented", "reason": "已由 serviceSeats 帐套隔离、关键词和排序分页列表替代" }, { "module": "Office / Service", "action": "SeatAdd", "occurrence": 1, "status": "partial", "reason": "客服席位新建/编辑页已迁移;旧固定密码自动开户行为因安全原因不迁移" }, { "module": "Office / Service", "action": "SeatAdd_Submit", "occurrence": 1, "status": "partial", "reason": "saveServiceSeat 可绑定现有同帐套账号并原子生成席位 ID;缺失账号时明确阻塞弱密码开户" }, { "module": "Office / Service", "action": "CodeAdd", "occurrence": 1, "status": "partial", "reason": "现有 useType=12 欢迎语编辑页已迁移;新增受 Temp.id 保留字段冲突阻塞" }, { "module": "Office / Service", "action": "CodeAdd_Submit", "occurrence": 1, "status": "partial", "reason": "现有欢迎语由 saveServiceCode 白名单更新名称、HTML 内容和主题;新增明确阻塞" }, { "module": "Office / Service", "action": "Seat_API", "occurrence": 1, "status": "partial", "reason": "serviceBatch 已覆盖席位和欢迎语删除;chat_del 因 ChatMsg 数据类缺失而阻塞" }, { "module": "Office / Service", "action": "CodeList", "occurrence": 1, "status": "implemented", "reason": "已由 serviceCodes 仅按 useType=12 帐套隔离读取客服欢迎语" }, { "module": "Office / Service", "action": "MsgEx", "occurrence": 1, "status": "blocked-data", "reason": "目标 Schema 缺少旧 ChatMsg 会话消息表与历史数据" }, { "module": "Office / Service", "action": "MsgInfo", "occurrence": 1, "status": "blocked-data", "reason": "目标 Schema 缺少旧 ChatMsg 单条消息详情数据" }, { "module": "Office / Service", "action": "MsgList", "occurrence": 1, "status": "blocked-data", "reason": "目标 Schema 缺少旧 ChatMsg 消息列表数据" }, { "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": "implemented", "reason": "已由 storeApplications 按帐套、审核状态和关键词分页读取店铺" }, { "module": "Shop / Store", "action": "Store_API", "occurrence": 1, "status": "partial", "reason": "storeBatch 已覆盖审核、取消审核、推荐和取消推荐;因商品主表缺失而阻止真实删除店铺" }, { "module": "Shop / Store", "action": "StoreStyle", "occurrence": 1, "status": "implemented", "reason": "已由 storeStyles 帐套隔离分页和关键词检索替代" }, { "module": "Shop / Store", "action": "Style_API", "occurrence": 1, "status": "implemented", "reason": "已由 storeBatch 覆盖带店铺引用保护的样式删除" }, { "module": "Shop / Store", "action": "StoreStyleAdd", "occurrence": 1, "status": "partial", "reason": "现有店铺样式编辑页已迁移;新增因旧 id 无法持久化而阻塞" }, { "module": "Shop / Store", "action": "StoreStyleAdd_Submit", "occurrence": 1, "status": "partial", "reason": "现有样式由 saveStoreStyle 白名单更新模板路径、缩略图与说明;新增明确阻塞" }, { "module": "Shop / Store", "action": "StoreUpdate", "occurrence": 1, "status": "partial", "reason": "现有店铺资料、所属账号和样式编辑页已迁移;旧模型 6 创建链缺失" }, { "module": "Shop / Store", "action": "StoreUpdate_Submit", "occurrence": 1, "status": "partial", "reason": "现有店铺由 saveStoreApplication 校验同帐套用户和样式后更新;新增明确阻塞" }, { "module": "Shop / Store", "action": "Product", "occurrence": 1, "status": "blocked-data", "reason": "旧 ZL_Commodities 商品主表缺失,目标 Product/StoreProduct 只有扩展碎片,无法重建商品列表" }, { "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": "implemented", "reason": "已由 surveys 按帐套、状态和关键词分页读取旧 DesignAsk 问卷" }, { "module": "Extend / Survey", "action": "Survey_API", "occurrence": 1, "status": "implemented", "reason": "已由 surveyBatch 覆盖问卷启停/删除及答卷嵌入明细删除" }, { "module": "Extend / Survey", "action": "SurveyAdd", "occurrence": 1, "status": "partial", "reason": "现有问卷编辑页已迁移;新增因旧 id 无法持久化而明确阻塞" }, { "module": "Extend / Survey", "action": "SurveyAdd_Submit", "occurrence": 1, "status": "partial", "reason": "现有问卷由 saveSurvey 校验时间、状态和访问设置后更新;新增明确阻塞" }, { "module": "Extend / Survey", "action": "SurveyItemList", "occurrence": 1, "status": "implemented", "reason": "已由 surveyQuestions 校验问卷归属后按排序分页读取题目" }, { "module": "Extend / Survey", "action": "SurveyItemAdd", "occurrence": 1, "status": "partial", "reason": "现有题目编辑页已迁移;新增因旧 id 无法持久化而明确阻塞" }, { "module": "Extend / Survey", "action": "SurveyItemAdd_Submit", "occurrence": 1, "status": "partial", "reason": "现有题目由 saveSurveyQuestion 校验题型、选项和扩展 JSON 后更新;新增明确阻塞" }, { "module": "Extend / Survey", "action": "SurveyItem_API", "occurrence": 1, "status": "implemented", "reason": "已由 surveyBatch 覆盖题目删除和按选择顺序重排" }, { "module": "Extend / Survey", "action": "SurveyResultChart", "occurrence": 1, "status": "implemented", "reason": "已由 surveyResultChart 从旧 answer JSON 安全聚合选项计数并报告不可解析答卷" }, { "module": "Extend / Survey", "action": "SurveyResultList", "occurrence": 1, "status": "implemented", "reason": "已由 surveyResults 提供帐套与问卷隔离的答卷分页和只读详情" }, { "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": "尚未逐项迁移或完成等价性核验" } ];