一分一段表
接口概述
| 项目 |
内容 |
| 接口名称 |
一分一段表 |
| 用途 |
查询各省份高考成绩一分一段分布数据,支持列表查询、个人位次查询及下拉选项获取 |
1. 一分一段表列表
请求路径
POST /api/v1/seating/list
请求方法
POST
请求参数
| 参数名 |
类型 |
是否必填 |
说明 |
| province |
string |
否 |
省份名称,如"北京" |
| year |
string |
否 |
年份,如"2025";为空时自动取最新年份 |
| km |
string |
否 |
科类,如"综合";为空时自动取该年份第一个科类 |
枚举值说明
km(科类)常见取值:
综合
物理类、历史类
理科、文科
体育文、体育理、体育类
艺术文、艺术理、艺术类
蒙授文科、蒙授理科
可通过 POST /api/v1/meta/subjects 接口,传入 { province, year, source: "yifenyiduan" } 动态获取该省份+年份下实际有数据的科目列表。
返回结构
{
"code": 200,
"message": "success",
"data": {
"list": [
{ "score": "698-750", "num": "113", "total": 113 }
],
"options": {
"year_list": ["2025", "2024", "2023"],
"km_list": ["综合"]
},
"current": {
"year": "2025",
"km": "综合",
"province": "北京"
}
}
}
返回字段说明
| 字段路径 |
类型 |
说明 |
| code |
number |
状态码,200为成功 |
| message |
string |
提示信息 |
| data.list |
array |
一分一段数据列表,按rank降序排列 |
| data.list[].score |
string |
分数(可能为区间,如"698-750") |
| data.list[].num |
string |
本段人数 |
| data.list[].total |
number |
累计人数(即真实位次) |
| data.options.year_list |
string[] |
该省份可用的年份列表(降序) |
| data.options.km_list |
string[] |
当前年份可用的科类列表 |
| data.current.year |
string |
当前选中的年份 |
| data.current.km |
string |
当前选中的科类 |
| data.current.province |
string |
当前选中的省份 |
调用示例
curl -X POST http://localhost:3666/api/v1/seating/list \
-H "Content-Type: application/json" \
-d '{"province":"北京","year":"2025","km":"综合"}'
注意事项
- 当
year 为空时,系统会自动选择该省份的最新年份
- 当
km 为空时,系统会自动选择当前年份的第一个科类
- 返回的
list 为完整列表,不做分页
- 数据按
rank 字段降序排列(高分在前)
2. 获取一分一段数据(含我的位次)
请求路径
POST /api/v1/seating/seating
请求方法
POST
请求参数
| 参数名 |
类型 |
是否必填 |
说明 |
| province |
string |
是 |
省份名称 |
| year |
string |
否 |
年份 |
| km |
string |
否 |
科类,支持简写映射(如"物理"映射为["物理类","理科"]) |
请求头
| 头字段 |
是否必填 |
说明 |
| Authorization |
否 |
Bearer Token,如携带且有效,会自动查询该用户的分数计算位次 |
返回结构
{
"code": 200,
"message": "success",
"data": {
"my_seating": {
"even_num": 23,
"seating_sec": "136~148"
},
"arr": [
{ "score": "698-750", "num": "113", "total": 113 }
]
}
}
返回字段说明
| 字段路径 |
类型 |
说明 |
| data.my_seating |
object/null |
我的位次信息(未登录或无分数时为null) |
| data.my_seating.even_num |
number |
同分人数 |
| data.my_seating.seating_sec |
string |
位次区间,如"136~148" |
| data.arr |
array |
完整的一分一段数据列表 |
| data.arr[].score |
string |
分数 |
| data.arr[].num |
string |
本段人数 |
| data.arr[].total |
number |
累计人数 |
km 简写映射规则
| 传入值 |
实际查询的科类 |
| 物理 |
物理类、理科 |
| 历史 |
历史类、文科 |
| 综合 |
综合 |
| 体育 |
体育文、体育理、体育类 |
| 艺术 |
艺术文、艺术理、艺术类 |
| 蒙授 |
蒙授文科、蒙授理科 |
调用示例
curl -X POST http://localhost:3666/api/v1/seating/seating \
-H "Content-Type: application/json" \
-d '{"province":"北京","year":"2025","km":"综合"}'
注意事项
- 该接口支持匿名访问;如携带有效Token,会自动关联用户分数计算位次
- 当查不到数据且没有位次信息时,返回空数组
[]
3. 一分一段下拉选项
请求路径
POST /api/v1/seating/option
请求方法
POST
请求参数
| 参数名 |
类型 |
是否必填 |
说明 |
| province |
string |
否 |
省份名称;为空时返回所有数据 |
返回结构
{
"code": 200,
"message": "success",
"data": {
"km_list": ["物理", "历史", "文科", "理科", "综合"],
"level_list": ["本科批", "专科批"],
"province_list": ["北京", "上海", "广东"],
"year_list": ["2025", "2024", "2023"]
}
}
返回字段说明
| 字段路径 |
类型 |
说明 |
| data.km_list |
string[] |
科类列表,已去除"类"后缀,物理/历史优先排序 |
| data.level_list |
string[] |
批次/层次列表 |
| data.province_list |
string[] |
所有省份列表(始终返回全部省份) |
| data.year_list |
string[] |
年份列表(降序) |
调用示例
curl -X POST http://localhost:3666/api/v1/seating/option \
-H "Content-Type: application/json" \
-d '{"province":"北京"}'
注意事项
province_list 始终返回全部省份,不受传入的 province 参数限制
km_list 会去除末尾的"类"字(如"物理类"变为"物理")
km_list 排序规则:物理、历史优先,其余按字母排序