From 1652b2ad1a4960491f8e7bf1b5862884f3163c78 Mon Sep 17 00:00:00 2001 From: imac-maxwell Date: Thu, 11 Dec 2025 13:50:02 +0800 Subject: [PATCH] vault backup: 2025-12-11 13:50:02 --- smartedu国家智慧教育平台结构.md | 36 ++++++++++++++++++++--- 1 file changed, 32 insertions(+), 4 deletions(-) diff --git a/smartedu国家智慧教育平台结构.md b/smartedu国家智慧教育平台结构.md index 91c74e2..de77534 100644 --- a/smartedu国家智慧教育平台结构.md +++ b/smartedu国家智慧教育平台结构.md @@ -17,7 +17,35 @@ 1. 最上层根目录:all_parts.json; 这个文件固定;从这个文件里,找tag_dimension_id,学段zxxxd、学科zxxxk;建立相应的目录;找global_resource_id教科书id,拼接教科书的url:part_100.json和trees.json; 拼接方法:https://s-file-1.ykt.cbern.com.cn/zxx/ndrs/national_lesson/teachingmaterials/{global_resource_id}/resources/part_100.json https://s-file-2.ykt.cbern.com.cn/zxx/ndrv2/national_lesson/trees/{global_resource_id}.json ; 建立教科书目录title;在教科书目录title里存放拼接并下载的两个json; 2. 第二层目录:学段,分为:小学 初中 高中 3. 第三层目录:学科,如:数学、英语、化学等; - 4. 第四层目录:教科书,如:人教版第一册、苏教版第二册等;文件:part_100.json trees.json; all_classroom_links.json(需要自己组织);根据trees.json内容,创建下面的目录:只要第一层的title建立目录,不需要后面的child_nodes建立目录; - 5. 第五层目录:以章为单位的,如:第三章 函数的概念与性质、第四章 指数函数与对数函数;文件:details.json(需要自己组织); 小节_detail.json; 小节_小小节_detail.json; - 6. 第四层all_classroom_links.json如何构造: 在part_100.json中,查找chapter_ids;一般有2个-3个,或许有更多;根据chapter_ids,在trees.json中,查找trees.json中id对应的title名字;chapter_ids的第一个字段是“章”,最后一个字段是最小单位的“小节”;中间字段是中间的节;我们最终要 -2. \ No newline at end of file + 4. 第四层目录:教科书,如:人教版第一册、苏教版第二册等;文件:part_100.json trees.json; all_classroom_links.json(需要自己组织); + 5. 第四层all_classroom_links.json如何构造: 在part_100.json中,查找chapter_ids;一般有2个-3个,或许有更多;根据chapter_ids,在trees.json中,查找trees.json中id对应的title名字;chapter_ids的第一个字段是“章”,最后一个字段是最小单位的“小节”,把最后一个字段记录为chapter_id;中间字段是中间的节,除去最后一个,前面的记录为ids和titles;在part_100.json中,还需要找到id字段,这个id与chapter_ids同级,把它记录为activity_id,同理记录title为activity_title; part_100.json中的teachmeterial_ids都是一样的值,把它记录为teachingmaterialId;所以all_classroom_links中的链接,构造为:https://basic.smartedu.cn/syncClassroom/classActivity?activityId={activity_id}&chapterId={chapter_id}&teachingmaterialId={teachmeterial_ids}&fromPrepare=0&classHourId=lesson_1 ,构造的json: + ```json + { + "teachmeterial_ids": "85c19ef2-23a4-43b6-94dd-8c7898639b5d",//part_100.json中的teachmeterial_ids + "chapter_ids": + { + "ids": ["",""],//part_100.json中的chapter_ids除去最后一个元素的其他元素; + "titles": ["",""], //根据上面的ids,去trees.json查对应的title; + } + "chapter_id": "", //part_100.json中的chapter_ids的最后一个元素; + "activity_title": "",//part_100.json第一层的title + "activity_id": "", //part_100.json第一层的id + "activity_url": "https://basic.smartedu.cn/syncClassroom/classActivity?activityId={activity_id}&chapterId={chapter_id}&teachingmaterialId={teachmeterial_ids}&fromPrepare=0&classHourId=lesson_1" + }, + { + "teachmeterial_ids": "85c19ef2-23a4-43b6-94dd-8c7898639b5d", + "chapter_ids": //part_100.json中的chapter_ids除去最后一个元素的其他元素; + { + "ids": ["",""], + "titles": ["",""], + } + "chapter_id": "", //part_100.json中的chapter_ids的最后一个元素; + "activity_title": "", + "activity_id": "", + "activity_url": "https://basic.smartedu.cn/syncClassroom/classActivity?activityId={activity_id}&chapterId={chapter_id}&teachingmaterialId={teachmeterial_ids}&fromPrepare=0&classHourId=lesson_1" + } + ``` + 6. 第五层目录:根据all_classroom_links.json,下载detail.json + 1. 根据all_classroom_links.json中的"chapter_ids"下面的"titles"的第一个元素titles1的名字,创建目录; + 2. 下载detail.json. 拼接并下载url:https://s-file-2.ykt.cbern.com.cn/zxx/ndrv2/national_lesson/resources/details/{activity_id}.json ,重命名detail.json名字:chapter_ids中的:titles2-titles3-activity_title.detail.json; + 3. 把重命名的文件放到对应的titles1的目录里.