.sln、.csproj 与原始 Razor 管理页面源码。ZoomLaCMS.dll 可恢复 79 个后台控制器、至少 1,042 个公开动作;详细清单见 legacy-admin-inventory.generated.md。7pIbDBJmKx_main,当前可见 109 个 Schema,其中 96 个为 SQL Server 规范化迁移目标类。CommonModel 92,435、VocabularyWord 89,620、NodeAuth 5,935、PracticeRecord 816、CourseAppointment 345、DailyStudyRecord 108、LessonRecord 82。Function 表为空;本阶段已部署 9 个云函数。/admin,包含独立登录、后台布局、概览、动态 Schema 表格、动态编辑表单、分页、搜索、软删除和迁移状态页。xiaoshu.app.gateway/migration_status,动态显示已实现 action 数量及完整阻塞原因清单,不再使用前端硬编码阻塞计数。sessionToken;masterKey 只在部署进程中使用。company 帐套、类白名单、字段白名单和敏感字段过滤。_Session 不开放,Function 源码不开放通用查询或编辑;用户密码只允许专用重置操作。xiaoshu.app.gateway 已覆盖旧 H5 源码的全部 91 个 action:28 个已映射,源码清单内 63 个显式返回 501 阻塞原因;动态调用的兼容 action content_add_zt 也已映射,product_add、product_upd 仍显式阻塞,因此线上为 29 个已实现、65 个阻塞项。经典注册/资料更新、课程词库进度、六类余额/积分账本读取、学习次数/生词状态、直属团队/VIP 统计、陪练预约学员分组、15 段复习计划、7 类规范化内容新增/更新、预约状态/课时账本/抗遗忘批量创建及旧版统计公式均已完成;缺主表的商品读取、缺短信校验的密码重置及其他缺副表模型继续按请求明确 501。详见 wxapp-cloud-action-matrix.md。isDeleted 在部分物理表与 Parse Schema 不一致,把它放入 Parse 查询条件会返回 500;网关改为公司条件查询后在结果侧兼容过滤。| 旧对象 | 云函数替代 | 状态 | 说明 |
|---|---|---|---|
ZL_StripeHtmlTag、ZL_StripeTrimstr |
cms.content-normalizer |
已实现 | 保守转换为纯文本,覆盖脚本、样式、实体和空白 |
ZL_EX_UserView |
cms.users.extended |
已实现 | 过滤密码、哈希、会话、Token 与 Secret |
ZL_Exam_ClassView |
cms.exams.classes |
已实现基础投影 | 当前目标类缺少可证明的学校/年级 Pointer 时不伪造关联 |
ZL_Guest_BarView |
cms.guest.bar |
已实现基础投影 | 支持帐套与分页 |
ZL_SearchView |
cms.search |
已实现 | 搜索 CommonModel 并清理输出 HTML |
ZL_User_PlatView |
cms.users.platform |
已实现 | 使用合并进 _User 的 legacy 平台资料 |
ZL_User_WXView |
cms.users.wechat |
已实现 | 使用合并进 _User 的微信资料并过滤密钥 |
ZL_CartProView |
— | 数据阻塞 | 目标 Schema 无购物车类,且迁移登记没有可用行 |
ZL_Order_PayedView |
— | 数据阻塞 | 目标 Schema 无订单/支付明细类 |
ZL_Order_ProSaleView |
— | 数据阻塞 | 目标 Schema 无订单商品明细类 |
ZL_Order_ShareView |
— | 数据阻塞 | 目标 Schema 无订单分享关系类 |
ZL_Plat_BlogView |
— | 数据阻塞 | 目标 Schema 无博客正文/回复类 |
动态 Schema CRUD 覆盖的是规范化业务数据管理能力,不代表旧后台 1,042 个动作已逐页复刻。考试组卷、微信配置、订单支付、模板编辑、数据库备份、站点集群、PowerShell、文件管理等必须逐项判断:
线上 435 个 _User 在核验时没有任何 isAdmin=true、role=admin 或 adminRoleKey 管理员。系统因此默认不可登录管理端。上线前必须由持有 Parse masterKey 的部署人员为明确指定的现有用户设置:
isAdmin: trueroles: ["admin"]company: Pointer<Company>跨帐套管理员才可设置 adminRoleKey: "super-admin";不允许从浏览器执行管理员提权。