diff --git a/.obsidian/plugins/remember-cursor-position/cursor-positions.json b/.obsidian/plugins/remember-cursor-position/cursor-positions.json
index 7b88428..c634bb4 100644
--- a/.obsidian/plugins/remember-cursor-position/cursor-positions.json
+++ b/.obsidian/plugins/remember-cursor-position/cursor-positions.json
@@ -1 +1 @@
-{"月度/8月/8月.md":{"scroll":385.7604,"cursor":{"from":{"ch":5,"line":392},"to":{"ch":14,"line":392}}},"材料/服务器.md":{"scroll":30.1953,"cursor":{"from":{"ch":58,"line":43},"to":{"ch":58,"line":43}}},"月度/9月/9月.md":{"scroll":193.938,"cursor":{"from":{"ch":0,"line":222},"to":{"ch":0,"line":222}}},"月度/7月/7月.md":{"scroll":138.3906,"cursor":{"from":{"ch":29,"line":147},"to":{"ch":29,"line":147}}},"月度/6月/6月.md":{"scroll":58.2917,"cursor":{"from":{"ch":72,"line":63},"to":{"ch":72,"line":63}}},"月度/5月/5月.md":{"scroll":93.1957,"cursor":{"from":{"ch":20,"line":105},"to":{"ch":20,"line":105}}},"月度/4月/4月.md":{"scroll":120.1806,"cursor":{"from":{"ch":20,"line":139},"to":{"ch":20,"line":139}}},"月度/3月/3月.md":{"scroll":32.7083,"cursor":{"from":{"ch":6,"line":39},"to":{"ch":6,"line":39}}},"月度/7月/7月工作总结及8月工作计划.md":{"scroll":0,"cursor":{"from":{"ch":0,"line":0},"to":{"ch":0,"line":0}}},"月度/6月/6月份晨午检bug修复.md":{"scroll":307.9981,"cursor":{"from":{"ch":0,"line":0},"to":{"ch":0,"line":0}}},"月度/7月/设备管理中心研发记录.md":{"scroll":110.1015,"cursor":{"from":{"ch":0,"line":0},"to":{"ch":0,"line":0}}},"月度/8月/CA身份认证app/CA身份认证app流程图.md":{"scroll":5.8654,"cursor":{"from":{"ch":0,"line":0},"to":{"ch":0,"line":0}}},"月度/9月/常见病/20250903常见病优化沟通.md":{"scroll":0.7205,"cursor":{"from":{"ch":0,"line":0},"to":{"ch":0,"line":0}}},"月度/9月/汇海/对接主机/2.0/不登录模式接口文档.md":{"scroll":0,"cursor":{"from":{"ch":61,"line":2},"to":{"ch":61,"line":2}}},"月度/9月/汇海/对接主机/2.0/登录算法和密钥.md":{"scroll":0.1746,"cursor":{"from":{"ch":0,"line":9},"to":{"ch":0,"line":9}}}}
\ No newline at end of file
+{"月度/8月/8月.md":{"scroll":307.9525,"cursor":{"from":{"ch":0,"line":352},"to":{"ch":0,"line":352}}},"材料/服务器.md":{"scroll":10.7717,"cursor":{"from":{"ch":11,"line":27},"to":{"ch":11,"line":27}}},"月度/9月/9月.md":{"scroll":240.3896,"cursor":{"from":{"ch":6,"line":253},"to":{"ch":6,"line":253}}},"月度/7月/7月.md":{"scroll":138.3906,"cursor":{"from":{"ch":29,"line":147},"to":{"ch":29,"line":147}}},"月度/6月/6月.md":{"scroll":58.2917,"cursor":{"from":{"ch":72,"line":63},"to":{"ch":72,"line":63}}},"月度/5月/5月.md":{"scroll":93.1957,"cursor":{"from":{"ch":20,"line":105},"to":{"ch":20,"line":105}}},"月度/4月/4月.md":{"scroll":120.1806,"cursor":{"from":{"ch":20,"line":139},"to":{"ch":20,"line":139}}},"月度/3月/3月.md":{"scroll":32.7083,"cursor":{"from":{"ch":6,"line":39},"to":{"ch":6,"line":39}}},"月度/7月/7月工作总结及8月工作计划.md":{"scroll":0,"cursor":{"from":{"ch":0,"line":0},"to":{"ch":0,"line":0}}},"月度/6月/6月份晨午检bug修复.md":{"scroll":307.9981,"cursor":{"from":{"ch":0,"line":0},"to":{"ch":0,"line":0}}},"月度/7月/设备管理中心研发记录.md":{"scroll":110.1015,"cursor":{"from":{"ch":0,"line":0},"to":{"ch":0,"line":0}}},"月度/8月/CA身份认证app/CA身份认证app流程图.md":{"scroll":5.8654,"cursor":{"from":{"ch":0,"line":0},"to":{"ch":0,"line":0}}},"月度/9月/常见病/20250903常见病优化沟通.md":{"scroll":0.7205,"cursor":{"from":{"ch":0,"line":0},"to":{"ch":0,"line":0}}},"月度/9月/汇海/对接主机/2.0/不登录模式接口文档.md":{"scroll":0,"cursor":{"from":{"ch":2,"line":7},"to":{"ch":2,"line":7}}},"月度/9月/汇海/对接主机/2.0/登录算法和密钥.md":{"scroll":0,"cursor":{"from":{"ch":0,"line":9},"to":{"ch":0,"line":9}}},"月度/9月/汇海/对接主机/2.0/华夏汇海接口文档.md":{"scroll":1742.015,"cursor":{"from":{"ch":1,"line":1772},"to":{"ch":1,"line":1772}}}}
\ No newline at end of file
diff --git a/.obsidian/workspace.json b/.obsidian/workspace.json
index 7baad3b..54c7f4b 100644
--- a/.obsidian/workspace.json
+++ b/.obsidian/workspace.json
@@ -8,7 +8,49 @@
"type": "tabs",
"children": [
{
- "id": "c7bc73ee9f913d5a",
+ "id": "0f8cb971129369ed",
+ "type": "leaf",
+ "state": {
+ "type": "markdown",
+ "state": {
+ "file": "月度/9月/汇海/对接主机/2.0/华夏汇海接口文档.md",
+ "mode": "source",
+ "source": false
+ },
+ "icon": "lucide-file",
+ "title": "华夏汇海接口文档"
+ }
+ },
+ {
+ "id": "39126e2e94e3ddbf",
+ "type": "leaf",
+ "state": {
+ "type": "markdown",
+ "state": {
+ "file": "月度/9月/汇海/对接主机/2.0/不登录模式接口文档.md",
+ "mode": "source",
+ "source": false
+ },
+ "icon": "lucide-file",
+ "title": "不登录模式接口文档"
+ }
+ },
+ {
+ "id": "fc808564fbb55487",
+ "type": "leaf",
+ "state": {
+ "type": "markdown",
+ "state": {
+ "file": "材料/服务器.md",
+ "mode": "source",
+ "source": false
+ },
+ "icon": "lucide-file",
+ "title": "服务器"
+ }
+ },
+ {
+ "id": "6dd52b0f9a46216e",
"type": "leaf",
"state": {
"type": "markdown",
@@ -21,7 +63,8 @@
"title": "9月"
}
}
- ]
+ ],
+ "currentTab": 3
}
],
"direction": "vertical"
@@ -78,7 +121,7 @@
}
],
"direction": "horizontal",
- "width": 275.5
+ "width": 247.5
},
"right": {
"id": "05ec8585e34884ac",
@@ -165,8 +208,7 @@
}
],
"direction": "horizontal",
- "width": 330.5,
- "collapsed": true
+ "width": 324.5
},
"left-ribbon": {
"hiddenItems": {
@@ -184,28 +226,32 @@
"obsidian-importer:Open Importer": false
}
},
- "active": "c7bc73ee9f913d5a",
+ "active": "6dd52b0f9a46216e",
"lastOpenFiles": [
- "材料/配置/新建 文本文档.html",
- "材料/配置/新建 文本文档.txt",
- "材料/配置/自定义短横线.md",
- "材料/配置/自定义短横线.html",
+ "材料/服务器.md",
"月度/9月/9月.md",
+ "月度/9月/汇海/对接主机/2.0/不登录模式接口文档.md",
+ "月度/9月/汇海/对接主机/2.0/华夏汇海接口文档.md",
+ "月度/9月/Alibaba druid index,html 未授权访问漏洞修复记录.docx",
+ "月度/Alibaba druid index,html 未授权访问漏洞修复记录.docx",
+ "月度/9月/汇海/对接主机/2.0/主机登录模式API接口文档2.0 ~E0DB2.tmp",
+ "月度/9月/汇海/对接主机/2.0/人脸特征值下载.md",
+ "月度/9月/汇海/对接主机/2.0/登录算法和密钥.md",
+ "月度/9月/汇海/对接主机/2.0/~$登录模式API接口文档2.0 .docx",
+ "月度/9月/汇海/对接主机/2.0/主机登录模式API接口文档2.0 ~4FCCA.tmp",
+ "月度/9月/漏扫/~$6天衡QWSY渗透测试报告.docx",
+ "月度/9月/漏扫/9.6天衡QWSY渗透测试报告.docx",
+ "月度/8月/8月.md",
+ "月度/9月/常见病/~$2025年全国学生常见病和影响因素监测与干预项目工作手册0903.docx",
+ "月度/9月/常见病/4.2025年全国学生常见病和影响因素监测与干预项目工作手册0903.docx",
+ "月度/9月/汇海/对接主机/1.0/主机登录模式API接口文档 .docx",
+ "材料/配置/自定义短横线.md",
"月度/9月/调查问卷.md",
- "未命名.base",
- "月度/9月/汇海/对接主机/2.0/主机登录模式API接口文档2.0 ~F552E.tmp",
"月度/9月/石榴籽-家校通/家校通需求.md",
"月度/3月/3月.md",
"月度/9月/常见病/20250903常见病优化沟通.md",
"月度/7月/ca会议纪要.md",
- "月度/9月/常见病/4.2025年全国学生常见病和影响因素监测与干预项目工作手册0903.docx",
- "月度/封面.base",
"月度/9月/关于北体大-乌市体育调研工作会议.md",
- "月度/9月/汇海/对接主机/2.0/主机登录模式API接口文档2.0 .docx",
- "月度/9月/汇海/对接主机/2.0/不登录模式接口文档.md",
- "月度/9月/汇海/对接主机/2.0/主机登录模式API接口文档2.0 ~9BCC8.tmp",
- "月度/9月/汇海/对接主机/2.0/登录算法和密钥.md",
- "月度/9月/汇海/对接主机/2.0/主机登录模式API接口文档2.0 ~CFAF6.tmp",
"月度/9月/汇海/解析汇海设备请求.md",
"月度/9月/汇海/体质测试数据上传接口文档.md",
"月度/9月/汇海/华夏汇海技术对接交流会议纪要.md",
@@ -214,13 +260,9 @@
"月度/9月/解析汇海设备请求.md",
"月度/9月/体质测试数据上传接口文档.md",
"月度/9月/9.12与华夏汇海对接线上技术会.md",
- "月度/8月/8月.md",
- "材料/服务器.md",
"月度/9月/华夏汇海技术对接交流会议纪要.md",
"月度/9月/20250903常见病优化沟通.md",
"月度/8月/CA身份认证app/CA身份认证app流程图.md",
- "月度/7月/设备管理中心研发记录.md",
- "月度/7月/华为服务器测试报告.md",
"图片/9月.png",
"月度/未命名.canvas",
"图片/8月.png",
diff --git a/月度/9月/9月.md b/月度/9月/9月.md
index c0af540..5d3a07d 100644
--- a/月度/9月/9月.md
+++ b/月度/9月/9月.md
@@ -220,3 +220,35 @@ MaterialApp(
[[家校通需求]]
[家校通-功能需求说明书(手写版-v1.0)](https://doc.weixin.qq.com/doc/w3_AZcAuwb0ADQCNJJlyCrRBQB2dJudw?scode=ACcAjgdrAA03e12Xn4AZcAuwb0ADQ&version=5.0.0.8002&platform=win)
+
+
+# 9.15
+对接华夏汇海主机
+dailyPhysique【新体测】refactor(physique-daily): 重构华夏汇海设备数据上传接口
+- 将 ProtocolController 中的 parseData 方法改为 uploadDataL,以匹配 HuihaiController 的接口
+- 删除了冗余的 HuihaiController 类
+- 优化了 ISysStudentBusinessService 接口,添加了 updateStudentResultsByDevice 方法
+- 重构了 ISysStudentBusinessServiceImpl 中的 updateStudentResultsByDevice 方法,支持解析汇海设备数据格式
+- 修复了成绩数据处理逻辑,将 score 除以 100
+- 优化了错误处理和日志记录
+oldDailyPhysique【老体测】refactor(ehimsys): 重构汇海登录相关接口并优化学校信息获取逻辑
+- 重构 HuihaiLoginController 类,优化 token 解析和验证逻辑
+- 改进 schools 接口,根据用户类型返回不同学校信息列表
+- 重构 login 接口,使用真实用户和学校信息构建响应数据
+- 修改 SysDailyPlanSchoolMapper 接口,增加 year 参数
+- 更新 ISysDailyPlanSchoolService 接口,添加年份筛选功能
+- 调整 SysDailyPlanSchoolServiceImpl 实现类,支持按年份查询
+- 更新 SysDailyPlanSchoolMapper.xml,修改 SQL 查询条件
+
+
+# 9.16
+1.对接汇海设备
+
+http://47.109.23.162:8088/hhcrm/api/hhdevices/getbysn?sn=00%3A60%3A6e%3Ad4%3Ac6%3A3f
+获取人脸 SDK码
+2.修复canal duird 访问漏洞[[Alibaba druid index,html 未授权访问漏洞修复记录.docx]]
+
+
+
+
+# 9.17
\ No newline at end of file
diff --git a/月度/9月/Alibaba druid index,html 未授权访问漏洞修复记录.docx b/月度/9月/Alibaba druid index,html 未授权访问漏洞修复记录.docx
new file mode 100644
index 0000000..ec0462c
Binary files /dev/null and b/月度/9月/Alibaba druid index,html 未授权访问漏洞修复记录.docx differ
diff --git a/月度/9月/汇海/对接主机/2.0/~$登录模式API接口文档2.0 .docx b/月度/9月/汇海/对接主机/2.0/~$登录模式API接口文档2.0 .docx
new file mode 100644
index 0000000..fcd42e3
Binary files /dev/null and b/月度/9月/汇海/对接主机/2.0/~$登录模式API接口文档2.0 .docx differ
diff --git a/月度/9月/汇海/对接主机/2.0/主机登录模式API接口文档2.0 .docx b/月度/9月/汇海/对接主机/2.0/主机登录模式API接口文档2.0 .docx
index e6bcd57..55a17fc 100644
Binary files a/月度/9月/汇海/对接主机/2.0/主机登录模式API接口文档2.0 .docx and b/月度/9月/汇海/对接主机/2.0/主机登录模式API接口文档2.0 .docx differ
diff --git a/月度/9月/汇海/对接主机/2.0/华夏汇海接口文档.md b/月度/9月/汇海/对接主机/2.0/华夏汇海接口文档.md
new file mode 100644
index 0000000..b6ea099
--- /dev/null
+++ b/月度/9月/汇海/对接主机/2.0/华夏汇海接口文档.md
@@ -0,0 +1,1803 @@
+# 业务流程梳理
+1. 用户输入账号密码进行客户端登录,系统校验用户是否存在系统和密码是否正确,输入信息正确后判断用户类型;
+2. 当用户类型登录的为教育用户时(区县一级),返回的schools接口(其实获取的是区域的检测计划,映射到日常体测中即为获取区县教育用户设置的日常检测计划,对应的表为sys_daily_plan)
+ * 在此用户登录的基础上,projectId即为sys_daily_plan中的id
+ * 在后续的接口中的schoolID字段设置为sys_daily_plan中的companyId进行传参;
+ * 后续返回的school数据结构中按照sys_company中的信息进行返回;
+ * 再往后的接口中`PhysicalProjects`中返回sys_daily_plan_school中对应daily_id中的所有学校信息,可以理解为选择对应的检测学校;
+ * 基于上一步,后续的projectId全部传递sys_daily_plan_school中的id作为对应的项目ID
+3. 当用户登录的类型为学校用户时,查询对应的sys_daily_plan_school表中的schoolId
+ * 后续的操作中参照教育用户登录选择的内容返回sys_daily_plan中的名称,第二部直接就选择该学校即可;
+
+
+
+## 同步服务器时间
+
+```json
+https://ty.hxhh.tech/hhcrm/api/HHDevices/getcurrenttime
+
+{"value":"2025-09-16 10:13:56","result":0,"message":""}
+```
+
+
+
+## 登录接口
+
+```json
+url: "https://ty.hxhh.tech/hhcrm/api/tokens"
+type: 'post'
+requestbody:
+{
+ "clientid": "6D587F96",
+ "mac": "Mac地址:db:b2:5d:a7:a4:5e",
+ "password": "ou7eMPFsoMrbfMA05cnIiQ\u003d\u003d\n",
+ "systemflag": 2,
+ "userId": "18167973603"
+}
+```
+
+```json
+responseBody:
+{
+ "value": {
+ "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJodHRwOi8vc2NoZW1hcy54bWxzb2FwLm9yZy93cy8yMDA1LzA1L2lkZW50aXR5L2NsYWltcy9uYW1lIjoiMWM0YjFkNDYtYzhhNy00ZGMzLWI5YWMtMGY3ODQxZTFjM2VmIiwiU3lzdGVtRmxhZyI6IjIiLCJDbGllbnRJRCI6IjZENTg3Rjk2IiwibmJmIjoxNzU3OTEyNjE5LCJleHAiOjE3NTc5MzA2MTksImlzcyI6Imh0dHBzOi8vd3d3Lmh1YXhpYWh1aWhhaS5jb20iLCJhdWQiOiJodHRwOi8vd3d3Lmd6aHhoaHR5LmNvbSJ9.ZwNqcje-fuiOGrVqJadiU6-0lxEdUJ08OfFE7wsswQ0",
+ "expireTime": 18000,
+ "sign": ""
+ },
+ "result": 0,
+ "message": ""
+}
+```
+
+
+
+## 获取学校接口
+
+```json
+url: "https://ty.hxhh.tech/hhcrm/api/schools"
+type: "get"
+header: {
+ Authorization: "Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJodHRwOi8vc2NoZW1hcy54bWxzb2FwLm9yZy93cy8yMDA1LzA1L2lkZW50aXR5L2NsYWltcy9uYW1lIjoiMWM0YjFkNDYtYzhhNy00ZGMzLWI5YWMtMGY3ODQxZTFjM2VmIiwiU3lzdGVtRmxhZyI6IjIiLCJDbGllbnRJRCI6IjZENTg3Rjk2IiwibmJmIjoxNzU3OTEyNjE5LCJleHAiOjE3NTc5MzA2MTksImlzcyI6Imh0dHBzOi8vd3d3Lmh1YXhpYWh1aWhhaS5jb20iLCJhdWQiOiJodHRwOi8vd3d3Lmd6aHhoaHR5LmNvbSJ9.ZwNqcje-fuiOGrVqJadiU6-0lxEdUJ08OfFE7wsswQ0"
+}
+```
+
+```json
+{
+ "result": 0,
+ "message": "",
+ "queryObjects": [
+ {
+ "id": "1000000607",
+ "name": "乌鲁木齐学生体测服务平台",
+ "projectClass": 2,//
+ "minGrade": 11,
+ "maxGrade": 44,
+ "createTime": "2025-09-03T14:32:24.087",
+ "operater": "姚康",
+ "maxStudentCount": 420000,
+ "city": null,
+ "divisionID": "650100",
+ "divisionPath": "新疆维吾尔自治区/乌鲁木齐市",
+ "templateID": null,
+ "url": "https://ty.hxhh.tech/hhtc/api",
+ "thirdSyncPlateForm": null,
+ "modules": 14,//
+ "projectID": null,
+ "currentYear": 0,
+ "isEnableWX": false,
+ "isUpdateHistroryData": true,
+ "isStop": 0
+ }
+ ],
+ "pageSize": 0,
+ "pageIndex": 1,
+ "totalCount": 1
+}
+```
+
+## 获取登录
+
+```json
+url: "https://ty.hxhh.tech/hhcrm/api/login",
+type: "post",
+header: {
+ Authorization: "Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJodHRwOi8vc2NoZW1hcy54bWxzb2FwLm9yZy93cy8yMDA1LzA1L2lkZW50aXR5L2NsYWltcy9uYW1lIjoiMWM0YjFkNDYtYzhhNy00ZGMzLWI5YWMtMGY3ODQxZTFjM2VmIiwiU3lzdGVtRmxhZyI6IjIiLCJDbGllbnRJRCI6IjZENTg3Rjk2IiwibmJmIjoxNzU3OTEyNjE5LCJleHAiOjE3NTc5MzA2MTksImlzcyI6Imh0dHBzOi8vd3d3Lmh1YXhpYWh1aWhhaS5jb20iLCJhdWQiOiJodHRwOi8vd3d3Lmd6aHhoaHR5LmNvbSJ9.ZwNqcje-fuiOGrVqJadiU6-0lxEdUJ08OfFE7wsswQ0"
+}
+body: {
+ "Client": "8寸屏平板体测[V1.0.0_xj01]",
+ "LocalIP": "192.168.2.56",
+ "MAC": "7C943ABA6131",
+ "SchoolID": "1000000607",
+ "Veryfied": true
+}
+```
+
+```json
+{
+ "value": {
+ "id": "1c4b1d46-c8a7-4dc3-b9ac-0f7841e1c3ef_1000000607",
+ "userID": "1c4b1d46-c8a7-4dc3-b9ac-0f7841e1c3ef",
+ "user": {
+ "id": "1c4b1d46-c8a7-4dc3-b9ac-0f7841e1c3ef",
+ "userType": 0,
+ "mobile": "18167973603",
+ "name": "姜",
+ "password": null,
+ "states": 0,
+ "createTime": "2025-09-03T14:32:54.703",
+ "email": "",
+ "operater": null,
+ "note": "{\"2\":\"\",\"1\":\"\",\"4\":\"\",\"3\":\"新疆阳光学生体质健康管理有限公司\"}",
+ "hasMobile": true
+ },
+ "schoolID": "1000000607",
+ "school": {
+ "id": "1000000607",
+ "name": "乌鲁木齐学生体测服务平台",
+ "projectClass": 2,
+ "minGrade": 11,
+ "maxGrade": 44,
+ "createTime": "2025-09-03T14:32:24.087",
+ "operater": "姚康",
+ "maxStudentCount": 420000,
+ "city": null,
+ "divisionID": "650100",
+ "divisionPath": null,
+ "templateID": null,
+ "url": "https://ty.hxhh.tech/hhtc/api",
+ "thirdSyncPlateForm": null,
+ "modules": 14,//
+ "projectID": "TC001097",//
+ "currentYear": 2025,
+ "isEnableWX": false,
+ "isUpdateHistroryData": true,
+ "isStop": 0
+ },
+ "role": "系统管理员",
+ "expireDate": "2025-12-31T00:00:00",
+ "permissions": "all",
+ "selectionType": null,
+ "selectionItems": null,
+ "projects": null,
+ "ukey": false,
+ "needConfirm": false,
+ "isAdministrator": true
+ },
+ "result": 0,
+ "message": ""
+}
+```
+
+## 获取检测计划
+
+```json
+url: "https://ty.hxhh.tech/hhcrm/api/PhysicalProjects?q=eyJzY2hvb2xJRCI6IjEwMDAwMDA2MDciLCJzb3J0TW9kZSI6Mn0%3D%0A",
+type: "get",
+header: {
+ Authorization: "Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJodHRwOi8vc2NoZW1hcy54bWxzb2FwLm9yZy93cy8yMDA1LzA1L2lkZW50aXR5L2NsYWltcy9uYW1lIjoiMWM0YjFkNDYtYzhhNy00ZGMzLWI5YWMtMGY3ODQxZTFjM2VmIiwiU3lzdGVtRmxhZyI6IjIiLCJDbGllbnRJRCI6IjZENTg3Rjk2IiwibmJmIjoxNzU3OTEyNjE5LCJleHAiOjE3NTc5MzA2MTksImlzcyI6Imh0dHBzOi8vd3d3Lmh1YXhpYWh1aWhhaS5jb20iLCJhdWQiOiJodHRwOi8vd3d3Lmd6aHhoaHR5LmNvbSJ9.ZwNqcje-fuiOGrVqJadiU6-0lxEdUJ08OfFE7wsswQ0"
+}
+```
+
+```json
+{
+ "result": 0,
+ "message": "",
+ "queryObjects": [
+ {
+ "id": "SL001600",
+ "projectClass": 8,
+ "name": "2025-2026年度上学期学生视力",
+ "year": 2025,
+ "createDate": "2025-09-03T16:57:08.35",
+ "startDate": "2025-09-01T00:00:00",
+ "endDate": "2026-02-01T23:59:59",
+ "templateProjectID": "gbsl2021",
+ "isTemplate": false,
+ "schoolID": "1000000607",
+ "school": null,
+ "state": 0,
+ "selectionType": null,
+ "selectionItems": null,
+ "testItems": null,
+ "gradeTestItems": null,
+ "eyeSightTetstItems": null,
+ "copyingProjectID": null
+ },
+ {
+ "id": "TC001097",
+ "projectClass": 2,
+ "name": "2025-2026年度学生体测",
+ "year": 2025,
+ "createDate": "2025-09-03T16:57:08.327",
+ "startDate": "2025-09-01T00:00:00",
+ "endDate": "2026-09-01T00:00:00",
+ "templateProjectID": "gbtc2014",
+ "isTemplate": false,
+ "schoolID": "1000000607",
+ "school": null,
+ "state": 0,
+ "selectionType": null,
+ "selectionItems": null,
+ "testItems": null,
+ "gradeTestItems": null,
+ "eyeSightTetstItems": null,
+ "copyingProjectID": null
+ }
+ ],
+ "pageSize": 0,
+ "pageIndex": 0,
+ "totalCount": 2
+}
+```
+
+## 获取检测项目
+
+```json
+url: "https://ty.hxhh.tech/hhcrm/api/PhysicalProjects/TC001097",
+type: "get",
+header: {
+ Authorization: "Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJodHRwOi8vc2NoZW1hcy54bWxzb2FwLm9yZy93cy8yMDA1LzA1L2lkZW50aXR5L2NsYWltcy9uYW1lIjoiMWM0YjFkNDYtYzhhNy00ZGMzLWI5YWMtMGY3ODQxZTFjM2VmIiwiU3lzdGVtRmxhZyI6IjIiLCJDbGllbnRJRCI6IjZENTg3Rjk2IiwibmJmIjoxNzU3OTEyNjE5LCJleHAiOjE3NTc5MzA2MTksImlzcyI6Imh0dHBzOi8vd3d3Lmh1YXhpYWh1aWhhaS5jb20iLCJhdWQiOiJodHRwOi8vd3d3Lmd6aHhoaHR5LmNvbSJ9.ZwNqcje-fuiOGrVqJadiU6-0lxEdUJ08OfFE7wsswQ0"
+}
+
+```
+
+```json
+{
+ "result": 0,
+ "message": "",
+ "queryObject": {
+ "id": "TC001097",
+ "projectClass": 2,
+ "name": "2025-2026年度学生体测",
+ "year": 2025,
+ "createDate": "2025-09-03T16:57:08.327",
+ "startDate": "2025-09-01T00:00:00",
+ "endDate": "2026-09-01T00:00:00",
+ "templateProjectID": "gbtc2014",
+ "isTemplate": false,
+ "schoolID": "1000000607",
+ "school": {
+ "id": "1000000607",
+ "name": "乌鲁木齐学生体测服务平台",
+ "projectClass": 2,
+ "minGrade": 11,
+ "maxGrade": 44,
+ "createTime": "2025-09-03T14:32:24.087",
+ "operater": "姚康",
+ "maxStudentCount": 420000,
+ "city": null,
+ "divisionID": "650100",
+ "divisionPath": null,
+ "templateID": null,
+ "url": "https://ty.hxhh.tech/hhtc/api",
+ "thirdSyncPlateForm": null,
+ "modules": 14,
+ "projectID": "TC001097",
+ "currentYear": 2025,
+ "isEnableWX": false,
+ "isUpdateHistroryData": true,
+ "isStop": 0
+ },
+ "state": 0,
+ "selectionType": null,
+ "selectionItems": null,
+ "testItems": [
+ {
+ "id": 1,
+ "name": "身高",
+ "unit": "厘米",
+ "pointCount": 1,
+ "hasMachine": true,
+ "max": 250.0,
+ "min": 80.1,
+ "sortMode": 0,
+ "formula": null,
+ "memo": null,
+ "shortName": null,
+ "testCount": null,
+ "precisionMode": 0,
+ "isMust": false,
+ "sex": 0
+ },
+ {
+ "id": 2,
+ "name": "体重",
+ "unit": "公斤",
+ "pointCount": 1,
+ "hasMachine": true,
+ "max": 200.0,
+ "min": 10.1,
+ "sortMode": 0,
+ "formula": null,
+ "memo": null,
+ "shortName": null,
+ "testCount": null,
+ "precisionMode": 0,
+ "isMust": false,
+ "sex": 0
+ },
+ {
+ "id": 24,
+ "name": "BMI指数",
+ "unit": "",
+ "pointCount": 1,
+ "hasMachine": true,
+ "max": null,
+ "min": null,
+ "sortMode": 0,
+ "formula": "([体重] * 10000)/([身高] * [身高])",
+ "memo": null,
+ "shortName": null,
+ "testCount": null,
+ "precisionMode": 1,
+ "isMust": false,
+ "sex": 0
+ },
+ {
+ "id": 4,
+ "name": "肺活量",
+ "unit": "毫升",
+ "pointCount": 0,
+ "hasMachine": true,
+ "max": 9999.0,
+ "min": 500.0,
+ "sortMode": 2,
+ "formula": null,
+ "memo": null,
+ "shortName": null,
+ "testCount": null,
+ "precisionMode": 0,
+ "isMust": false,
+ "sex": 0
+ },
+ {
+ "id": 7,
+ "name": "坐位体前屈",
+ "unit": "厘米",
+ "pointCount": 1,
+ "hasMachine": true,
+ "max": 40.0000,
+ "min": -30.0000,
+ "sortMode": 2,
+ "formula": null,
+ "memo": null,
+ "shortName": null,
+ "testCount": null,
+ "precisionMode": 0,
+ "isMust": false,
+ "sex": 0
+ },
+ {
+ "id": 5,
+ "name": "50米跑",
+ "unit": "秒",
+ "pointCount": 1,
+ "hasMachine": true,
+ "max": 19.9,
+ "min": 5.1,
+ "sortMode": 1,
+ "formula": null,
+ "memo": null,
+ "shortName": null,
+ "testCount": null,
+ "precisionMode": 2,
+ "isMust": false,
+ "sex": 0
+ },
+ {
+ "id": 6,
+ "name": "立定跳远",
+ "unit": "厘米",
+ "pointCount": 0,
+ "hasMachine": true,
+ "max": 400.0,
+ "min": 51.0,
+ "sortMode": 2,
+ "formula": null,
+ "memo": null,
+ "shortName": null,
+ "testCount": null,
+ "precisionMode": 0,
+ "isMust": false,
+ "sex": 0
+ },
+ {
+ "id": 12,
+ "name": "一分钟仰卧起坐",
+ "unit": "次",
+ "pointCount": 0,
+ "hasMachine": true,
+ "max": 99.0,
+ "min": 0.0,
+ "sortMode": 2,
+ "formula": null,
+ "memo": null,
+ "shortName": null,
+ "testCount": null,
+ "precisionMode": 0,
+ "isMust": false,
+ "sex": 0
+ },
+ {
+ "id": 18,
+ "name": "一分钟跳绳",
+ "unit": "次",
+ "pointCount": 0,
+ "hasMachine": true,
+ "max": 300.0,
+ "min": 0.0,
+ "sortMode": 2,
+ "formula": null,
+ "memo": null,
+ "shortName": null,
+ "testCount": null,
+ "precisionMode": 0,
+ "isMust": false,
+ "sex": 0
+ },
+ {
+ "id": 14,
+ "name": "引体向上",
+ "unit": "次",
+ "pointCount": 0,
+ "hasMachine": true,
+ "max": 99.0000,
+ "min": 0.0000,
+ "sortMode": 2,
+ "formula": null,
+ "memo": null,
+ "shortName": null,
+ "testCount": null,
+ "precisionMode": 0,
+ "isMust": false,
+ "sex": 0
+ },
+ {
+ "id": 9,
+ "name": "50米×8往返跑",
+ "unit": "分\u0027秒\"",
+ "pointCount": 0,
+ "hasMachine": true,
+ "max": 540.0,
+ "min": 45.0,
+ "sortMode": 1,
+ "formula": null,
+ "memo": null,
+ "shortName": null,
+ "testCount": null,
+ "precisionMode": 2,
+ "isMust": false,
+ "sex": 0
+ },
+ {
+ "id": 10,
+ "name": "800米跑",
+ "unit": "分\u0027秒\"",
+ "pointCount": 0,
+ "hasMachine": true,
+ "max": 540.0,
+ "min": 120.0,
+ "sortMode": 1,
+ "formula": null,
+ "memo": null,
+ "shortName": null,
+ "testCount": null,
+ "precisionMode": 2,
+ "isMust": false,
+ "sex": 0
+ },
+ {
+ "id": 11,
+ "name": "1000米跑",
+ "unit": "分\u0027秒\"",
+ "pointCount": 0,
+ "hasMachine": true,
+ "max": 540.0,
+ "min": 120.0,
+ "sortMode": 1,
+ "formula": null,
+ "memo": null,
+ "shortName": null,
+ "testCount": null,
+ "precisionMode": 2,
+ "isMust": false,
+ "sex": 0
+ }
+ ],
+ "gradeTestItems": {
+ "11_Male": [
+ 1,
+ 2,
+ 4,
+ 5,
+ 7,
+ 18,
+ 24
+ ],
+ "12_Male": [
+ 1,
+ 2,
+ 4,
+ 5,
+ 7,
+ 18,
+ 24
+ ],
+ "13_Male": [
+ 1,
+ 2,
+ 4,
+ 5,
+ 7,
+ 12,
+ 18,
+ 24
+ ],
+ "14_Male": [
+ 1,
+ 2,
+ 4,
+ 5,
+ 7,
+ 12,
+ 18,
+ 24
+ ],
+ "15_Male": [
+ 1,
+ 2,
+ 4,
+ 5,
+ 7,
+ 9,
+ 12,
+ 18,
+ 24
+ ],
+ "16_Male": [
+ 1,
+ 2,
+ 4,
+ 5,
+ 7,
+ 9,
+ 12,
+ 18,
+ 24
+ ],
+ "21_Male": [
+ 1,
+ 2,
+ 4,
+ 5,
+ 6,
+ 7,
+ 11,
+ 14,
+ 24
+ ],
+ "22_Male": [
+ 1,
+ 2,
+ 4,
+ 5,
+ 6,
+ 7,
+ 11,
+ 14,
+ 24
+ ],
+ "23_Male": [
+ 1,
+ 2,
+ 4,
+ 5,
+ 6,
+ 7,
+ 11,
+ 14,
+ 24
+ ],
+ "31_Male": [
+ 1,
+ 2,
+ 4,
+ 5,
+ 6,
+ 7,
+ 11,
+ 14,
+ 24
+ ],
+ "32_Male": [
+ 1,
+ 2,
+ 4,
+ 5,
+ 6,
+ 7,
+ 11,
+ 14,
+ 24
+ ],
+ "33_Male": [
+ 1,
+ 2,
+ 4,
+ 5,
+ 6,
+ 7,
+ 11,
+ 14,
+ 24
+ ],
+ "41_Male": [
+ 1,
+ 2,
+ 4,
+ 5,
+ 6,
+ 7,
+ 11,
+ 14,
+ 24
+ ],
+ "42_Male": [
+ 1,
+ 2,
+ 4,
+ 5,
+ 6,
+ 7,
+ 11,
+ 14,
+ 24
+ ],
+ "43_Male": [
+ 1,
+ 2,
+ 4,
+ 5,
+ 6,
+ 7,
+ 11,
+ 14,
+ 24
+ ],
+ "44_Male": [
+ 1,
+ 2,
+ 4,
+ 5,
+ 6,
+ 7,
+ 11,
+ 14,
+ 24
+ ],
+ "11_Female": [
+ 1,
+ 2,
+ 4,
+ 5,
+ 7,
+ 18,
+ 24
+ ],
+ "12_Female": [
+ 1,
+ 2,
+ 4,
+ 5,
+ 7,
+ 18,
+ 24
+ ],
+ "13_Female": [
+ 1,
+ 2,
+ 4,
+ 5,
+ 7,
+ 12,
+ 18,
+ 24
+ ],
+ "14_Female": [
+ 1,
+ 2,
+ 4,
+ 5,
+ 7,
+ 12,
+ 18,
+ 24
+ ],
+ "15_Female": [
+ 1,
+ 2,
+ 4,
+ 5,
+ 7,
+ 9,
+ 12,
+ 18,
+ 24
+ ],
+ "16_Female": [
+ 1,
+ 2,
+ 4,
+ 5,
+ 7,
+ 9,
+ 12,
+ 18,
+ 24
+ ],
+ "21_Female": [
+ 1,
+ 2,
+ 4,
+ 5,
+ 6,
+ 7,
+ 10,
+ 12,
+ 24
+ ],
+ "22_Female": [
+ 1,
+ 2,
+ 4,
+ 5,
+ 6,
+ 7,
+ 10,
+ 12,
+ 24
+ ],
+ "23_Female": [
+ 1,
+ 2,
+ 4,
+ 5,
+ 6,
+ 7,
+ 10,
+ 12,
+ 24
+ ],
+ "31_Female": [
+ 1,
+ 2,
+ 4,
+ 5,
+ 6,
+ 7,
+ 10,
+ 12,
+ 24
+ ],
+ "32_Female": [
+ 1,
+ 2,
+ 4,
+ 5,
+ 6,
+ 7,
+ 10,
+ 12,
+ 24
+ ],
+ "33_Female": [
+ 1,
+ 2,
+ 4,
+ 5,
+ 6,
+ 7,
+ 10,
+ 12,
+ 24
+ ],
+ "41_Female": [
+ 1,
+ 2,
+ 4,
+ 5,
+ 6,
+ 7,
+ 10,
+ 12,
+ 24
+ ],
+ "42_Female": [
+ 1,
+ 2,
+ 4,
+ 5,
+ 6,
+ 7,
+ 10,
+ 12,
+ 24
+ ],
+ "43_Female": [
+ 1,
+ 2,
+ 4,
+ 5,
+ 6,
+ 7,
+ 10,
+ 12,
+ 24
+ ],
+ "44_Female": [
+ 1,
+ 2,
+ 4,
+ 5,
+ 6,
+ 7,
+ 10,
+ 12,
+ 24
+ ]
+ },
+ "eyeSightTetstItems": null,
+ "copyingProjectID": null
+ }
+}
+```
+
+## 权限校验
+
+```json
+url: "https://ty.hxhh.tech/hhtc/api/UserPermissions?q=eyJtb2R1bGUiOjIsInByb2plY3RJRCI6IlRDMDAxMDk3Iiwic2Nob29sSUQiOiIxMDAwMDAwNjA3%0AIiwidXNlcklEIjoiMWM0YjFkNDYtYzhhNy00ZGMzLWI5YWMtMGY3ODQxZTFjM2VmIn0%3D%0A",
+type: "get"
+```
+
+```json
+{
+ "result": 0,
+ "message": null,
+ "queryObjects": [
+ {
+ "id": "3cc3c23f-3369-43a4-a937-7e69397f2aec",
+ "userID": "1c4b1d46-c8a7-4dc3-b9ac-0f7841e1c3ef",
+ "user": null,
+ "schoolID": "1000000607",
+ "modules": 2,
+ "projectID": null,
+ "role": null,
+ "permissions": "all"
+ }
+ ],
+ "pageSize": 0,
+ "pageIndex": 0,
+ "totalCount": 0
+}
+```
+
+```json
+https://ty.hxhh.tech/hhtc/api/TC001097/Divisions
+```
+
+```json
+
+{
+ "result": 0,
+ "message": "",
+ "queryObjects": [
+ {
+ "id": "650100",
+ "name": "乌鲁木齐市",
+ "number": "650100",
+ "bePublic": true,
+ "parent": "650000",
+ "fullPath": "新疆维吾尔自治区/乌鲁木齐市",
+ "memo": null
+ }
+ ],
+ "pageSize": 0,
+ "pageIndex": 1,
+ "totalCount": 1
+}
+
+```
+
+https://ty.hxhh.tech/hhtc/api/TC001097/Facilitys
+
+```json
+{
+ "result": 0,
+ "message": "",
+ "queryObjects": [
+ {
+ "id": "0559dc4a-9117-41be-b2b3-852d27e7779d",
+ "name": "吐鲁番市高昌区艾丁湖镇也木什小学",
+ "number": "126",
+ "minGrade": 11,
+ "maxGrade": 16,
+ "divisionID": null,
+ "parentPath": null,
+ "tags": 1,
+ "natoure": 1,
+ "year": null,
+ "memo": null,
+ "location": null,
+ "schoolId": null,
+ "appKey": null,
+ "appSecret": null
+ },
+ {
+ "id": "33ee4ddf-8333-4f97-8bf3-1e417b81f2cf",
+ "name": "乌鲁木齐市147中学",
+ "number": "1920699779923480578",
+ "minGrade": 11,
+ "maxGrade": 16,
+ "divisionID": null,
+ "parentPath": null,
+ "tags": 1,
+ "natoure": 1,
+ "year": null,
+ "memo": null,
+ "location": null,
+ "schoolId": null,
+ "appKey": null,
+ "appSecret": null
+ }
+ ],
+ "pageSize": 0,
+ "pageIndex": 1,
+ "totalCount": 2
+}
+```
+
+https://ty.hxhh.tech/hhtc/api/TC001097/StudentClasss
+
+```json
+{
+ "result": 0,
+ "message": "",
+ "queryObjects": [
+ {
+ "id": "26c5510c-867f-4fea-bb14-7c31efe10437",
+ "name": "1班",
+ "beginYear": 2025,
+ "beginGrade": 11,
+ "years": 6,
+ "grade": 11,
+ "facilityID": "0559dc4a-9117-41be-b2b3-852d27e7779d",
+ "facilityName": "吐鲁番市高昌区艾丁湖镇也木什小学",
+ "number": "101",
+ "professional": "",
+ "professionalCode": ""
+ },
+ {
+ "id": "3ed0c80d-5372-4d72-967b-d1e88176098c",
+ "name": "1班",
+ "beginYear": 2024,
+ "beginGrade": 11,
+ "years": 6,
+ "grade": 12,
+ "facilityID": "0559dc4a-9117-41be-b2b3-852d27e7779d",
+ "facilityName": "吐鲁番市高昌区艾丁湖镇也木什小学",
+ "number": "101",
+ "professional": "",
+ "professionalCode": ""
+ },
+ {
+ "id": "7a42526b-161d-4753-98cd-905fd2783084",
+ "name": "2班",
+ "beginYear": 2024,
+ "beginGrade": 11,
+ "years": 6,
+ "grade": 12,
+ "facilityID": "0559dc4a-9117-41be-b2b3-852d27e7779d",
+ "facilityName": "吐鲁番市高昌区艾丁湖镇也木什小学",
+ "number": "102",
+ "professional": "",
+ "professionalCode": ""
+ },
+ {
+ "id": "234e9460-c5c0-4e4a-8992-4abb2a85b0fd",
+ "name": "1班",
+ "beginYear": 2023,
+ "beginGrade": 11,
+ "years": 6,
+ "grade": 13,
+ "facilityID": "0559dc4a-9117-41be-b2b3-852d27e7779d",
+ "facilityName": "吐鲁番市高昌区艾丁湖镇也木什小学",
+ "number": "101",
+ "professional": "",
+ "professionalCode": ""
+ },
+ {
+ "id": "c8f0f213-7cde-49a8-ae60-c853748f5b44",
+ "name": "2班",
+ "beginYear": 2023,
+ "beginGrade": 11,
+ "years": 6,
+ "grade": 13,
+ "facilityID": "0559dc4a-9117-41be-b2b3-852d27e7779d",
+ "facilityName": "吐鲁番市高昌区艾丁湖镇也木什小学",
+ "number": "102",
+ "professional": "",
+ "professionalCode": ""
+ },
+ {
+ "id": "b5dbfe51-6738-4713-9af6-824b6ca044aa",
+ "name": "1班",
+ "beginYear": 2022,
+ "beginGrade": 11,
+ "years": 6,
+ "grade": 14,
+ "facilityID": "0559dc4a-9117-41be-b2b3-852d27e7779d",
+ "facilityName": "吐鲁番市高昌区艾丁湖镇也木什小学",
+ "number": "101",
+ "professional": "",
+ "professionalCode": ""
+ },
+ {
+ "id": "e1ead7c5-fb92-4eac-b734-38ca72631747",
+ "name": "2班",
+ "beginYear": 2022,
+ "beginGrade": 11,
+ "years": 6,
+ "grade": 14,
+ "facilityID": "0559dc4a-9117-41be-b2b3-852d27e7779d",
+ "facilityName": "吐鲁番市高昌区艾丁湖镇也木什小学",
+ "number": "102",
+ "professional": "",
+ "professionalCode": ""
+ },
+ {
+ "id": "0984b052-ab2f-4ac9-adbb-efc9c6b612b5",
+ "name": "1班",
+ "beginYear": 2021,
+ "beginGrade": 11,
+ "years": 6,
+ "grade": 15,
+ "facilityID": "0559dc4a-9117-41be-b2b3-852d27e7779d",
+ "facilityName": "吐鲁番市高昌区艾丁湖镇也木什小学",
+ "number": "101",
+ "professional": "",
+ "professionalCode": ""
+ },
+ {
+ "id": "90047577-9224-45aa-8b19-85936df77428",
+ "name": "2班",
+ "beginYear": 2021,
+ "beginGrade": 11,
+ "years": 6,
+ "grade": 15,
+ "facilityID": "0559dc4a-9117-41be-b2b3-852d27e7779d",
+ "facilityName": "吐鲁番市高昌区艾丁湖镇也木什小学",
+ "number": "102",
+ "professional": "",
+ "professionalCode": ""
+ },
+ {
+ "id": "2634d818-a464-458e-88f8-d8e89b48ef38",
+ "name": "1班",
+ "beginYear": 2020,
+ "beginGrade": 11,
+ "years": 6,
+ "grade": 16,
+ "facilityID": "0559dc4a-9117-41be-b2b3-852d27e7779d",
+ "facilityName": "吐鲁番市高昌区艾丁湖镇也木什小学",
+ "number": "101",
+ "professional": "",
+ "professionalCode": ""
+ },
+ {
+ "id": "8a18d249-cebc-4ef6-966a-127bc80a2c6b",
+ "name": "2班",
+ "beginYear": 2020,
+ "beginGrade": 11,
+ "years": 6,
+ "grade": 16,
+ "facilityID": "0559dc4a-9117-41be-b2b3-852d27e7779d",
+ "facilityName": "吐鲁番市高昌区艾丁湖镇也木什小学",
+ "number": "102",
+ "professional": "",
+ "professionalCode": ""
+ },
+ {
+ "id": "e5abd2f7-2a17-4c9f-917f-a69ceb3e7afb",
+ "name": "小学一年级1班",
+ "beginYear": 2025,
+ "beginGrade": 11,
+ "years": 6,
+ "grade": 11,
+ "facilityID": "33ee4ddf-8333-4f97-8bf3-1e417b81f2cf",
+ "facilityName": "乌鲁木齐市147中学",
+ "number": "101",
+ "professional": "",
+ "professionalCode": ""
+ },
+ {
+ "id": "0c7ab17c-3103-4526-b932-09b986333719",
+ "name": "小学一年级2班",
+ "beginYear": 2025,
+ "beginGrade": 11,
+ "years": 6,
+ "grade": 11,
+ "facilityID": "33ee4ddf-8333-4f97-8bf3-1e417b81f2cf",
+ "facilityName": "乌鲁木齐市147中学",
+ "number": "102",
+ "professional": "",
+ "professionalCode": ""
+ },
+ {
+ "id": "c09d9f9b-c65b-45f1-a816-41d8a0b99386",
+ "name": "小学一年级3班",
+ "beginYear": 2025,
+ "beginGrade": 11,
+ "years": 6,
+ "grade": 11,
+ "facilityID": "33ee4ddf-8333-4f97-8bf3-1e417b81f2cf",
+ "facilityName": "乌鲁木齐市147中学",
+ "number": "103",
+ "professional": "",
+ "professionalCode": ""
+ },
+ {
+ "id": "cc1ef56a-ec4b-4634-9dbb-5d74494a11b9",
+ "name": "小学一年级4班",
+ "beginYear": 2025,
+ "beginGrade": 11,
+ "years": 6,
+ "grade": 11,
+ "facilityID": "33ee4ddf-8333-4f97-8bf3-1e417b81f2cf",
+ "facilityName": "乌鲁木齐市147中学",
+ "number": "104",
+ "professional": "",
+ "professionalCode": ""
+ },
+ {
+ "id": "a2a189aa-13ac-4588-8be9-8bcd290c29e0",
+ "name": "小学一年级5班",
+ "beginYear": 2025,
+ "beginGrade": 11,
+ "years": 6,
+ "grade": 11,
+ "facilityID": "33ee4ddf-8333-4f97-8bf3-1e417b81f2cf",
+ "facilityName": "乌鲁木齐市147中学",
+ "number": "105",
+ "professional": "",
+ "professionalCode": ""
+ },
+ {
+ "id": "d79bcd44-c9e8-403d-a649-0a477b8811bd",
+ "name": "小学一年级6班",
+ "beginYear": 2025,
+ "beginGrade": 11,
+ "years": 6,
+ "grade": 11,
+ "facilityID": "33ee4ddf-8333-4f97-8bf3-1e417b81f2cf",
+ "facilityName": "乌鲁木齐市147中学",
+ "number": "106",
+ "professional": "",
+ "professionalCode": ""
+ },
+ {
+ "id": "72575710-c55f-42d6-abd6-9b9c2f34d842",
+ "name": "小学二年级1班",
+ "beginYear": 2024,
+ "beginGrade": 11,
+ "years": 6,
+ "grade": 12,
+ "facilityID": "33ee4ddf-8333-4f97-8bf3-1e417b81f2cf",
+ "facilityName": "乌鲁木齐市147中学",
+ "number": "101",
+ "professional": "",
+ "professionalCode": ""
+ }
+ ],
+ "pageSize": 0,
+ "pageIndex": 1,
+ "totalCount": 18
+}
+```
+
+https://ty.hxhh.tech/hhtc/api/TC001097/students/?q=eyJwYWdlSW5kZXgiOjEsInBhZ2VTaXplIjozMDAwfQ%3D%3D%0A
+
+```json
+"queryObjects": [
+ {
+ "id": "81100010000000003",
+ "name": "麦尔哈巴·艾尼娃尔",
+ "sex": 2,
+ "grade": 11,
+ "state": 0,
+ "birthDay": "2016-12-29T00:00:00",
+ "idNumber": "",
+ "cardID": null,
+ "nation": null,
+ "district": null,
+ "classID": "26c5510c-867f-4fea-bb14-7c31efe10437",
+ "classNumber": "101",
+ "className": "1班",
+ "professional": "",
+ "professionalCode": "",
+ "facilityID": "0559dc4a-9117-41be-b2b3-852d27e7779d",
+ "facilityName": "吐鲁番市高昌区艾丁湖镇也木什小学",
+ "schoolNum": "126",
+ "facilityTags": 1,
+ "facilityNatoure": 1,
+ "divisionID": null,
+ "divisionName": null,
+ "address": null,
+ "highSchool": null,
+ "ropeNumber": null,
+ "ropeCode": null,
+ "hasPhoto": true,
+ "checkTime": null,
+ "channel": null,
+ "age": 9
+ },
+```
+
+## 上传学生结果
+
+```json
+https://ty.hxhh.tech/hhtc/api/TC001097/studentscores/batchadd?option=2
+type: post
+
+```
+
+
+
+```json
+[
+ {
+ "CreateTime": "Sep 16, 2025 10:43:01",
+ "EndTime": "Sep 16, 2025 10:42:53",
+ "For": false,
+ "HostID": 20,
+ "HostSn": "6D587F96",
+ "ID": "6adcc622b2ca48ba9f1dc4eee286d786",
+ "PeripheralCode": "1",
+ "Score": 27700,
+ "ScoreFrom": 1,
+ "ScoreSer": 1,
+ "Sex": "",
+ "StartTime": "Sep 16, 2025 10:42:46",
+ "StudentID": "123456123456",
+ "StudentName": "",
+ "TestID": 4,
+ "scorePosFlag": 0
+ },
+ {
+ "CreateTime": "Sep 16, 2025 10:43:01",
+ "EndTime": "Sep 16, 2025 10:42:57",
+ "For": false,
+ "HostID": 20,
+ "HostSn": "6D587F96",
+ "ID": "d5e3ac70846942e8a4592ac98850a8ec",
+ "PeripheralCode": "1",
+ "Score": 59100,
+ "ScoreFrom": 1,
+ "ScoreSer": 2,
+ "Sex": "",
+ "StartTime": "Sep 16, 2025 10:42:54",
+ "StudentID": "123456123456",
+ "StudentName": "",
+ "TestID": 4,
+ "scorePosFlag": 0
+ }
+]
+```
+
+## 云端结果查询
+
+```json
+url: https://ty.hxhh.tech/hhtc/api/TC001097/StudentWithTotals/?q=eyJTdHVkZW50SURMaWtlIjoiMDAzMiIsInBhZ2VJbmRleCI6MX0%3D%0A
+type: "get",
+
+https://ty.hxhh.tech/hhtc/api/TC001097/StudentWithTotals/?q=eyJOb3RUZXN0SXRlbSI6MSwiVGVzdFN0YXRlcyI6WzFdLCJUb3RhbEVxdWFsQW5kVGhhbiI6NTAs%0AIlRvdGFsTGVzc1RoYW4iOjUwLCJUb3RhbFJhbmtzIjpbMSwyLDMsNF0sIkNsYXNzSUQiOiIzZWQw%0AYzgwZC01MzcyLTRkNzItOTY3Yi1kMWU4ODE3NjA5OGMiLCJGYWNpbGl0eUlEIjoiMDU1OWRjNGEt%0AOTExNy00MWJlLWIyYjMtODUyZDI3ZTc3NzlkIiwiR3JhZGUiOjEyLCJOYW1lIjoi6JGj5aOr5p2w%0AIiwiU2V4IjoxLCJTdHVkZW50SURMaWtlIjoiMDAwOSIsInBhZ2VJbmRleCI6MSwicGFnZVNpemUi%0AOjMwLCJzb3J0TW9kZSI6MH0%3D%0A
+https://ty.hxhh.tech/hhtc/api/TC001097/StudentWithTotals/?q=eyJUZXN0U3RhdGVzIjpbMl0sInBhZ2VJbmRleCI6MSwicGFnZVNpemUiOjMwLCJzb3J0TW9kZSI6%0AMH0%3D%0A
+
+https://ty.hxhh.tech/hhtc/api/TC001097/StudentWithTotals/?q=eyJUZXN0U3RhdGVzIjpbMF0sInBhZ2VJbmRleCI6MSwicGFnZVNpemUiOjMwLCJzb3J0TW9kZSI6%0AMH0%3D%0A
+
+{
+ "NotTestItem" : 1, //汇海项目编号
+ "TestStates" : [ 1 ], //0:未测试,1:未完成测试,2:测试完成。
+ "TotalEqualAndThan" : 50,
+ "TotalLessThan" : 50,
+ "TotalRanks" : [ 1, 2, 3, 4 ],//优秀、良好、及格、不及格
+ "ClassID" : "3ed0c80d-5372-4d72-967b-d1e88176098c",
+ "FacilityID" : "0559dc4a-9117-41be-b2b3-852d27e7779d",
+ "Grade" : 12, //年级编号
+ "Name" : "董士杰",
+ "Sex" : 1,
+ "StudentIDLike" : "0009",
+ "pageIndex" : 1,
+ "pageSize" : 30,
+ "sortMode" : 0
+}
+```
+
+```json
+{
+ "result": 0,
+ "message": "",
+ "queryObjects": [
+ {
+ "total": 37.2,
+ "jiafen": 0.0,
+ "rank": 4,
+ "testState": 1,
+ "scores": [
+ {
+ "testID": 4,
+ "testTime": "2025-09-08T10:06:49",
+ "formatScore": "798",
+ "rawScore": 798.0000,
+ "result": 68.0000,
+ "jiafen": 0.0000,
+ "rank": "及格"
+ },
+ {
+ "testID": 7,
+ "testTime": "2025-09-11T12:01:30",
+ "formatScore": "16.9",
+ "rawScore": 16.9000,
+ "result": 90.0000,
+ "jiafen": 0.0000,
+ "rank": "优秀"
+ }
+ ],
+ "appraise": null,
+ "sportSuggestion": null,
+ "id": "81100320000000003",
+ "name": "热依拉·沙迪克",
+ "sex": 2,
+ "grade": 11,
+ "state": 0,
+ "birthDay": "2016-10-19T00:00:00",
+ "idNumber": "",
+ "cardID": null,
+ "nation": null,
+ "district": null,
+ "classID": "26c5510c-867f-4fea-bb14-7c31efe10437",
+ "classNumber": "101",
+ "className": "1班",
+ "professional": "",
+ "professionalCode": "",
+ "facilityID": "0559dc4a-9117-41be-b2b3-852d27e7779d",
+ "facilityName": "吐鲁番市高昌区艾丁湖镇也木什小学",
+ "schoolNum": "126",
+ "facilityTags": 1,
+ "facilityNatoure": 1,
+ "divisionID": null,
+ "divisionName": null,
+ "address": null,
+ "highSchool": null,
+ "ropeNumber": null,
+ "ropeCode": null,
+ "hasPhoto": true,
+ "checkTime": null,
+ "channel": null,
+ "age": 9
+ },
+ {
+ "total": 0.0,
+ "jiafen": 0.0,
+ "rank": 4,
+ "testState": 0,
+ "scores": [],
+ "appraise": null,
+ "sportSuggestion": null,
+ "id": "81200320000000003",
+ "name": "董士杰",
+ "sex": 2,
+ "grade": 12,
+ "state": 0,
+ "birthDay": "1998-10-29T00:00:00",
+ "idNumber": "",
+ "cardID": null,
+ "nation": null,
+ "district": null,
+ "classID": "3ed0c80d-5372-4d72-967b-d1e88176098c",
+ "classNumber": "101",
+ "className": "1班",
+ "professional": "",
+ "professionalCode": "",
+ "facilityID": "0559dc4a-9117-41be-b2b3-852d27e7779d",
+ "facilityName": "吐鲁番市高昌区艾丁湖镇也木什小学",
+ "schoolNum": "126",
+ "facilityTags": 1,
+ "facilityNatoure": 1,
+ "divisionID": null,
+ "divisionName": null,
+ "address": null,
+ "highSchool": null,
+ "ropeNumber": null,
+ "ropeCode": null,
+ "hasPhoto": false,
+ "checkTime": null,
+ "channel": null,
+ "age": 27
+ },
+ {
+ "total": 0.0,
+ "jiafen": 0.0,
+ "rank": 4,
+ "testState": 0,
+ "scores": [],
+ "appraise": null,
+ "sportSuggestion": null,
+ "id": "81300320000000003",
+ "name": "艾力凯木江·艾热提",
+ "sex": 1,
+ "grade": 13,
+ "state": 0,
+ "birthDay": "2014-10-15T00:00:00",
+ "idNumber": "",
+ "cardID": null,
+ "nation": null,
+ "district": null,
+ "classID": "c8f0f213-7cde-49a8-ae60-c853748f5b44",
+ "classNumber": "102",
+ "className": "2班",
+ "professional": "",
+ "professionalCode": "",
+ "facilityID": "0559dc4a-9117-41be-b2b3-852d27e7779d",
+ "facilityName": "吐鲁番市高昌区艾丁湖镇也木什小学",
+ "schoolNum": "126",
+ "facilityTags": 1,
+ "facilityNatoure": 1,
+ "divisionID": null,
+ "divisionName": null,
+ "address": null,
+ "highSchool": null,
+ "ropeNumber": null,
+ "ropeCode": null,
+ "hasPhoto": false,
+ "checkTime": null,
+ "channel": null,
+ "age": 11
+ },
+ {
+ "total": 0.0,
+ "jiafen": 0.0,
+ "rank": 4,
+ "testState": 0,
+ "scores": [],
+ "appraise": null,
+ "sportSuggestion": null,
+ "id": "81400320000000003",
+ "name": "阿比达·阿布都力",
+ "sex": 2,
+ "grade": 14,
+ "state": 0,
+ "birthDay": "2014-01-13T00:00:00",
+ "idNumber": "",
+ "cardID": null,
+ "nation": null,
+ "district": null,
+ "classID": "e1ead7c5-fb92-4eac-b734-38ca72631747",
+ "classNumber": "102",
+ "className": "2班",
+ "professional": "",
+ "professionalCode": "",
+ "facilityID": "0559dc4a-9117-41be-b2b3-852d27e7779d",
+ "facilityName": "吐鲁番市高昌区艾丁湖镇也木什小学",
+ "schoolNum": "126",
+ "facilityTags": 1,
+ "facilityNatoure": 1,
+ "divisionID": null,
+ "divisionName": null,
+ "address": null,
+ "highSchool": null,
+ "ropeNumber": null,
+ "ropeCode": null,
+ "hasPhoto": false,
+ "checkTime": null,
+ "channel": null,
+ "age": 11
+ },
+ {
+ "total": 0.0,
+ "jiafen": 0.0,
+ "rank": 4,
+ "testState": 0,
+ "scores": [],
+ "appraise": null,
+ "sportSuggestion": null,
+ "id": "81500320000000003",
+ "name": "玉山·帕它尔",
+ "sex": 1,
+ "grade": 15,
+ "state": 0,
+ "birthDay": "2013-08-12T00:00:00",
+ "idNumber": "",
+ "cardID": null,
+ "nation": null,
+ "district": null,
+ "classID": "0984b052-ab2f-4ac9-adbb-efc9c6b612b5",
+ "classNumber": "101",
+ "className": "1班",
+ "professional": "",
+ "professionalCode": "",
+ "facilityID": "0559dc4a-9117-41be-b2b3-852d27e7779d",
+ "facilityName": "吐鲁番市高昌区艾丁湖镇也木什小学",
+ "schoolNum": "126",
+ "facilityTags": 1,
+ "facilityNatoure": 1,
+ "divisionID": null,
+ "divisionName": null,
+ "address": null,
+ "highSchool": null,
+ "ropeNumber": null,
+ "ropeCode": null,
+ "hasPhoto": false,
+ "checkTime": null,
+ "channel": null,
+ "age": 12
+ },
+ {
+ "total": 0.0,
+ "jiafen": 0.0,
+ "rank": 4,
+ "testState": 0,
+ "scores": [],
+ "appraise": null,
+ "sportSuggestion": null,
+ "id": "81600320000000003",
+ "name": "沙力·沙拉木",
+ "sex": 1,
+ "grade": 16,
+ "state": 0,
+ "birthDay": "2011-10-28T00:00:00",
+ "idNumber": "",
+ "cardID": null,
+ "nation": null,
+ "district": null,
+ "classID": "8a18d249-cebc-4ef6-966a-127bc80a2c6b",
+ "classNumber": "102",
+ "className": "2班",
+ "professional": "",
+ "professionalCode": "",
+ "facilityID": "0559dc4a-9117-41be-b2b3-852d27e7779d",
+ "facilityName": "吐鲁番市高昌区艾丁湖镇也木什小学",
+ "schoolNum": "126",
+ "facilityTags": 1,
+ "facilityNatoure": 1,
+ "divisionID": null,
+ "divisionName": null,
+ "address": null,
+ "highSchool": null,
+ "ropeNumber": null,
+ "ropeCode": null,
+ "hasPhoto": false,
+ "checkTime": null,
+ "channel": null,
+ "age": 14
+ },
+ {
+ "total": 0.0,
+ "jiafen": 0.0,
+ "rank": 4,
+ "testState": 0,
+ "scores": [],
+ "appraise": null,
+ "sportSuggestion": null,
+ "id": "81100320000072043",
+ "name": "刘笑蕊",
+ "sex": 2,
+ "grade": 11,
+ "state": 0,
+ "birthDay": "2017-08-13T00:00:00",
+ "idNumber": "",
+ "cardID": null,
+ "nation": null,
+ "district": null,
+ "classID": "e5abd2f7-2a17-4c9f-917f-a69ceb3e7afb",
+ "classNumber": "101",
+ "className": "小学一年级1班",
+ "professional": "",
+ "professionalCode": "",
+ "facilityID": "33ee4ddf-8333-4f97-8bf3-1e417b81f2cf",
+ "facilityName": "乌鲁木齐市147中学",
+ "schoolNum": "1920699779923480578",
+ "facilityTags": 1,
+ "facilityNatoure": 1,
+ "divisionID": null,
+ "divisionName": null,
+ "address": null,
+ "highSchool": null,
+ "ropeNumber": null,
+ "ropeCode": null,
+ "hasPhoto": false,
+ "checkTime": null,
+ "channel": null,
+ "age": 8
+ },
+ {
+ "total": 0.0,
+ "jiafen": 0.0,
+ "rank": 4,
+ "testState": 0,
+ "scores": [],
+ "appraise": null,
+ "sportSuggestion": null,
+ "id": "81200320000072043",
+ "name": "王馨玉",
+ "sex": 2,
+ "grade": 12,
+ "state": 0,
+ "birthDay": "2016-05-05T00:00:00",
+ "idNumber": "",
+ "cardID": null,
+ "nation": null,
+ "district": null,
+ "classID": "72575710-c55f-42d6-abd6-9b9c2f34d842",
+ "classNumber": "101",
+ "className": "小学二年级1班",
+ "professional": "",
+ "professionalCode": "",
+ "facilityID": "33ee4ddf-8333-4f97-8bf3-1e417b81f2cf",
+ "facilityName": "乌鲁木齐市147中学",
+ "schoolNum": "1920699779923480578",
+ "facilityTags": 1,
+ "facilityNatoure": 1,
+ "divisionID": null,
+ "divisionName": null,
+ "address": null,
+ "highSchool": null,
+ "ropeNumber": null,
+ "ropeCode": null,
+ "hasPhoto": false,
+ "checkTime": null,
+ "channel": null,
+ "age": 9
+ }
+ ],
+ "pageSize": 0,
+ "pageIndex": 1,
+ "totalCount": 8
+}
+```
+
+## 人脸特征值下载
+
+```json
+url: "https://ty.hxhh.tech/hhtc/api/TC001097/StudentWithFaceFeatures/?q=eyJoYXNGYWNlRmVhdHVyZSI6dHJ1ZSwiSGFzUGhvdG8iOnRydWUsInBhZ2VJbmRleCI6MSwicGFn%0AZVNpemUiOjEwMH0%3D%0A"
+type: "get"
+```
+
+```json
+{
+ "result": 0,
+ "message": "",
+ "queryObjects":[
+ {
+ "faceFeature": "XXX",
+ "faceFeatureRec":"XXX",
+ "id": "81100010000000003",
+ "name": "麦尔哈巴·艾尼娃尔",
+ "sex": 2,
+ "grade": 11,
+ "state": 0,
+ "birthDay": "2016-12-29T00:00:00",
+ "idNumber": "",
+ "cardID": null,
+ "nation": null,
+ "district": null,
+ "classID": "26c5510c-867f-4fea-bb14-7c31efe10437",
+ "classNumber": "101",
+ "className": "1班",
+ "professional": "",
+ "professionalCode": "",
+ "facilityID": "0559dc4a-9117-41be-b2b3-852d27e7779d",
+ "facilityName": "吐鲁番市高昌区艾丁湖镇也木什小学",
+ "schoolNum": "126",
+ "facilityTags": 1,
+ "facilityNatoure": 1,
+ "divisionID": null,
+ "divisionName": null,
+ "address": null,
+ "highSchool": null,
+ "ropeNumber": null,
+ "ropeCode": null,
+ "hasPhoto": true,
+ "checkTime": null,
+ "channel": null,
+ "age": 9
+ },
+
+],
+ "pageSize": 100,
+ "pageIndex": 1,
+ "totalCount": 3
+```
+
+## 获取学生照片
+
+```json
+url: "https://ty.hxhh.tech/hhtc/api/TC001097/StudentPhotos/81100010000000003",
+type: "get"
+```
+
+```json
+{
+ result: "0",
+ message: "",
+ queryObject: {
+ id: 81100010000000003,
+ name: null,
+ photo: "base64",
+ faceFeature: "XXX",
+ faceFeatureRec: "CCC"
+ }
+}
+```
+
+## 获取设备SN
+```json
+url: "https://ty.hxhh.tech/hhcrm/api/hhdevices/getbysn?sn=db%3Ab2%3A5d%3Aa7%3Aa4%3A5e",
+type: "get"
+```
+```json
+{
+ "result": 0,
+ "message": null,
+ "queryObject": {
+ "id": "DB:B2:5D:A7:A4:5E",
+ "deviceType": 5,
+ "createTime": "2022-11-14T17:32:03.617",
+ "serialNumber": "HXHH65CA220600153",
+ "version": "",
+ "hardwareVersion": null,
+ "imei": "863320047685506",
+ "mac": "db:b2:5d:a7:a4:5e",
+ "faceCode": "0857-11FA-M2DF-EFDX",
+ "speechCode": null,
+ "batchNo": "",
+ "manufactureDate": null,
+ "city": "鄂尔多斯市源启教育培训有限公司",
+ "expireDate": null,
+ "userID": null,
+ "deviceName": "",
+ "activeTime": "2025-09-16T16:19:57",
+ "lastConnectTime": null,
+ "lastLocation": null,
+ "physicalItems": null
+ }
+}
+```
+
+
+
+{
+ "result": 0,
+ "message": null,
+ "queryObject": {
+ "id": "00:60:6E:D4:C6:3F",
+ "deviceType": 5,
+ "createTime": "2025-04-09T10:19:11.523",
+ "serialNumber": "HXHH65CA24050912",
+ "version": null,
+ "hardwareVersion": null,
+ "imei": "863320053081210",
+ "mac": "00:60:6e:d4:c6:3f",
+ "faceCode": "0857-11WB-1XPU-VBQZ",
+ "speechCode": null,
+ "batchNo": null,
+ "manufactureDate": null,
+ "city": null,
+ "expireDate": null,
+ "userID": null,
+ "deviceName": null,
+ "activeTime": "2025-05-06T14:05:29",
+ "lastConnectTime": null,
+ "lastLocation": null,
+ "physicalItems": null
+ }
+}
\ No newline at end of file
diff --git a/材料/服务器.md b/材料/服务器.md
index 1696f6c..7dd08c6 100644
--- a/材料/服务器.md
+++ b/材料/服务器.md
@@ -6,6 +6,7 @@ LTAI5tQbMgHJsKpjY6gS2Ckm
y7m1ALcTij7dME7Wno4EgVnsHNPjOb
## lpane
- 外部地址:http://47.109.23.162:22825/a70aef6b25
+- 域名外部地址:http://lpane.binghuai.xyz/a70aef6b25
- 面板用户:40fb27c170
- 面板密码:32dde9a038
- 官方网站:https://lpanel.cn
@@ -20,6 +21,20 @@ gitea数据库 gitea_binghuai
-Darms.licenseKey=c4cuf11g94@8c2d20f88cc0d59
-Darms.appName=my-service
+## Frp
+http://47.109.23.162:8088/hhcrm/api/
+
+CSjyj00
+Tzcs!!!2024
+
+| | |
+| ------------ | ------------ |
+| 服务端口 | 7000 |
+| Dashboard 端口 | 7500 |
+| 用户名 | admin |
+| 密码 | admin_8DnWeQ |
+| 密钥 | token123456 |
+
# **UCloud** HK
ubuntu
yz15036050887