wangrong
2026-08-24 beef6536e7c8dd3f5cbe8f73585611479910bea7
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
ó
¯Ž3j<
ãó•SSKJrJrJr SSKJr SSKJr SSKJ    r     SSK
J r  \"SS/S9r \ "5r S    \S
\    4S jr\ RS 5S 5r\ RS5S5r\ RS5S\4Sj5r\ RS5S5r\ RS5S\4Sj5r\ RS5S\4Sj5r\ R/S5S    \S\4Sj5r\ R/S5S    \S\4Sj5rg)é)Ú    APIRouterÚ HTTPExceptionÚRequest)Úsettings)ÚInitTaskRequest)ÚInitTaskDispatcher)Ú CourseServicez/api/v1Úcourses)ÚprefixÚtagsÚrequestÚreturncóB•URRR$©N)ÚappÚstateÚinit_dispatcher)r s Ú-E:\smartlearning\server\app\routes\courses.pyÚ_get_dispatcherr s€Ø ;‰;× Ñ × ,Ñ ,Ð,óz/coursescƒó2# •[R5$7fr)Úcourse_serviceÚget_course_index©rrÚ list_coursesrsé€ä × *Ñ *Ó ,Ð,ùó‚z/courses/base-manifestcƒón# •[R[R5nS[    U5US.$7f)NÚbase)ÚscopeÚ course_countr
)rÚbuild_base_course_sync_payloadsrÚbase_urlÚlen)Úpayloadss rÚget_base_courses_manifestr%s2é€ä×=Ñ=¼h×>OÑ>OÓP€HàܘH› Øñ ðùs‚35z/courses/{course_id}Ú    course_idcƒó‚# •[RU5$![an[S[    U5S9UeSnAff=f7f©Ni”©Ú status_codeÚdetail)rÚ
get_courseÚFileNotFoundErrorrÚstr©r&Úexcs  rr,r,s@é€ðGÜ×(Ñ(¨Ó3Ð3øÜ óGܨ´C¸³HÑ=À3ÐFûðGüó‚?„˜?™
<£7·<¼?z    /tasklistcƒó2# •[R5$7fr)rÚ get_tasklistrrrr3r3'sé€ä × &Ñ &Ó (Ð(ùrz/courses/{course_id}/taskscƒó‚# •[RU5$![an[S[    U5S9UeSnAff=f7fr()rÚget_course_taskr-rr.r/s  rÚget_course_tasksr6,s@é€ðGÜ×-Ñ-¨iÓ8Ð8øÜ óGܨ´C¸³HÑ=À3ÐFûðGür1z/courses/{course_id}/manifestcƒó¤# •[RU[R5nU$![an[ S[ U5S9UeSnAff=f7fr()rÚbuild_course_task_sync_payloadrr"r-rr.)r&Úpayloadr0s   rÚget_course_manifestr:4sLé€ðGÜ ×?Ñ?À    Ì8×K\ÑK\Ó]ˆØˆøÜ óGܨ´C¸³HÑ=À3ÐFûðGüs$‚A„%*©Aª
A ´AÁA Á Az /devices/initÚbodycƒó´# •URRRnURURUR
S9up4URX4S.$7f)N)Úforce)Ú    device_idÚcommandsÚstatus)rrÚ    auto_initÚdispatch_manual_initr>r=)r r;rAr?r@s     rÚ init_devicerC=sIé€à— ‘ ×!Ñ!×+Ñ+€IØ ×5Ñ5°d·n±nÈDÏJÉJÐ5ÐWÑ€HØŸ™°XÑ PÐPùs‚AAz/devices/course-initcƒóØ# •UR(d
[SSS9e[U5nURURUR5nURURUSS.$7f)Nizcourse_id is requiredr)Ú
dispatched)r>r&r?r@)r&rrÚdispatch_course_initr>)r r;Ú
dispatcherr?s    rÚinit_course_on_devicerHDs\é€à >>ܨÐ4KÑLÐLÜ  Ó)€JØ×.Ñ.¨t¯~©~¸t¿~¹~ÓN€Hà—^‘^Ø—^‘^ØØñ     ðùs‚A(A*N)ÚfastapirrrÚ
app.configrÚapp.models.schemasrÚapp.mqtt.init_dispatcherrÚapp.services.course_servicer    ÚrouterrrÚgetrr%r.r,r3r6r:ÚpostrCrHrrrÚ<module>rQskðß5Ñ5åÝ.Ý7Ý5á    ˜)¨9¨+Ñ    6€Ù“€ð-˜Wð-Ð);ô-ð‡ˆJÓñ-óð-ð‡Ð $Ó%ñó&ðð‡Ð "Ó#ðG óGó$ðGð‡ˆKÓñ)óð)ð‡Ð (Ó)ðG cóGó*ðGð‡Ð +Ó,ðG¨óGó-ðGð‡ˆ_ÓðQ˜wðQ¨oóQóðQ𠇁Р#Ó$ð
¨ð
¸ó
ó%ñ
r