>_ rehablogger
Система работает
← Все сессии
СЕССИЯ УСТРОЙСТВА

rehabapp_2026-08-18_09-17-13

Подключение…
Rehab Logger console · история загружается порциями по 250 записей
INFO [console] [DIO] content-type: application/json
INFO [console] [DIO] server: openresty
INFO [console] [DIO] Response Text:
INFO [console] [DIO] {"success":true,"meta":{"timestamp":"2026-08-18T06:21:29.269866Z","request_id":"128ef069-3ffa-43b8-8950-991db3e3e4bf","version":"v1"},"data":{"rehabilitation_day_id":2659,"phase_id":319,"diagnosis_rehab":"Мише для проверки","start_rehab":"2026-08-17 00:00:00","end_rehab":"2026-09-07 00:00:00","name_rehab_phase":"ФЫвфывфыв","status":["start"],"recommendations_count":1,"date":"2026-08-17","training":[{"mode":"correction_unit","status":"not_done","progress":null,"unit_id":964,"time":"10 - 20 мин","count_questions":2,"status_questions":false,"workout_id":null},{"mode":"diagnostics","status":"not_done","progress":null,"unit_id":963,"time":"10 - 20 мин","count_questions":null,"status_questions":false,"workout_id":null}]}}
INFO [console] [DIO]
INFO [console] ✅ RAW RESPONSE: {success: true, meta: {timestamp: 2026-08-18T06:21:29.269866Z, request_id: 128ef069-3ffa-43b8-8950-991db3e3e4bf, version: v1}, data: {rehabilitation_day_id: 2659, phase_id: 319, diagnosis_rehab: Мише для проверки, start_rehab: 2026-08-17 00:00:00, end_rehab: 2026-09-07 00:00:00, name_rehab_phase: ФЫвфывфыв, status: [start], recommendations_count: 1, date: 2026-08-17, training: [{mode: correction_unit, status: not_done, progress: null, unit_id: 964, time: 10 - 20 мин, count_questions: 2, status_questions: false, workout_id: null}, {mode: diagnostics, status: not_done, progress: null, unit_id: 963, time: 10 - 20 мин, count_questions: null, status_questions: false, workout_id: null}]}}
INFO [console] shrinkOffset: 16.533333333333303, progress: 0.06628484154257339
INFO [console] shrinkOffset: 96.5333333333333, progress: 0.38701794578083226
INFO [console] shrinkOffset: 109.33333333333326, progress: 0.4383352424589535
INFO [console] shrinkOffset: 119.46666666666658, progress: 0.4789614356624663
INFO [console] [DIO] *** Request ***
INFO [console] [DIO] uri: https://rehabilitation.most.team/api/v1/patient/workout/exercises?unit_id=964&rehabilitation_day_id=2659&workout_id
INFO [console] [DIO] method: GET
INFO [console] [DIO] responseType: ResponseType.json
INFO [console] [DIO] followRedirects: true
INFO [console] [DIO] persistentConnection: true
INFO [console] [DIO] connectTimeout: 0:00:10.000000
INFO [console] [DIO] sendTimeout: null
INFO [console] [DIO] receiveTimeout: 0:00:10.000000
INFO [console] [DIO] transformTimeout: null
INFO [console] [DIO] receiveDataWhenStatusError: true
INFO [console] [DIO] extra: {}
INFO [console] [DIO] headers:
INFO [console] [DIO] Authorization: Bearer 650|j6S8Z97bBgqIMsjE3UHF6jBbjyJg56d9Xb46jyIv3ae90ea2
INFO [console] [DIO] data:
INFO [console] [DIO] null
INFO [console] [DIO]
INFO [console] [DIO] *** Response ***
INFO [console] [DIO] uri: https://rehabilitation.most.team/api/v1/patient/workout/exercises?unit_id=964&rehabilitation_day_id=2659&workout_id
INFO [console] [DIO] statusCode: 200
INFO [console] [DIO] statusMessage: OK
INFO [console] [DIO] headers:
INFO [console] [DIO] x-served-by: rehabilitation.most.team
INFO [console] [DIO] access-control-allow-credentials: true
INFO [console] [DIO] connection: keep-alive
INFO [console] [DIO] cache-control: no-cache, private
INFO [console] [DIO] date: Tue, 18 Aug 2026 06:21:32 GMT
INFO [console] [DIO] transfer-encoding: chunked
INFO [console] [DIO] access-control-allow-origin: http://localhost:3000
INFO [console] [DIO] content-type: application/json
INFO [console] [DIO] server: openresty
INFO [console] [DIO] Response Text:
INFO [console] [DIO] {"success":true,"meta":{"timestamp":"2026-08-18T06:21:32.602939Z","request_id":"405be3f5-c23f-43ed-a310-f28a3507ac8a","version":"v1"},"data":{"unit_id":964,"workout_duration_start":10,"workout_duration_end":20,"body_side":"right","exercises":[{"id":85,"sequence_number":1,"name":"Тренировка икроножных мышц стоя","image":"https://rehabilitation.most.team/storage/exercise/photos/01KSM578DSDH215A8W6P26RXEH.png","by_body_side":"not_by_side","execution_order_type":null,"approaches_count":1,"execution_count":1,"execution_time":null,"instruction":{"exercise_name":"Тренировка икроножных мышц стоя","video":"https://rehabilitation.most.team/storage/exercise/videos/01KRJHJR20X1FNE739BG0QDYN4.mov","inventory":"Опора (стул, подоконник, стена)","warning":"Следите за положением пяток и стоп. Пятки не должны заваливаться внутрь (это признак неправильной нагрузки). Стопы должны оставаться параллельными на протяжении всего движения, для более наглядного контроля вы можете положить кубик для йоги между стопами\nСледите, чтобы спина была прямая\nНе уводите таз вперед/назад\nКолени держите выпрямленными","general_description":"В исходном положении стоя, ноги на ширине таза, руками опереться на спинку стула или стол, выполнить подъём на носки. Следить за тем, чтобы пятки не уходили внутрь, и стопы оставались параллельными. Цель – тренировка мышц голени.","steps":[{"exercise_id":85,"sequence_number":1,"step_text":"Встаньте прямо, лицом к устойчивой опоре (спинка стула, стол, подоконник, стена). Вы должны находиться боком оперированной ноги к камере"},{"exercise_id":85,"sequence_number":2,"step_text":"Поставьте ноги на ширине таза (примерно на расстоянии 10-15 см друг от друга). Стопы должны быть параллельны друг другу"},{"exercise_id":85,"sequence_number":3,"step_text":"Слегка обопритесь руками на опору для сохранения равновесия. Не переносите на руки весь вес тела"},{"exercise_id":85,"sequence_number":4,"step_text":"Спина прямая, живот слегка подтянут, взгляд направлен вперёд"},{"exercise_id":85,"sequence_number":5,"step_text":"Медленно и плавно поднимитесь как можно выше на носки, перенося вес тела на передние части стоп"},{"exercise_id":85,"sequence_number":6,"step_text":"Движение должно быть контролируемым. Максимально напрягите икроножные мышцы в верхней точке"},{"exercise_id":85,"sequence_number":7,"step_text":"Также под контролем медленно опустите пятки на пол, возвращаясь в исходное положение"},{"exercise_id":85,"sequence_number":8,"step_text":"Выполните поднятие на носки необходимое количество раз"}]}}]}}
INFO [console] [DIO]
INFO [console] ✅ RAW RESPONSE: {success: true, meta: {timestamp: 2026-08-18T06:21:32.602939Z, request_id: 405be3f5-c23f-43ed-a310-f28a3507ac8a, version: v1}, data: {unit_id: 964, workout_duration_start: 10, workout_duration_end: 20, body_side: right, exercises: [{id: 85, sequence_number: 1, name: Тренировка икроножных мышц стоя, image: https://rehabilitation.most.team/storage/exercise/photos/01KSM578DSDH215A8W6P26RXEH.png, by_body_side: not_by_side, execution_order_type: null, approaches_count: 1, execution_count: 1, execution_time: null, instruction: {exercise_name: Тренировка икроножных мышц стоя, video: https://rehabilitation.most.team/storage/exercise/videos/01KRJHJR20X1FNE739BG0QDYN4.mov, inventory: Опора (стул, подоконник, стена), warning: Следите за положением пяток и стоп. Пятки не должны заваливаться внутрь (это признак неправильной нагрузки). Стопы должны оставаться параллельными на протяжении всего движения, для более наглядного контроля вы можете положить кубик для йоги между стопами След
INFO [console] ите, чтобы спина была прямая Не уводите таз вперед/назад Колени держите выпрямленными, general_description: В исходном положении стоя, ноги на ширине таза, руками опереться на спинку стула или стол, выполнить подъём на носки. Следить за тем, чтобы пятки не уходили внутрь, и стопы оставались параллельными. Цель – тренировка мышц голени., steps: [{exercise_id: 85, sequence_number: 1, step_text: Встаньте прямо, лицом к устойчивой опоре (спинка стула, стол, подоконник, стена). Вы должны находиться боком оперированной ноги к камере}, {exercise_id: 85, sequence_number: 2, step_text: Поставьте ноги на ширине таза (примерно на расстоянии 10-15 см друг от друга). Стопы должны быть параллельны друг другу}, {exercise_id: 85, sequence_number: 3, step_text: Слегка обопритесь руками на опору для сохранения равновесия. Не переносите на руки весь вес тела}, {exercise_id: 85, sequence_number: 4, step_text: Спина прямая, живот слегка подтянут, взгляд направлен вперёд}, {exercise_id: 85, sequence_number:
INFO [console] 5, step_text: Медленно и плавно поднимитесь как можно выше на носки, перенося вес тела на передние части стоп}, {exercise_id: 85, sequence_number: 6, step_text: Движение должно быть контролируемым. Максимально напрягите икроножные мышцы в верхней точке}, {exercise_id: 85, sequence_number: 7, step_text: Также под контролем медленно опустите пятки на пол, возвращаясь в исходное положение}, {exercise_id: 85, sequence_number: 8, step_text: Выполните поднятие на носки необходимое количество раз}]}}]}}
INFO [console] Request query: {start_date: 2026-07-27, end_date: 2026-09-06}
INFO [console] shrinkOffset: 119.46666666666658, progress: 0.4789614356624663
INFO [console] shrinkOffset: 119.46666666666658, progress: 0.4789614356624663
INFO [console] [DIO] *** Request ***
INFO [console] [DIO] uri: https://rehabilitation.most.team/api/v1/patient/rehabilitation/calendar/period?start_date=2026-07-27&end_date=2026-09-06
INFO [console] [DIO] method: GET
INFO [console] [DIO] responseType: ResponseType.json
INFO [console] [DIO] followRedirects: true
INFO [console] [DIO] persistentConnection: true
INFO [console] [DIO] connectTimeout: 0:00:10.000000
INFO [console] [DIO] sendTimeout: null
INFO [console] [DIO] receiveTimeout: 0:00:10.000000
INFO [console] [DIO] transformTimeout: null
INFO [console] [DIO] receiveDataWhenStatusError: true
INFO [console] [DIO] extra: {}
INFO [console] [DIO] headers:
INFO [console] [DIO] Authorization: Bearer 650|j6S8Z97bBgqIMsjE3UHF6jBbjyJg56d9Xb46jyIv3ae90ea2
INFO [console] [DIO] data:
INFO [console] [DIO] null
INFO [console] [DIO]
INFO [console] [DIO] *** Response ***
INFO [console] [DIO] uri: https://rehabilitation.most.team/api/v1/patient/rehabilitation/calendar/period?start_date=2026-07-27&end_date=2026-09-06
INFO [console] [DIO] statusCode: 200
INFO [console] [DIO] statusMessage: OK
INFO [console] [DIO] headers:
INFO [console] [DIO] x-served-by: rehabilitation.most.team
INFO [console] [DIO] access-control-allow-credentials: true
INFO [console] [DIO] connection: keep-alive
INFO [console] [DIO] cache-control: no-cache, private
INFO [console] [DIO] date: Tue, 18 Aug 2026 06:21:35 GMT
INFO [console] [DIO] transfer-encoding: chunked
INFO [console] [DIO] access-control-allow-origin: http://localhost:3000
INFO [console] [DIO] content-type: application/json
INFO [console] [DIO] server: openresty
INFO [console] [DIO] Response Text:
INFO [console] [DIO] {"success":true,"meta":{"timestamp":"2026-08-18T06:21:35.124799Z","request_id":"0c4ff703-e09a-4747-8bad-d13695a54187","version":"v1"},"data":{"start_rehab":"2026-08-17 00:00:00","end_rehab":"2026-09-07 00:00:00","days":[{"date":"2026-08-17","status":["start"],"training":[{"mode":"correction_unit","status":"not_done","progress":null},{"mode":"diagnostics","status":"not_done","progress":null}]},{"date":"2026-08-18","status":["none"],"training":[{"mode":"correction_unit","status":"not_done","progress":null}]},{"date":"2026-08-19","status":["none"],"training":[{"mode":"correction_unit","status":"not_done","progress":null}]},{"date":"2026-08-20","status":["none"],"training":[{"mode":"correction_unit","status":"not_done","progress":null}]},{"date":"2026-08-21","status":["none"],"training":[{"mode":"correction_unit","status":"not_done","progress":null}]},{"date":"2026-08-22","status":["none"],"training":[{"mode":"correction_unit","status":"not_done","progress":null}]},{"date":"2026-08-23","status":["none"],"training":[{"mode":"correction_unit","status":"not_done","progress":null}]},{"date":"2026-08-24","status":["none"],"training":[{"mode":"correction_unit","status":"not_done","progress":null},{"mode":"diagnostics","status":"not_done","progress":null}]},{"date":"2026-08-25","status":["none"],"training":[{"mode":"correction_unit","status":"not_done","progress":null}]},{"date":"2026-08-26","status":["none"],"training":[{"mode":"correction_unit","status":"not_done","progress":null}]},{"date":"2026-08-27","status":["none"],"training":[{"mode":"correction_unit","status":"not_done","progress":null}]},{"date":"2026-08-28","status":["none"],"training":[{"mode":"correction_unit","status":"not_done","progress":null}]},{"date":"2026-08-29","status":["none"],"training":[{"mode":"correction_unit","status":"not_done","progress":null}]},{"date":"2026-08-30","status":["none"],"training":[{"mode":"correction_unit","status":"not_done","progress":null}]},{"date":"2026-08-31","status":["none"],"training":[{"mode":"correction_unit","status":"not_done","progress":null},{"mode":"diagnostics","status":"not_done","progress":null}]},{"date":"2026-09-01","status":["none"],"training":[{"mode":"correction_unit","status":"not_done","progress":null}]},{"date":"2026-09-02","status":["none"],"training":[{"mode":"correction_unit","status":"not_done","progress":null}]},{"date":"2026-09-03","status":["none"],"training":[{"mode":"correction_unit","status":"not_done","progress":null}]},{"date":"2026-09-04","status":["none"],"training":[{"mode":"correction_unit","status":"not_done","progress":null}]},{"date":"2026-09-05","status":["none"],"training":[{"mode":"correction_unit","status":"not_done","progress":null}]},{"date":"2026-09-06","status":["first_control"],"training":[{"mode":"screening_test","status":"not_done","progress":null}]}]}}
INFO [console] [DIO]
INFO [console] ✅ RAW RESPONSE: {success: true, meta: {timestamp: 2026-08-18T06:21:35.124799Z, request_id: 0c4ff703-e09a-4747-8bad-d13695a54187, version: v1}, data: {start_rehab: 2026-08-17 00:00:00, end_rehab: 2026-09-07 00:00:00, days: [{date: 2026-08-17, status: [start], training: [{mode: correction_unit, status: not_done, progress: null}, {mode: diagnostics, status: not_done, progress: null}]}, {date: 2026-08-18, status: [none], training: [{mode: correction_unit, status: not_done, progress: null}]}, {date: 2026-08-19, status: [none], training: [{mode: correction_unit, status: not_done, progress: null}]}, {date: 2026-08-20, status: [none], training: [{mode: correction_unit, status: not_done, progress: null}]}, {date: 2026-08-21, status: [none], training: [{mode: correction_unit, status: not_done, progress: null}]}, {date: 2026-08-22, status: [none], training: [{mode: correction_unit, status: not_done, progress: null}]}, {date: 2026-08-23, status: [none], training: [{mode: correction_unit, status: n
INFO [console] ot_done, progress: null}]}, {date: 2026-08-24, status: [none], training: [{mode: correction_unit, status: not_done, progress: null}, {mode: diagnostics, status: not_done, progress: null}]}, {date: 2026-08-25, status: [none], training: [{mode: correction_unit, status: not_done, progress: null}]}, {date: 2026-08-26, status: [none], training: [{mode: correction_unit, status: not_done, progress: null}]}, {date: 2026-08-27, status: [none], training: [{mode: correction_unit, status: not_done, progress: null}]}, {date: 2026-08-28, status: [none], training: [{mode: correction_unit, status: not_done, progress: null}]}, {date: 2026-08-29, status: [none], training: [{mode: correction_unit, status: not_done, progress: null}]}, {date: 2026-08-30, status: [none], training: [{mode: correction_unit, status: not_done, progress: null}]}, {date: 2026-08-31, status: [none], training: [{mode: correction_unit, status: not_done, progress: null}, {mode: diagnostics, status: not_done, progress: null}]}, {date:
INFO [console] 2026-09-01, status: [none], training: [{mode: correction_unit, status: not_done, progress: null}]}, {date: 2026-09-02, status: [none], training: [{mode: correction_unit, status: not_done, progress: null}]}, {date: 2026-09-03, status: [none], training: [{mode: correction_unit, status: not_done, progress: null}]}, {date: 2026-09-04, status: [none], training: [{mode: correction_unit, status: not_done, progress: null}]}, {date: 2026-09-05, status: [none], training: [{mode: correction_unit, status: not_done, progress: null}]}, {date: 2026-09-06, status: [first_control], training: [{mode: screening_test, status: not_done, progress: null}]}]}}
INFO [console] shrinkOffset: 119.46666666666658, progress: 0.4789614356624663
INFO [console] shrinkOffset: 119.46666666666658, progress: 0.4789614356624663
INFO [console] [DIO] *** Request ***
INFO [console] [DIO] uri: https://rehabilitation.most.team/api/v1/patient/rehabilitation/calendar/day?date=2026-08-17
INFO [console] [DIO] method: GET
INFO [console] [DIO] responseType: ResponseType.json
INFO [console] [DIO] followRedirects: true
INFO [console] [DIO] persistentConnection: true
INFO [console] [DIO] connectTimeout: 0:00:10.000000
INFO [console] [DIO] sendTimeout: null
INFO [console] [DIO] receiveTimeout: 0:00:10.000000
INFO [console] [DIO] transformTimeout: null
INFO [console] [DIO] receiveDataWhenStatusError: true
INFO [console] [DIO] extra: {}
INFO [console] [DIO] headers:
INFO [console] [DIO] Authorization: Bearer 650|j6S8Z97bBgqIMsjE3UHF6jBbjyJg56d9Xb46jyIv3ae90ea2
INFO [console] [DIO] data:
INFO [console] [DIO] null
INFO [console] [DIO]
INFO [console] [DIO] *** Response ***
INFO [console] [DIO] uri: https://rehabilitation.most.team/api/v1/patient/rehabilitation/calendar/day?date=2026-08-17
INFO [console] [DIO] statusCode: 200
INFO [console] [DIO] statusMessage: OK
INFO [console] [DIO] headers:
INFO [console] [DIO] x-served-by: rehabilitation.most.team
INFO [console] [DIO] access-control-allow-credentials: true
INFO [console] [DIO] connection: keep-alive
INFO [console] [DIO] cache-control: no-cache, private
INFO [console] [DIO] date: Tue, 18 Aug 2026 06:21:35 GMT
INFO [console] [DIO] transfer-encoding: chunked
INFO [console] [DIO] access-control-allow-origin: http://localhost:3000
INFO [console] [DIO] content-type: application/json
INFO [console] [DIO] server: openresty
INFO [console] [DIO] Response Text:
INFO [console] [DIO] {"success":true,"meta":{"timestamp":"2026-08-18T06:21:35.726474Z","request_id":"f3eb8623-2fd3-4483-bbf9-ceac4b4bc57c","version":"v1"},"data":{"rehabilitation_day_id":2659,"phase_id":319,"diagnosis_rehab":"Мише для проверки","start_rehab":"2026-08-17 00:00:00","end_rehab":"2026-09-07 00:00:00","name_rehab_phase":"ФЫвфывфыв","status":["start"],"recommendations_count":1,"date":"2026-08-17","training":[{"mode":"correction_unit","status":"not_done","progress":null,"unit_id":964,"time":"10 - 20 мин","count_questions":2,"status_questions":false,"workout_id":null},{"mode":"diagnostics","status":"not_done","progress":null,"unit_id":963,"time":"10 - 20 мин","count_questions":null,"status_questions":false,"workout_id":null}]}}
INFO [console] [DIO]
INFO [console] ✅ RAW RESPONSE: {success: true, meta: {timestamp: 2026-08-18T06:21:35.726474Z, request_id: f3eb8623-2fd3-4483-bbf9-ceac4b4bc57c, version: v1}, data: {rehabilitation_day_id: 2659, phase_id: 319, diagnosis_rehab: Мише для проверки, start_rehab: 2026-08-17 00:00:00, end_rehab: 2026-09-07 00:00:00, name_rehab_phase: ФЫвфывфыв, status: [start], recommendations_count: 1, date: 2026-08-17, training: [{mode: correction_unit, status: not_done, progress: null, unit_id: 964, time: 10 - 20 мин, count_questions: 2, status_questions: false, workout_id: null}, {mode: diagnostics, status: not_done, progress: null, unit_id: 963, time: 10 - 20 мин, count_questions: null, status_questions: false, workout_id: null}]}}
INFO [console] Push message received: PushNotificationMessage(provider: fcm, messageId: 0:1787034131229537%8ba609de8ba609de, title: Вам назначена реабилитация, body: Вам назначена реабилитация Упражнение для Михаила, data: {action: profile_rehabilitation, version: v1})
INFO [console] Request query: {start_date: 2026-07-27, end_date: 2026-09-06}
INFO [console] shrinkOffset: 119.46666666666658, progress: 0.4789614356624663
INFO [console] shrinkOffset: 119.46666666666658, progress: 0.4789614356624663
INFO [console] [DIO] *** Request ***
INFO [console] [DIO] uri: https://rehabilitation.most.team/api/v1/patient/rehabilitation/calendar/period?start_date=2026-07-27&end_date=2026-09-06
INFO [console] [DIO] method: GET
INFO [console] [DIO] responseType: ResponseType.json
INFO [console] [DIO] followRedirects: true
INFO [console] [DIO] persistentConnection: true
INFO [console] [DIO] connectTimeout: 0:00:10.000000
INFO [console] [DIO] sendTimeout: null
INFO [console] [DIO] receiveTimeout: 0:00:10.000000
INFO [console] [DIO] transformTimeout: null
INFO [console] [DIO] receiveDataWhenStatusError: true
INFO [console] [DIO] extra: {}
INFO [console] [DIO] headers:
INFO [console] [DIO] Authorization: Bearer 650|j6S8Z97bBgqIMsjE3UHF6jBbjyJg56d9Xb46jyIv3ae90ea2
INFO [console] [DIO] data:
INFO [console] [DIO] null
INFO [console] [DIO]
INFO [console] [DIO] *** Response ***
INFO [console] [DIO] uri: https://rehabilitation.most.team/api/v1/patient/rehabilitation/calendar/period?start_date=2026-07-27&end_date=2026-09-06
INFO [console] [DIO] statusCode: 200
INFO [console] [DIO] statusMessage: OK
INFO [console] [DIO] headers:
INFO [console] [DIO] x-served-by: rehabilitation.most.team
INFO [console] [DIO] access-control-allow-credentials: true
INFO [console] [DIO] connection: keep-alive
INFO [console] [DIO] cache-control: no-cache, private
INFO [console] [DIO] date: Tue, 18 Aug 2026 06:22:15 GMT
INFO [console] [DIO] transfer-encoding: chunked
INFO [console] [DIO] access-control-allow-origin: http://localhost:3000
INFO [console] [DIO] content-type: application/json
INFO [console] [DIO] server: openresty
INFO [console] [DIO] Response Text:
INFO [console] [DIO] {"success":true,"meta":{"timestamp":"2026-08-18T06:22:15.727121Z","request_id":"53ab9da4-d241-4b44-9bc6-44e7bdc44f77","version":"v1"},"data":{"start_rehab":"2026-08-18 00:00:00","end_rehab":"2026-09-01 00:00:00","days":[{"date":"2026-08-18","status":["start"],"training":[{"mode":"correction_unit","status":"not_done","progress":null},{"mode":"diagnostics","status":"not_done","progress":null}]},{"date":"2026-08-19","status":["none"],"training":[{"mode":"correction_unit","status":"not_done","progress":null}]},{"date":"2026-08-20","status":["none"],"training":[{"mode":"correction_unit","status":"not_done","progress":null}]},{"date":"2026-08-21","status":["none"],"training":[{"mode":"correction_unit","status":"not_done","progress":null}]},{"date":"2026-08-22","status":["none"],"training":[{"mode":"correction_unit","status":"not_done","progress":null}]},{"date":"2026-08-23","status":["none"],"training":[{"mode":"correction_unit","status":"not_done","progress":null}]},{"date":"2026-08-24","status":["none"],"training":[{"mode":"correction_unit","status":"not_done","progress":null}]},{"date":"2026-08-25","status":["none"],"training":[{"mode":"correction_unit","status":"not_done","progress":null},{"mode":"diagnostics","status":"not_done","progress":null}]},{"date":"2026-08-26","status":["none"],"training":[{"mode":"correction_unit","status":"not_done","progress":null}]},{"date":"2026-08-27","status":["none"],"training":[{"mode":"correction_unit","status":"not_done","progress":null}]},{"date":"2026-08-28","status":["none"],"training":[{"mode":"correction_unit","status":"not_done","progress":null}]},{"date":"2026-08-29","status":["none"],"training":[{"mode":"correction_unit","status":"not_done","progress":null}]},{"date":"2026-08-30","status":["none"],"training":[{"mode":"correction_unit","status":"not_done","progress":null}]},{"date":"2026-08-31","status":["first_control"],"training":[{"mode":"screening_test","status":"not_done","progress":null}]},{"date":"2026-09-01","status":["end"],"training":[]}]}}
INFO [console] [DIO]
INFO [console] ✅ RAW RESPONSE: {success: true, meta: {timestamp: 2026-08-18T06:22:15.727121Z, request_id: 53ab9da4-d241-4b44-9bc6-44e7bdc44f77, version: v1}, data: {start_rehab: 2026-08-18 00:00:00, end_rehab: 2026-09-01 00:00:00, days: [{date: 2026-08-18, status: [start], training: [{mode: correction_unit, status: not_done, progress: null}, {mode: diagnostics, status: not_done, progress: null}]}, {date: 2026-08-19, status: [none], training: [{mode: correction_unit, status: not_done, progress: null}]}, {date: 2026-08-20, status: [none], training: [{mode: correction_unit, status: not_done, progress: null}]}, {date: 2026-08-21, status: [none], training: [{mode: correction_unit, status: not_done, progress: null}]}, {date: 2026-08-22, status: [none], training: [{mode: correction_unit, status: not_done, progress: null}]}, {date: 2026-08-23, status: [none], training: [{mode: correction_unit, status: not_done, progress: null}]}, {date: 2026-08-24, status: [none], training: [{mode: correction_unit, status: n
INFO [console] ot_done, progress: null}]}, {date: 2026-08-25, status: [none], training: [{mode: correction_unit, status: not_done, progress: null}, {mode: diagnostics, status: not_done, progress: null}]}, {date: 2026-08-26, status: [none], training: [{mode: correction_unit, status: not_done, progress: null}]}, {date: 2026-08-27, status: [none], training: [{mode: correction_unit, status: not_done, progress: null}]}, {date: 2026-08-28, status: [none], training: [{mode: correction_unit, status: not_done, progress: null}]}, {date: 2026-08-29, status: [none], training: [{mode: correction_unit, status: not_done, progress: null}]}, {date: 2026-08-30, status: [none], training: [{mode: correction_unit, status: not_done, progress: null}]}, {date: 2026-08-31, status: [first_control], training: [{mode: screening_test, status: not_done, progress: null}]}, {date: 2026-09-01, status: [end], training: []}]}}
INFO [console] shrinkOffset: 119.46666666666658, progress: 0.4789614356624663
INFO [console] shrinkOffset: 119.46666666666658, progress: 0.4789614356624663
INFO [console] [DIO] *** Request ***
INFO [console] [DIO] uri: https://rehabilitation.most.team/api/v1/patient/rehabilitation/calendar/day?date=2026-08-18
INFO [console] [DIO] method: GET
INFO [console] [DIO] responseType: ResponseType.json
INFO [console] [DIO] followRedirects: true
INFO [console] [DIO] persistentConnection: true
INFO [console] [DIO] connectTimeout: 0:00:10.000000
INFO [console] [DIO] sendTimeout: null
INFO [console] [DIO] receiveTimeout: 0:00:10.000000
INFO [console] [DIO] transformTimeout: null
INFO [console] [DIO] receiveDataWhenStatusError: true
INFO [console] [DIO] extra: {}
INFO [console] [DIO] headers:
INFO [console] [DIO] Authorization: Bearer 650|j6S8Z97bBgqIMsjE3UHF6jBbjyJg56d9Xb46jyIv3ae90ea2
INFO [console] [DIO] data:
INFO [console] [DIO] null
INFO [console] [DIO]
INFO [console] [DIO] *** Response ***
INFO [console] [DIO] uri: https://rehabilitation.most.team/api/v1/patient/rehabilitation/calendar/day?date=2026-08-18
INFO [console] [DIO] statusCode: 200
INFO [console] [DIO] statusMessage: OK
INFO [console] [DIO] headers:
INFO [console] [DIO] x-served-by: rehabilitation.most.team
INFO [console] [DIO] access-control-allow-credentials: true
INFO [console] [DIO] connection: keep-alive
INFO [console] [DIO] cache-control: no-cache, private
INFO [console] [DIO] date: Tue, 18 Aug 2026 06:22:16 GMT
INFO [console] [DIO] transfer-encoding: chunked
INFO [console] [DIO] access-control-allow-origin: http://localhost:3000
INFO [console] [DIO] content-type: application/json
INFO [console] [DIO] server: openresty
INFO [console] [DIO] Response Text:
INFO [console] [DIO] {"success":true,"meta":{"timestamp":"2026-08-18T06:22:16.316136Z","request_id":"2e29a423-04d8-441c-8889-47ae507e3aa6","version":"v1"},"data":{"rehabilitation_day_id":2690,"phase_id":321,"diagnosis_rehab":"Упражнение для Михаила","start_rehab":"2026-08-18 00:00:00","end_rehab":"2026-09-01 00:00:00","name_rehab_phase":"Первая","status":["start"],"recommendations_count":1,"date":"2026-08-18","training":[{"mode":"correction_unit","status":"not_done","progress":null,"unit_id":970,"time":"10 - 20 мин","count_questions":2,"status_questions":false,"workout_id":null},{"mode":"diagnostics","status":"not_done","progress":null,"unit_id":969,"time":"10 - 20 мин","count_questions":null,"status_questions":false,"workout_id":null}]}}
INFO [console] [DIO]
INFO [console] ✅ RAW RESPONSE: {success: true, meta: {timestamp: 2026-08-18T06:22:16.316136Z, request_id: 2e29a423-04d8-441c-8889-47ae507e3aa6, version: v1}, data: {rehabilitation_day_id: 2690, phase_id: 321, diagnosis_rehab: Упражнение для Михаила, start_rehab: 2026-08-18 00:00:00, end_rehab: 2026-09-01 00:00:00, name_rehab_phase: Первая, status: [start], recommendations_count: 1, date: 2026-08-18, training: [{mode: correction_unit, status: not_done, progress: null, unit_id: 970, time: 10 - 20 мин, count_questions: 2, status_questions: false, workout_id: null}, {mode: diagnostics, status: not_done, progress: null, unit_id: 969, time: 10 - 20 мин, count_questions: null, status_questions: false, workout_id: null}]}}
INFO [console] [DIO] *** Request ***
INFO [console] [DIO] uri: https://rehabilitation.most.team/api/v1/patient/workout/exercises?unit_id=970&rehabilitation_day_id=2690&workout_id
INFO [console] [DIO] method: GET
INFO [console] [DIO] responseType: ResponseType.json
INFO [console] [DIO] followRedirects: true
INFO [console] [DIO] persistentConnection: true
INFO [console] [DIO] connectTimeout: 0:00:10.000000
INFO [console] [DIO] sendTimeout: null
INFO [console] [DIO] receiveTimeout: 0:00:10.000000
INFO [console] [DIO] transformTimeout: null
INFO [console] [DIO] receiveDataWhenStatusError: true
INFO [console] [DIO] extra: {}
INFO [console] [DIO] headers:
INFO [console] [DIO] Authorization: Bearer 650|j6S8Z97bBgqIMsjE3UHF6jBbjyJg56d9Xb46jyIv3ae90ea2
INFO [console] [DIO] data:
INFO [console] [DIO] null
INFO [console] [DIO]
INFO [console] [DIO] *** Response ***
INFO [console] [DIO] uri: https://rehabilitation.most.team/api/v1/patient/workout/exercises?unit_id=970&rehabilitation_day_id=2690&workout_id
INFO [console] [DIO] statusCode: 200
INFO [console] [DIO] statusMessage: OK
INFO [console] [DIO] headers:
INFO [console] [DIO] x-served-by: rehabilitation.most.team
INFO [console] [DIO] access-control-allow-credentials: true
INFO [console] [DIO] connection: keep-alive
INFO [console] [DIO] cache-control: no-cache, private
INFO [console] [DIO] date: Tue, 18 Aug 2026 06:22:21 GMT
INFO [console] [DIO] transfer-encoding: chunked
INFO [console] [DIO] access-control-allow-origin: http://localhost:3000
INFO [console] [DIO] content-type: application/json
INFO [console] [DIO] server: openresty
INFO [console] [DIO] Response Text:
INFO [console] [DIO] {"success":true,"meta":{"timestamp":"2026-08-18T06:22:21.541370Z","request_id":"bfc5b179-b972-4e7e-ad27-8601a4dac759","version":"v1"},"data":{"unit_id":970,"workout_duration_start":10,"workout_duration_end":20,"body_side":"right","exercises":[{"id":97,"sequence_number":1,"name":"[тестовый] Подъём прямой ноги в сторону - В и.п. лёжа на боку","image":"https://rehabilitation.most.team/storage/exercise/photos/01M07H082ZHTXW5YEE3WYQ188J.png","by_body_side":"by_side","execution_order_type":"isolated","approaches_count":1,"execution_count":2,"execution_time":null,"instruction":{"exercise_name":"[тестовый] Подъём прямой ноги в сторону - В и.п. лёжа на боку","video":"https://rehabilitation.most.team/storage/exercise/videos/01M07H0833AV7J7QJSJ7MK1402.mov","inventory":null,"warning":"Верхняя нога не должна сильно сгибаться в бедре, т.е. отклоняться вперёд к животу","general_description":"Лёжа на боку отвести верхнюю ногу в сторону (поднять). Верхняя нога не должна сильно сгибаться в бедре, т.е. отклоняться вперёд к животу. Представьте, что вы лежите на боку и прижимаетесь спиной к стене, а далее скользите пяткой верхней ноги по стене вверх. Цель – тренировка мышц абдукторов/аддукторов бедра.","steps":[{"exercise_id":97,"sequence_number":1,"step_text":"Лягте на бок так, чтобы рабочая нога была сверху"},{"exercise_id":97,"sequence_number":2,"step_text":"Убедитесь, что вы лежите ровно. Голова может лежать на руке или на подушке"},{"exercise_id":97,"sequence_number":3,"step_text":"Нижнюю ногу слегка согните в колене и тазобедренном суставе для устойчивости"},{"exercise_id":97,"sequence_number":4,"step_text":"Верхнюю ногу полностью выпрямите. Она должна находиться строго над нижней ногой, образуя одну линию с туловищем"},{"exercise_id":97,"sequence_number":5,"step_text":"Положите верхнюю руку на талию или на матрас перед собой для равновесия"},{"exercise_id":97,"sequence_number":6,"step_text":"На выдохе: Медленно поднимите (отведите) прямую ногу вверх. Движение должно происходить строго в плоскости тела, как будто вы отводите ногу в сторону. Нога не должна сгибаться в тазобедренном суставе и отклоняться вперёд по направлению к животу или назад по направлению к спине"},{"exercise_id":97,"sequence_number":7,"step_text":"В верхней точке задержитесь на 1-2 секунды, сохраняя ногу прямой и чувствуя напряжение в боковой поверхности бедра и ягодице"},{"exercise_id":97,"sequence_number":8,"step_text":"На вдохе: Плавно, без рывка, опустите ногу в исходное положение. Старайтесь не класть ногу полностью на нижнюю, а остановитесь чуть выше, чтобы сохранить напряжение в мышцах"},{"exercise_id":97,"sequence_number":9,"step_text":"Повторите необходимое количество раз "}]}}]}}
INFO [console] [DIO]
INFO [console] ✅ RAW RESPONSE: {success: true, meta: {timestamp: 2026-08-18T06:22:21.541370Z, request_id: bfc5b179-b972-4e7e-ad27-8601a4dac759, version: v1}, data: {unit_id: 970, workout_duration_start: 10, workout_duration_end: 20, body_side: right, exercises: [{id: 97, sequence_number: 1, name: [тестовый] Подъём прямой ноги в сторону - В и.п. лёжа на боку, image: https://rehabilitation.most.team/storage/exercise/photos/01M07H082ZHTXW5YEE3WYQ188J.png, by_body_side: by_side, execution_order_type: isolated, approaches_count: 1, execution_count: 2, execution_time: null, instruction: {exercise_name: [тестовый] Подъём прямой ноги в сторону - В и.п. лёжа на боку, video: https://rehabilitation.most.team/storage/exercise/videos/01M07H0833AV7J7QJSJ7MK1402.mov, inventory: null, warning: Верхняя нога не должна сильно сгибаться в бедре, т.е. отклоняться вперёд к животу, general_description: Лёжа на боку отвести верхнюю ногу в сторону (поднять). Верхняя нога не должна сильно сгибаться в бедре, т.е. отклоняться в
INFO [console] перёд к животу. Представьте, что вы лежите на боку и прижимаетесь спиной к стене, а далее скользите пяткой верхней ноги по стене вверх. Цель – тренировка мышц абдукторов/аддукторов бедра., steps: [{exercise_id: 97, sequence_number: 1, step_text: Лягте на бок так, чтобы рабочая нога была сверху}, {exercise_id: 97, sequence_number: 2, step_text: Убедитесь, что вы лежите ровно. Голова может лежать на руке или на подушке}, {exercise_id: 97, sequence_number: 3, step_text: Нижнюю ногу слегка согните в колене и тазобедренном суставе для устойчивости}, {exercise_id: 97, sequence_number: 4, step_text: Верхнюю ногу полностью выпрямите. Она должна находиться строго над нижней ногой, образуя одну линию с туловищем}, {exercise_id: 97, sequence_number: 5, step_text: Положите верхнюю руку на талию или на матрас перед собой для равновесия}, {exercise_id: 97, sequence_number: 6, step_text: На выдохе: Медленно поднимите (отведите) прямую ногу вверх. Движение должно происходить строго в плоскости тела, к
INFO [console] ак будто вы отводите ногу в сторону. Нога не должна сгибаться в тазобедренном суставе и отклоняться вперёд по направлению к животу или назад по направлению к спине}, {exercise_id: 97, sequence_number: 7, step_text: В верхней точке задержитесь на 1-2 секунды, сохраняя ногу прямой и чувствуя напряжение в боковой поверхности бедра и ягодице}, {exercise_id: 97, sequence_number: 8, step_text: На вдохе: Плавно, без рывка, опустите ногу в исходное положение. Старайтесь не класть ногу полностью на нижнюю, а остановитесь чуть выше, чтобы сохранить напряжение в мышцах}, {exercise_id: 97, sequence_number: 9, step_text: Повторите необходимое количество раз }]}}]}}
INFO [console] ┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
INFO [console] │ #0 new FlutterSoundPlayer (package:flutter_sound/public/flutter_sound_player.dart:200:13)
INFO [console] │ #1 new AudioPlayerServiceImpl (package:testapp/features/training/data/services/audio_player_service_impl.dart:6:19)
INFO [console] ├┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄
INFO [console] │ 🐛 ctor: FlutterSoundPlayer()
INFO [console] └───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
INFO [console] ┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
INFO [console] │ #0 FlutterSoundPlayer._openPlayer (package:flutter_sound/public/flutter_sound_player.dart:727:13)
INFO [console] │ #1 FlutterSoundPlayer.openPlayer.<anonymous closure> (package:flutter_sound/public/flutter_sound_player.dart:721:11)
INFO [console] ├┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄
INFO [console] │ 🐛 FS:---> _openPlayer
INFO [console] └───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
$
250 строкUTF-8LIVE