看板
监控总览
|
-- / --
后台检测中
代理检测中
授权检测中
最后更新 --
当前运行任务
PID: --当前部门
--
当前阶段
--
当前批次处理课程
--
查询到外校
--
白名单命中
--
跳过外校
--
白名单命中外校名称
--
Match 提示
--
新增外校补采
--
--
部门结果产出排行
匹配外校排行
待跑部门
采集明细
--
| 部门 | 课程代码 | 课程标题 | 状态 | 结果数 | 断点 | 错误信息 |
|---|
第 -- / -- 页
课程补跑 / 异常重跑
先选择范围并预览,确认后会把命中的课程重新排队;不清理落库时只补缺。
当前异常课程
--
| 部门 | 课程代码 | 课程标题 | 结果数 | 断点 | 错误信息 |
|---|
落库明细
--
| 本校名称 | 本校学院 | 本校课号 | 本校课名 | 外校课名 | 外校课号 |
|---|
第 -- / -- 页
实时查询
选择本校、学期和本校课号,查询已落库的外校课程对应关系
查询结果
--
| 本校名称 | 学期 | 本校课号 | 本校课名 | 外校名称 | 外校课程号 |
|---|---|---|---|---|---|
| 请输入本校课号并点击查询 | |||||
第 0 / 0 页
接口文档
对外查询接口分为已落库缓存查询和 Transferology 实时查询两种模式。
适合已采集完成的课程查询,速度快,不消耗 Transferology 账号。
请求
GET /api/public/equivs?mode=cached&homeSchoolName=University%20of%20Minnesota%20Twin%20Cities&courseCode=COMM1101&page=1&pageSize=50
GET /api/public/equivs?mode=cached&homeSchoolName=University%20of%20Wisconsin-Madison&termCode=202604&courseCode=MATH96
参数
mode=cached:缓存查询模式homeSchoolName:本校名称,用户默认只需传这个termCode:可选,不传则默认查该本校最新已采集学期courseCode:本校课号,例如COMM1101page/pageSize:分页参数targetId/homeUniq:高级参数,仅在同名学校或需精确指定历史 target 时使用
在线调试
等待请求...
适合客户先获取某个本校当前已缓存的课程号,再按课程号查询等价关系。默认不传本校名称时,使用当前任务配置的本校;不传学期时,使用该本校最新已采集学期。
请求
GET /api/public/home-courses?homeSchoolName=Boston%20University&page=1&pageSize=50
GET /api/public/home-courses?targetId=bu__202607&pageLimit=100
参数
homeSchoolName:本校名称,非必填;不传则默认当前任务配置的本校termCode/termLabel:可选;用于指定学期;都不传则返回该本校最新已采集学期page:页码,默认 1pageSize/pageLimit:每页数量;两者都支持,pageLimit作为兼容别名targetId/homeUniq:高级参数,用于精确指定学校或历史 targetsearch/q:可选,按部门、课号或课程名模糊过滤;q是兼容别名
返回示例
{
"ok": true,
"available": true,
"dbPath": ".../transferology_unified.db",
"targetId": "bu__202607",
"target": {},
"homeSchoolName": "Boston University",
"homeUniq": "BU",
"termLabel": "Summer 2026",
"termCode": "202607",
"page": 1,
"pageSize": 50,
"pageLimit": 50,
"totalPages": 8,
"total": 390,
"rows": [
{
"courseKey": "CAS BI:CAS BI211",
"department": "CAS BI",
"departmentTitle": "Biology",
"courseCode": "CAS BI211",
"courseTitle": "Human Physiology",
"hours": "4",
"completed": true,
"resultCount": 12,
"lastError": ""
}
],
"message": ""
}
在线调试
等待请求...
适合查未落库或需要立即验证的课程。该模式会登录 Transferology 实时解析,提交后返回 jobId。
请求
POST /api/public/equivs/live
Content-Type: application/json
{
"homeSchoolName": "University of Wisconsin-Madison",
"termMode": "latest",
"courseCodes": ["MATH96", "MATH221"],
"allowlistFilter": true
}
参数
homeSchoolName:本校名称,通常填写;如已传homeUniq/schoolId/targetId,可省略;未指定时后端自动解析 UNIQ / schoolIdtermMode:latest或manual;不传默认latesthomeUniq/schoolId/targetId:高级定位参数,提供后可跳过名称解析,适合精确指定历史 targettermLabel/termCode:可选,manual时至少传一个;例如Summer 2026或202607;缺失时回退到latestcourseCodes:可传数组,也可传逗号分隔字符串allowlistFilter:是否按白名单外校过滤,默认 truetimeoutSeconds:单个 Transferology 请求超时时间,默认 7200 秒,最小 60 秒
成功返回
{
"ok": true,
"jobId": "live_abc123",
"status": "queued",
"homeSchoolName": "University of Wisconsin-Madison",
"termMode": "latest",
"termLabel": "",
"termCode": "202604",
"courseCodes": ["MATH96", "MATH221"],
"totalCourses": 2,
"finishedCourses": 0,
"message": "Live query has been queued"
}
在线调试
等待请求...
实时查询启动后,使用 jobId 轮询任务进度和结果。
请求
GET /api/public/equivs/live/<jobId>?page=1&pageSize=50
返回
{
"ok": true,
"jobId": "live_xxx",
"status": "queued | running | completed | failed | not_found",
"createdAt": "2026-09-18T10:30:00",
"updatedAt": "2026-09-18T10:30:00",
"homeSchoolName": "University of Wisconsin-Madison",
"homeUniq": "WISC",
"schoolId": "12345",
"termMode": "latest",
"termLabel": "",
"termCode": "202604",
"allowlistFilter": true,
"targetId": "wisc__202604",
"target": {},
"courseCodes": ["MATH96", "MATH221"],
"courseCode": "MATH96,MATH221",
"totalCourses": 2,
"finishedCourses": 0,
"page": 1,
"pageSize": 50,
"totalPages": 0,
"total": 0,
"rows": [],
"errors": [],
"diagnostics": {},
"message": "Live query has been queued"
}
not_found 时接口返回 HTTP 404;其他状态通常返回 HTTP 200。
在线调试
等待请求...
白名单外校排行
--
第 0 / 0 页
外校白名单管理
这里新增的外校会写入统一 SQLite,采集时会和旧 Excel 白名单自动合并;VPS 上后续新增外校不用再手动改 Excel。
动态外校白名单
--
| 选择 | 外校名称 | 状态 | 来源 | 更新时间 | 操作 |
|---|---|---|---|---|---|
| 加载中... | |||||
第 0 / 0 页
代理配置
读取中
批量模式可直接粘贴 Evomi 生成的多行代理;单节点模式用于 Bright Data 等临时代理。保存后会生成项目可用的代理池文件并自动启用,密码不会在页面或接口中回显。
已保存代理池
可直接切换,不会重写代理文件。
正在读取已保存代理池。
Evomi 批量导入
在 Evomi 点击 Copy all 后直接粘贴到下面。支持带或不带
http:// 前缀,也兼容复制内容中的行号;重复代理会自动去重。
Bright Data / 单节点
适合临时代理。固定 IP 或国家参数会自动追加到 Bright Data 用户名中。
连通性结果
代理出口
尚未测试
Transferology
尚未测试
账号与代理
账号注册批次
0%
待命
成功率 --
成功 --
失败 --
库存 --
总耗时 --
平均 --
账号注册配置
实时运行日志
PID: --
注册任务未运行
点击“启动注册”后,这里会显示当前正在等待什么。
账号库存
--
--
| # | 邮箱 | 密码 | 状态 | 姓名 | 创建时间 | 使用时间 | 使用任务 |
|---|
第 -- / -- 页
本校元数据导入
上传学校名单 Excel 后会立即返回,后台异步解析学校 UNIQ 和 schoolId;解析结果会缓存,后续搜索和新增本校都会优先使用缓存。
| 任务 | 文件 | 状态 | 总数 | 已解析 | 待确认 | 未找到 | 失败 | 更新时间 | 操作 | 说明 |
|---|
第 -- / -- 页
导入明细
点击上方某个导入任务后,这里展示该任务每一所学校的解析状态。
| 输入学校名 | 状态 | 匹配学校 | UNIQ | schoolId | 说明 |
|---|
第 -- / -- 页
本校元数据查询
输入学校名、UNIQ 或 schoolId 查询已缓存的本校元数据;后续客户新增学校也可以先在导入页异步解析,再来这里确认结果。
| 输入学校名 | 状态 | 匹配学校 | UNIQ | schoolId | 来源 | 更新时间 | 说明 |
|---|
第 -- / -- 页
任务配置
当前任务配置由“本校队列”动态生成。选择一所本校后,UNIQ、schoolId、slug、缓存目录、导出文件名和最新学期均由系统自动处理,不需要手动修改。
添加本校
本校队列
| # | 本校名称 | UNIQ | schoolId | 状态 | 最新学期 | target_id | 操作 |
|---|