2025-06-27 15:37:57 +08:00

734 lines
18 KiB
JSON

{
"openapi": "3.0.1",
"info": {
"title": "YD_AllHeartRates.Api",
"description": "心率Api",
"version": "v1"
},
"paths": {
"/SchoolHeartRateReport": {
"get": {
"tags": [
"HeartRateReport"
],
"summary": "学校心率报告",
"parameters": [
{
"name": "scoreTime",
"in": "query",
"schema": {
"type": "string",
"format": "date-time"
}
}
],
"responses": {
"200": {
"description": "Success",
"content": {
"text/plain": {
"schema": {
"$ref": "#/components/schemas/SchoolHeartRateReportDataDto"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/SchoolHeartRateReportDataDto"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/SchoolHeartRateReportDataDto"
}
}
}
}
}
}
},
"/GradeHeartRateReport": {
"get": {
"tags": [
"HeartRateReport"
],
"summary": "年级心率报告",
"parameters": [
{
"name": "gradeId",
"in": "query",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "scoreTime",
"in": "query",
"schema": {
"type": "string",
"format": "date-time"
}
}
],
"responses": {
"200": {
"description": "Success",
"content": {
"text/plain": {
"schema": {
"$ref": "#/components/schemas/GradeHeartRateReportDataDto"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/GradeHeartRateReportDataDto"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/GradeHeartRateReportDataDto"
}
}
}
}
}
}
},
"/ClassHeartRateReport": {
"get": {
"tags": [
"HeartRateReport"
],
"summary": "班级心率报告",
"parameters": [
{
"name": "classId",
"in": "query",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "scoreTime",
"in": "query",
"schema": {
"type": "string",
"format": "date-time"
}
}
],
"responses": {
"200": {
"description": "Success",
"content": {
"text/plain": {
"schema": {
"$ref": "#/components/schemas/ClassHeartRateReportDataDto"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/ClassHeartRateReportDataDto"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/ClassHeartRateReportDataDto"
}
}
}
}
}
}
},
"/StudentHeartRateReport": {
"get": {
"tags": [
"HeartRateReport"
],
"summary": "学生心率报告",
"parameters": [
{
"name": "studentNo",
"in": "query",
"schema": {
"type": "string"
}
},
{
"name": "scoreTime",
"in": "query",
"schema": {
"type": "string",
"format": "date-time"
}
}
],
"responses": {
"200": {
"description": "Success",
"content": {
"text/plain": {
"schema": {
"$ref": "#/components/schemas/StudentHeartRateReportDataDto"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/StudentHeartRateReportDataDto"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/StudentHeartRateReportDataDto"
}
}
}
}
}
}
},
"/SchoolInfo": {
"get": {
"tags": [
"LargeScreen"
],
"summary": "学校信息",
"responses": {
"200": {
"description": "Success",
"content": {
"text/plain": {
"schema": {
"$ref": "#/components/schemas/SchoolDto"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/SchoolDto"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/SchoolDto"
}
}
}
}
}
}
},
"/HeartRateData": {
"get": {
"tags": [
"LargeScreen"
],
"summary": "实时数据",
"parameters": [
{
"name": "classId",
"in": "query",
"schema": {
"type": "integer",
"format": "int32"
}
}
],
"responses": {
"200": {
"description": "Success",
"content": {
"text/plain": {
"schema": {
"$ref": "#/components/schemas/HeartRateDataDto"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/HeartRateDataDto"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/HeartRateDataDto"
}
}
}
}
}
}
}
},
"components": {
"schemas": {
"ChartDataDto": {
"type": "object",
"properties": {
"axisX": {
"type": "array",
"items": {
"type": "string"
},
"nullable": true
},
"axisY": {
"type": "array",
"items": {
"type": "integer",
"format": "int32"
},
"nullable": true
}
},
"additionalProperties": false
},
"ClassHeartRateReportDataDto": {
"type": "object",
"properties": {
"maleCount": {
"type": "integer",
"format": "int32"
},
"femaleCount": {
"type": "integer",
"format": "int32"
},
"studentCount": {
"type": "integer",
"format": "int32",
"readOnly": true
},
"startEndTime": {
"type": "string",
"nullable": true
},
"sportsData": {
"$ref": "#/components/schemas/SportsDataDto"
},
"gradeName": {
"type": "string",
"nullable": true
},
"className": {
"type": "string",
"nullable": true
},
"teacherName": {
"type": "string",
"nullable": true
},
"studentList": {
"type": "array",
"items": {
"$ref": "#/components/schemas/StudentListDto"
},
"nullable": true
}
},
"additionalProperties": false
},
"ClassListDto": {
"type": "object",
"properties": {
"classId": {
"type": "integer",
"format": "int32"
},
"gradeName": {
"type": "string",
"nullable": true
},
"className": {
"type": "string",
"nullable": true
},
"teacherName": {
"type": "string",
"nullable": true
},
"studentCount": {
"type": "integer",
"format": "int32"
},
"reachCount": {
"type": "integer",
"format": "int32",
"readOnly": true
},
"maleReachCount": {
"type": "integer",
"format": "int32"
},
"femaleReachCount": {
"type": "integer",
"format": "int32"
},
"reachRate": {
"type": "integer",
"format": "int32"
}
},
"additionalProperties": false
},
"Classes": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"format": "int32"
},
"name": {
"type": "string",
"nullable": true
}
},
"additionalProperties": false
},
"GradeHeartRateReportDataDto": {
"type": "object",
"properties": {
"maleCount": {
"type": "integer",
"format": "int32"
},
"femaleCount": {
"type": "integer",
"format": "int32"
},
"studentCount": {
"type": "integer",
"format": "int32",
"readOnly": true
},
"startEndTime": {
"type": "string",
"nullable": true
},
"sportsData": {
"$ref": "#/components/schemas/SportsDataDto"
},
"gradeName": {
"type": "string",
"nullable": true
},
"classCount": {
"type": "integer",
"format": "int32"
},
"classList": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ClassListDto"
},
"nullable": true
}
},
"additionalProperties": false
},
"GradeListDto": {
"type": "object",
"properties": {
"gradeId": {
"type": "integer",
"format": "int32"
},
"gradeName": {
"type": "string",
"nullable": true
},
"studentCount": {
"type": "integer",
"format": "int32"
},
"reachCount": {
"type": "integer",
"format": "int32",
"readOnly": true
},
"maleReachCount": {
"type": "integer",
"format": "int32"
},
"femaleReachCount": {
"type": "integer",
"format": "int32"
},
"reachRate": {
"type": "integer",
"format": "int32"
}
},
"additionalProperties": false
},
"Grades": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"format": "int32"
},
"name": {
"type": "string",
"nullable": true
},
"class": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Classes"
},
"nullable": true
}
},
"additionalProperties": false
},
"HeartRateDataDto": {
"type": "object",
"properties": {
"warmUp": {
"type": "integer",
"format": "int32"
},
"low": {
"type": "integer",
"format": "int32"
},
"medium": {
"type": "integer",
"format": "int32"
},
"high": {
"type": "integer",
"format": "int32"
},
"warning": {
"type": "integer",
"format": "int32"
},
"studentList": {
"type": "array",
"items": {
"$ref": "#/components/schemas/StudentDto"
},
"nullable": true
}
},
"additionalProperties": false
},
"SchoolDto": {
"type": "object",
"properties": {
"schoolCode": {
"type": "string",
"nullable": true
},
"name": {
"type": "string",
"nullable": true
},
"heartRateAllCount": {
"type": "integer",
"format": "int32"
},
"heartRateOnlineCount": {
"type": "integer",
"format": "int32"
},
"heartRateOfflineCount": {
"type": "integer",
"format": "int32"
},
"jumpingRopeAllCount": {
"type": "integer",
"format": "int32"
},
"jumpingRopeOnLineCount": {
"type": "integer",
"format": "int32"
},
"jumpingRopeOfflineCount": {
"type": "integer",
"format": "int32"
},
"grade": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Grades"
},
"nullable": true
}
},
"additionalProperties": false
},
"SchoolHeartRateReportDataDto": {
"type": "object",
"properties": {
"maleCount": {
"type": "integer",
"format": "int32"
},
"femaleCount": {
"type": "integer",
"format": "int32"
},
"studentCount": {
"type": "integer",
"format": "int32",
"readOnly": true
},
"startEndTime": {
"type": "string",
"nullable": true
},
"sportsData": {
"$ref": "#/components/schemas/SportsDataDto"
},
"gradeCount": {
"type": "integer",
"format": "int32"
},
"gradeList": {
"type": "array",
"items": {
"$ref": "#/components/schemas/GradeListDto"
},
"nullable": true
}
},
"additionalProperties": false
},
"SportsDataDto": {
"type": "object",
"properties": {
"onlineDevicesCount": {
"type": "integer",
"format": "int32"
},
"avgDuration": {
"type": "integer",
"format": "int32"
},
"avgHeartRate": {
"type": "integer",
"format": "int32"
},
"reachCount": {
"type": "integer",
"format": "int32"
},
"notReachCount": {
"type": "integer",
"format": "int32"
},
"reachRate": {
"type": "integer",
"format": "int32"
},
"heartRateTrend": {
"$ref": "#/components/schemas/ChartDataDto"
}
},
"additionalProperties": false
},
"StudentDto": {
"type": "object",
"properties": {
"sex": {
"type": "integer",
"format": "int32"
},
"studentNo": {
"type": "string",
"nullable": true
},
"studentName": {
"type": "string",
"nullable": true
},
"photo": {
"type": "string",
"nullable": true
},
"heartRate": {
"type": "integer",
"format": "int32"
},
"jumpingRope": {
"type": "integer",
"format": "int32"
},
"strength": {
"type": "integer",
"format": "int32"
}
},
"additionalProperties": false
},
"StudentHeartRateReportDataDto": {
"type": "object",
"properties": {
"heartRateTrend": {
"$ref": "#/components/schemas/ChartDataDto"
}
},
"additionalProperties": false
},
"StudentListDto": {
"type": "object",
"properties": {
"studentNo": {
"type": "string",
"nullable": true
},
"studentName": {
"type": "string",
"nullable": true
},
"sex": {
"type": "integer",
"format": "int32"
},
"age": {
"type": "integer",
"format": "int32"
},
"photo": {
"type": "string",
"nullable": true
},
"isReach": {
"type": "boolean"
},
"duration": {
"type": "integer",
"format": "int32"
}
},
"additionalProperties": false
}
},
"securitySchemes": {
"Bearer": {
"type": "apiKey",
"description": "JWT授权token前面需要加上字段Bearer与一个空格,如Bearer token",
"name": "Authorization",
"in": "header"
}
}
},
"security": [
{
"Bearer": [ ]
}
],
"tags": [
{
"name": "HeartRateReport",
"description": "报告"
},
{
"name": "LargeScreen",
"description": "大屏"
}
]
}