Contents

附录 B 接口与数据清单

本文披露宿舍管理系统的接口与数据清单:71个控制器、795个端点、四端139个页面、91个业务实体,并给出端点计量的三条口径纪律与各项能力边界。

  • 实测总量:71个控制器、795个端点、四端139个页面
  • 端点按方法特性逐条计,不按URL去重
  • 实时通道、内部工具与前端组件接口不计入795
  • 连接器5个是已实证框架,不是覆盖上限
  • 大模型只出建议不执行操作,每次触发留审计

明·如归 · 宿舍管理白皮书 | 附录

说明:本清单如实披露接口层与数据层的分块口径与总量。所有数字都是 2026-09-21 当日实测,代码库继续演进的以最新一次统计为准。统计一律排除 bin/ obj/ node_modules/ dist/ 目录

B.1 后端接口层

总量71 个控制器 · 795 个端点

  • 端点计数方式:按网络接口方法特性声明(HttpGet / HttpPost / HttpPut / HttpDelete / HttpPatch)逐条计数;不是"业务动作数",也不是"URL 去重数"。同一 URL 前缀下的 GET 列表、GET 详情、POST 新增、PUT 更新、DELETE 删除分别计 5 条。
  • 控制器计数方式:按后端控制器目录里的 *.cs 文件计;不含实时通道目录里的两个通道集线器(另算 2 个)。
  • 不构成"纯后台数":管理端与教师端与学生端与移动端共用同一后端,端点里包含所有前端消费的接口。

按模块分布(每模块一个或多个控制器):

模块控制器主要端点范围
住宿资源4 个建筑、楼层、房间、床位、户型、物资、收费
住宿分配5 个分配、批次、床位视图、变更记录、统计
新入住预分配2 个批次管理、规则配置、五步流程、智能预排
人员信息3 个学生、教师、账号、历史人员
外出与请假1 个请假申请、销假、审批链
在住与考勤3 个考勤日志、自动考勤、假日与考勤日型
住宿变更1 个调宿申请、退住办理、走读
检查与评级3 个检查记录、评分、星级、奖惩
设施服务3 个设备台账、报修工单、评价
通知公告1 个消息管理、订阅、公告
系统与配置6 个学校组织、字典、枚举、字段元数据、菜单权限、角色
治理与判断4 个质量规则、问题工作台、归寝异常、审计日志
集成与开放4 个连接器、开放接口客户端、事件回调、地图配置
定时任务与调度1 个处理器目录、执行历史、手动执行
统计与大屏3 个概览、趋势、下钻、大屏聚合
报告与导出2 个报表、异步导出、字段清单
一人一档与画像2 个360 画像、住宿履历
其他与上合并计入应急联系人、假单、暂不考勤、认证

合计 71 控制器 · 795 端点。任何单一投标承诺里出现"某某接口"必须能指到具体控制器与端点名。

B.2 实时推送通道

2 个 Hub

  • 通知 Hub:站内信、预警告警、系统公告的实时送达。
  • 大屏 Hub:定时推送统计口径到实时的可视化界面。

边界:两条实时通道是本系统内的即时消息通道,不承诺微信/企业微信消息推送、短信、邮件——那些通道在通道注册接口上标记为"预留未启用"。

B.3 前端页面

总量四端合计 139 个页面

  • 管理端(100 页):住宿资源、住宿分配、预分配、人员、请假、考勤、变更、评级、设施、通知、系统配置、治理工作台、开放接口、日志审计、地图、字段元数据、大屏。
  • 移动端(20 页):我的宿舍、打卡、考勤、请假、调宿、报修、评价、消息、画像。
  • 教师端(9 页):工作台、在住登记、巡查、审批、评分、统计、报修审批、人员查询、预警。
  • 学生端(7 页):我的住宿、我的登记、外出申请、住宿调整、服务评价、消息、画像。
  • 通用页(3 页):登录、403、404。

统计方式:按前端 src/views/**/*.vue 匹配计。组件文件(src/components/)与布局文件(src/layouts/)不入这 139 页。

