Files
edu-industry/admin-tools/demo/README.md
T
lofyerandfactory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com> b9fbd4c6af refactor: simplify product copy
Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
2026-08-25 11:37:59 +08:00

8.9 KiB
Raw Blame History

产教数据中台,厂商运营原型

本目录展示厂商如何管理招聘数据采集、检查、发布和学校交付。数据来源包括商业招聘平台、公共就业平台和校内系统。

运行

直接打开 index.html,或在本目录启动静态服务:

python3 -m http.server 8080

访问 http://localhost:8080。

产品定位

该页面用于管理产教分析所需的数据:

  1. 注册和版本化管理商业、公共、校内三类数据源;
  2. 调度采集任务,管理地域、行业、岗位族、分片、失败隔离和增量水位;
  3. 保存原始快照、内容哈希、连接器代码版本和任务追踪编号;
  4. 将不同来源映射到统一的招聘岗位、企业、薪资和技能契约;
  5. 执行质量校验、企业归一、岗位分类和技能抽取;
  6. 通过带 Manifest、Schema、质量报告、血缘和校验和的数据包向学校交付。

已纳入的目标数据源

类别 数据源 生产接入方式 目标数据
商业平台 BOSS直聘 官方合作 API / 授权数据包 岗位、企业、地区、薪资、岗位职责、技能
商业平台 智联招聘 官方合作 API / 书面授权数据包 岗位、企业、地区、薪资、岗位职责、技能
公共平台 全国中小企业招聘平台 官方接口优先;获准公开页 中小企业岗位、校招、实习和招聘活动
公共平台 国家大学生就业服务平台 官方接口优先;获准公开页 高校毕业生岗位、专场招聘和实习
公共平台 中国公共招聘网 官方交换 / 提供单位授权 公共就业岗位、重点行业和招聘活动
公共平台 国聘 官方合作 API / 授权数据包 国资央企岗位和校园招聘
公共平台 杭州人才网 书面许可接口 / 低速公开页 杭州都市圈企业和岗位
校内系统 就业管理系统 租户只读视图 / API / 文件 毕业去向、岗位、企业、薪资和专业相关度
校内系统 实习管理系统 租户 API / 文件 实习岗位、企业、工资、过程和企业评价

页面上的“正式运行”、记录数、成功率和时间线均为静态产品样板数据,不代表仓库当前正在访问这些站点。生产连接器默认禁止公网访问,必须完成来源授权、robots、域名白名单、限速和小样本结构审批后才能启用。逐来源方案见 ../../docs/crawler-source-implementation.md,实现位于 ../crawler/。

交互范围

  • 运行总览:生产批次、采集量、质量、来源健康度、流水线和运营事项。
  • 运营处置:问题确认与指派、排障、不可变质量处置、独立发布审批、逐学校交付回执、失败重试与租户级回滚。
  • 数据源管理:来源分类、搜索、资产详情、采集配置、字段映射、运行与审计。
  • 采集任务:筛选、任务详情、暂停/恢复、新建任务和小样本预检。
  • 采集数据:查看标准岗位、源端记录、原始快照和隔离记录,支持来源、地区、关键词检索、明细追溯和结果导出。
  • 数据标准:外部岗位、校内就业、交付 Manifest 三套版本化契约。
  • 导入与导出:文件拖放、CSV 头部预检、样例下载、Manifest 生成和记录导出。
  • 质量与归一:质量规则、发布阈值、岗位别名人工确认和批量处理。
  • 审计与交付:采集、质量、发布、导入导出事件及相关记录。

可重复演示流程

“运营处置”提供一条刷新后仍可继续的示例流程:

告警 → 确认 → 指派 → 开始排障
     → 修复并重放 → 记录数 / 规则 / 复核签名 VERIFIED
     → 豁免 / 丢弃 → REVIEWED_BLOCKED,继续阻断
     → REL-20260823-01 候选版本 → 生成候选 Manifest → 提交后不可修改
     → 独立审批人批准 / 驳回 → 发布
     → 逐学校发送状态 → 记录数 + SHA-256 回执
     → ACKNOWLEDGED / 单校失败重试 / 单租户回滚
     → 全局回滚申请 → 独立回滚审批 → 执行稳定别名回滚
  • 杭州人才网问题 ISSUE-HZRC-20260823-01 可走完上述流程。只有最后一次处置是 FIX_REPLAY,且重放记录数一致、质量规则通过、复核签名存在时,候选版本的发布质量检查才进入 PASS。
  • WAIVE 与 DISCARD 的独立复核会写入 REVIEWED_BLOCKED,分别提示另行风险审批或重建候选,不会复用 VERIFIED/PASS。
  • 发布申请人默认为陈致远,审批人若选择同一人会被四眼规则阻止。
  • 候选版本必须通过发布质量检查并生成 Manifest 后才能提交;审批期间 Manifest 不可修改,驳回后返回草稿并使旧候选失效。
  • 候选 Manifest 使用输入指纹保证重复生成幂等;产品、租户、截止日期、格式、质量处置和交付摘要未变化时复用原候选,不重复写审计或交换日志。
  • 候选版本、数据版本和包分别为 REL-20260823-01、V2026.08.23、EDU-PKG-20260823-01。
  • 杭州科技职业技术学院使用共享标识 TENANT-HZVTC。另外展示浙江机电职业技术大学和宁波城市职业技术学院,交付状态按租户隔离。
  • 原型仓库使用 localStorage 命名空间 eduIndustry.vendorOperations.v1,当前 schemaVersion=2,包含 issues、workOrders、qualityDispositions、releases、approvals、deliveries、auditEvents。页面提供“重置演示数据”恢复种子。
  • PACKAGE-MANIFEST V1.2 新增 release_id 和 release_status,并按三个租户输出彼此独立的记录数与 SHA-256 文件项。候选 Manifest 保持 DRAFT,正式发布时生成 PUBLISHED Manifest,approval_reference 固定引用 APPROVED 审批单。
  • 全局回滚和单租户回滚分开办理。全局回滚必须填写原因,并由另一名审批人批准后才可执行;审计记录保存目标稳定版本、审批引用和执行时确定的影响范围,执行过程中不得扩大范围。
  • 静态演示的审计、质量处置、问题时间线和交换日志采用明确保留上限;正式系统必须使用服务端分页、归档和 WORM 审计。

静态跨端边界

本目录是厂商端静态 SPA 原型,与仓库根目录下的校园端 /demo/ 没有运行时连接。双方仅通过约定标识(TENANT-HZVTC、EDU-PKG-20260823-01、V2026.08.23)对照展示,不共享浏览器存储,也不通过静态页面传输数据。

按钮中的发送、回执、重试与回滚均为本地状态机模拟:不会访问学校接口、不会写入校园端,也不会发送数据。正式跨端同步必须由服务端 API 完成身份校验、签名、重复请求处理和操作记录。

标准文件

  • schemas/external-job-source.schema.json
    • JOB-SIGNAL V3.0
    • 商业和公共招聘平台的统一岗位信号契约
  • schemas/school-employment.schema.json
    • SCHOOL-EMPLOYMENT V2.2
    • 校内就业数据契约,包含租户隔离和学生令牌化要求
  • schemas/school-internship.schema.json
    • SCHOOL-INTERNSHIP V2.1
    • 校内实习数据契约,包含租户隔离、学生令牌化、岗位任务和评价记录
  • schemas/package-manifest.schema.json
    • PACKAGE-MANIFEST V1.2
    • 版本化导入、导出和学校交付包清单
  • samples/external-job-sample.csv
    • 可在“导入与导出”页面上传并执行前端结构预检

“可生产”的含义

原型已将正式产品必须具备的对象、状态和证据做进界面与标准,但静态页面不直接执行公网采集。正式后端应实现:

  • 独立连接器运行时与容器化任务;
  • 消息队列、分片调度、租约、心跳和重试;
  • 原始对象存储、解析层、标准层和交付层分区;
  • 密钥管理、网络出口、源端策略和任务限额;
  • PostgreSQL 元数据、审计事件和数据版本;
  • Schema Registry、质量引擎、岗位与企业归一服务;
  • 数据包签名、租户范围校验和可回滚发布。
  • 问题与工单 API、质量处置不可变事件 API、独立审批 API、版本别名发布/回滚 API;
  • 按租户幂等交付 API、回执验签 API、失败隔离与单租户重试/回滚 API;
  • 服务端强制状态迁移、RBAC/职责分离、并发版本控制与 WORM 审计,不能信任浏览器 localStorage。

详细实现建议见 PRODUCTION_ARCHITECTURE.md。

验收建议

  • 桌面:1440 × 900
  • 移动:390 × 844
  • 可见业务文字不小于 13px
  • 页面级无横向溢出,宽表仅在自身容器内横向滚动
  • 所有深层按钮必须打开业务内容或改变列表状态
  • JavaScript 语法检查:node --check app.js
  • JSON 文件检查:python3 -m json.tool <file>

运营流程预览:

  • preview-admin-operations.png
  • preview-admin-operations-mobile.png