B.4 数据层

  • 业务实体91 个(表前缀 app_)。口径为数据上下文里的实体集合声明去重。
  • 业务管理器111 个(含成员相关 7 个)。口径为 Domain/Managers/ 实测。
  • 数据模型与传输对象文件115 个。口径为 Domain/Models/ 实测。
  • 幂等迁移脚本18 个。口径为 Domain/Migrations/*.sql 实测。启动时自动按序执行。
  • 权限码:后端在用的去重 55 个;菜单权限目录收录 57 项。前者是实际拦截值、后者是目录展示值。

边界与不做

  • 字段级加密:当前仅覆盖口令与最小必要项;扩面按投产前批次推进。禁写"字段级全面加密"
  • 增量同步:当前实现为按锚点全量比对、幂等复跑。禁写"实时增量";时间戳与游标列按批次补齐。
  • 设备侧数据:只接受设备识别结果作为考勤来源之一;不写设备侧算法与识别精度。

B.5 集成连接器与外部接口

5 个连接器

连接器用途依赖
通用接口门禁对接符合通用网络协议的门禁设备设备侧接口文档
海康威视 ISAPI海康设备的事件订阅与日志拉取设备凭据与网络可达
OIDC 身份学校统一身份 OpenID Connect学校身份源端点与客户端凭据
CAS 身份学校统一身份 CAS 票据学校 CAS 服务端
教务学籍同步学生、教师、组织架构定时拉取教务源接口与查询权限

事件回调派发:带哈希签名,接收端可验证真实来源;派发失败进重试与执行历史。

地图服务 5 家:OpenStreetMap、CARTO 内置不可删;天地图、高德、百度由管理员配钥;同时仅一家启用;WGS84/GCJ02/BD09 三套坐标互转。

B.6 智能化能力接口

大模型四出口(当前为确定性测试桩,真实模型接入按投产前批次):

出口输入输出
分配解释一次预排的输入参数与结果摘要自然语言解释
约束式自然语言查询一句自然语言结构化查询条件(人工点击执行才跑)
问数一句问句只读查询结果(三把白名单:异常、质量、住宿)
周报草稿一周的告警与处理数据结构化摘要(发布前人工确认)

共同纪律:模型只出建议、不执行操作;操作由人点击确认触发;每一次触发留审计。

B.7 政策与合规可核验清单

政策原文名与文号的引用规范见附录 D。本附录仅列接口与数据层能直接对应到政策要求的三条:

  • 数据分类分级:三级分层、四类脱敏、字段级加密(按批次)、导出留痕。
  • 个人信息保护:默认脱敏、显式查看才还原、每次还原入操作日志;导出走权限校验、字段清单与行数留痕。
  • 安全生产留痕:操作日志带执行者、时刻、目标记录、字段前后快照;导出可回查"谁在什么时候拿过什么"。

任何一条超出接口与数据层的能力承诺,都应在合同上写清由谁负责、什么时候交付、按什么标准验收——不写在合同上就是不做。

B.8 端点计量的三条口径纪律

795 端点这个数字看起来直接、但同一套代码在不同统计口径下会得到不同数字。附录里的这个数字遵守三条纪律:

纪律一:按方法特性逐条计、不按 URL 去重。同一个 /api/student 前缀下、GET 列表、GET 详情、POST 新增、PUT 更新、DELETE 删除分别计 5 条端点。有的厂商按 URL 去重把 5 条算作 1 条、报出"我们只有 160 个 URL"——这个数字看起来少、实际上代码规模一样。学校评估时统一按方法特性逐条计。

纪律二:不含实时通道、不含内部工具接口。两个实时通道集线器(消息中心、大屏推送)不计入 795;数据同步工具接口、健康检查接口、调试接口不计入 795。795 只算业务读写接口

纪律三:不含前端组件接口。前端框架内部使用的下拉数据源、字典查询、日期选择器接口、通用组件调用接口不计入 795。795 只算业务侧真实功能接口

这三条纪律在附录 A/B/C 全表通用。如果一份白皮书里的"1000 端点"、"200 页面"没写清口径、这个数字没有意义。

B.9 三条关于接口清单的常见误解

误解一:端点越多系统越强。恰恰相反——端点越多意味着前端调用越复杂、维护成本越高。同一件事用一个组合端点做完、和用五个原子端点串起来做完、从用户角度是一件事、从维护角度是五倍工作量。健康的端点数量是"每一个端点都能明确对应一个业务动作"——不是越多越好、也不是越少越好。

误解二:连接器 5 个不够。5 个连接器是已实证的——每一所学校的实际接入都需要在这个框架下扩展具体设备与厂商。"5 个连接器"是产品框架、不是覆盖上限。学校评估时不要问"你们能不能接 XX 品牌门禁"、要问"你们接一个新品牌的实施工作量是多少"——答案是"配置字段映射 + 测试连接"就通过、答案是"要改代码"就不通过

误解三:139 页 = 用户能看到的界面。139 页包括管理端 100 + 移动端 20 + 教师端 9 + 学生端 7 + 通用 3。管理端 100 页里有大量配置页与查询页、真正高频操作的页面在 20 个以内学校培训时按高频页面优先、不要指望宿管一次学完 100 页

这份清单不是使用说明书,是给评审、监理、审计留的对账工具