├── education_web
├── src
│ ├── components
│ │ ├── video.scss
│ │ ├── custom-button.tsx
│ │ ├── github-icon
│ │ │ └── index.tsx
│ │ ├── icon.tsx
│ │ ├── lang-select.tsx
│ │ ├── role-radio.scss
│ │ └── volume
│ │ │ └── index.scss
│ ├── assets
│ │ ├── github.png
│ │ ├── cover-cn.png
│ │ ├── cover-us.png
│ │ ├── hand_tool.png
│ │ ├── icon-move.png
│ │ ├── cancel-share.png
│ │ ├── icon-down@2x.png
│ │ ├── icon-end@2x.png
│ │ ├── icon-exit@2x.png
│ │ ├── icon-hand@2x.png
│ │ ├── icon-home@2x.png
│ │ ├── icon-left@2x.png
│ │ ├── icon-loading.png
│ │ ├── icon-max@2x.png
│ │ ├── icon-min@2x.png
│ │ ├── icon-next@2x.png
│ │ ├── icon-play@2x.png
│ │ ├── icon-ppt@2x.png
│ │ ├── icon-prev@2x.png
│ │ ├── icon-stop@2x.png
│ │ ├── icon-time@2x.png
│ │ ├── pic-index@2x.png
│ │ ├── pic-student.png
│ │ ├── pic-teacher.png
│ │ ├── Rectangle-2@2x.png
│ │ ├── Rectangle-6@2x.png
│ │ ├── icon-clickable.png
│ │ ├── icon-delete@2x.png
│ │ ├── icon-first@2x.png
│ │ ├── icon-folder@2x.png
│ │ ├── icon-pause@2x.png
│ │ ├── icon-record@2x.png
│ │ ├── icon-right@2x.png
│ │ ├── icon-share@2x.png
│ │ ├── logo-agora@2x.png
│ │ ├── pic-message@2x.png
│ │ ├── signal-bad@2x.png
│ │ ├── signal-good@2x.png
│ │ ├── tool-circle@2x.png
│ │ ├── tool-square@2x.png
│ │ ├── icon-camera-on@2x.png
│ │ ├── icon-caution@2x.png
│ │ ├── icon-connect-s@2x.png
│ │ ├── icon-connect@2x.png
│ │ ├── icon-hand-disable.png
│ │ ├── icon-lock-board.png
│ │ ├── icon-play-big@2x.png
│ │ ├── icon-setting@2x.png
│ │ ├── icon-share-white.png
│ │ ├── icon-signal01@2x.png
│ │ ├── icon-signal02@2x.png
│ │ ├── icon-signal03@2x.png
│ │ ├── icon-smaller@2x.png
│ │ ├── icon-speaker-off.png
│ │ ├── icon-speaker-on.png
│ │ ├── icon-speaker01@2x.png
│ │ ├── icon-speaker02@2x.png
│ │ ├── icon-speaker03-s.png
│ │ ├── icon-speaker03@2x.png
│ │ ├── icon-speaker@2x.png
│ │ ├── icon-success@2x.png
│ │ ├── media-covert-pic.png
│ │ ├── pic-no-video@2x.png
│ │ ├── signal-normal@2x.png
│ │ ├── whiteboard_file.png
│ │ ├── Rectangle-6-Copy@2x.png
│ │ ├── icon-camera-off@2x.png
│ │ ├── icon-cameraoff-s@2x.png
│ │ ├── icon-cameraon-s@2x.png
│ │ ├── icon-close-gray@2x.png
│ │ ├── icon-close-white@2x.png
│ │ ├── icon-disconnect@2x.png
│ │ ├── icon-hand-white@2x.png
│ │ ├── icon-message-all@2x.png
│ │ ├── icon-message-off@2x.png
│ │ ├── icon-message-on@2x.png
│ │ ├── icon-microphone-off.png
│ │ ├── icon-microphone-on.png
│ │ ├── icon-microphone@2x.png
│ │ ├── icon-open-folder@2x.png
│ │ ├── icon-share-white@2x.png
│ │ ├── icon-speaker01-s@2x.png
│ │ ├── icon-speaker02-s@2x.png
│ │ ├── icon-speaker03-s@2x.png
│ │ ├── icon-upload-file@2x.png
│ │ ├── icon-upload-log@2x.png
│ │ ├── media-upload-pic@2x.png
│ │ ├── Rectangle-6-Copy-6@2x.png
│ │ ├── Rectangle-6-Copy-7@2x.png
│ │ ├── Rectangle-6-Copy-8@2x.png
│ │ ├── Rectangle-6-Copy-9@2x.png
│ │ ├── icon-camera-on-blue@2x.png
│ │ ├── icon-dosconnect-s@2x.png
│ │ ├── icon-handup-active@2x.png
│ │ ├── icon-handup-default@2x.png
│ │ ├── icon-handup-hover@2x.png
│ │ ├── icon-sidebar-active@2x.png
│ │ ├── icon-sidebar-hover@2x.png
│ │ ├── icon-speakeroff-s@2x.png
│ │ ├── media-covert-dynamic.png
│ │ ├── icon-camera-off-blue@2x.png
│ │ ├── icon-resource-menu-close.png
│ │ ├── icon-sidebar-deafult@2x.png
│ │ ├── icon-speakeroff-dark@2x.png
│ │ ├── icon-microphone-off-blue@2x.png
│ │ ├── icon-microphone-on-blue@2x.png
│ │ ├── icon-sidebar-off-active@2x.png
│ │ ├── icon-sidebar-off-deafult@2x.png
│ │ ├── icon-sidebar-off-hover@2x.png
│ │ ├── icon-speaker01-disable@2x.png
│ │ ├── icon-speaker02-disable@2x.png
│ │ └── icon-speaker03-disable@2x.png
│ ├── utils
│ │ ├── agora-web-player
│ │ │ └── index.css
│ │ ├── LogUploader
│ │ │ ├── db.ts
│ │ │ └── log.worker.ts
│ │ ├── platform.ts
│ │ ├── api
│ │ │ └── index.ts
│ │ └── config.ts
│ └── pages
│ │ └── 404.scss
├── icons
│ └── favicon.png
├── public
│ └── favicon.png
├── .babelrc
└── .gitignore
├── education_Android
└── AgoraEducation
│ ├── app
│ ├── .gitignore
│ └── src
│ │ ├── main
│ │ ├── res
│ │ │ ├── drawable-xhdpi
│ │ │ │ ├── ic_back.png
│ │ │ │ ├── ic_down.png
│ │ │ │ ├── ic_end.png
│ │ │ │ ├── ic_hide.png
│ │ │ │ ├── ic_next.png
│ │ │ │ ├── ic_play.png
│ │ │ │ ├── ic_prev.png
│ │ │ │ ├── ic_show.png
│ │ │ │ ├── ic_time.png
│ │ │ │ ├── ic_close.png
│ │ │ │ ├── ic_first.png
│ │ │ │ ├── ic_pause.png
│ │ │ │ ├── ic_camera_on.png
│ │ │ │ ├── ic_hand_down.png
│ │ │ │ ├── ic_hand_up.png
│ │ │ │ ├── ic_play_big.png
│ │ │ │ ├── ic_setting.png
│ │ │ │ ├── ic_speaker1.png
│ │ │ │ ├── ic_speaker2.png
│ │ │ │ ├── ic_speaker3.png
│ │ │ │ ├── ic_student.png
│ │ │ │ ├── ic_teacher.png
│ │ │ │ ├── ic_tool_text.png
│ │ │ │ ├── ic_your_name.png
│ │ │ │ ├── img_message.png
│ │ │ │ ├── ic_camera_off.png
│ │ │ │ ├── ic_signal_bad.png
│ │ │ │ ├── ic_signal_good.png
│ │ │ │ ├── ic_speaker_off.png
│ │ │ │ ├── ic_tool_color.png
│ │ │ │ ├── ic_tool_eraser.png
│ │ │ │ ├── ic_tool_pencil.png
│ │ │ │ ├── ic_video_mute.png
│ │ │ │ ├── ic_board_disable.png
│ │ │ │ ├── ic_board_enable.png
│ │ │ │ ├── ic_signal_normal.png
│ │ │ │ └── ic_tool_selector.png
│ │ │ ├── xml
│ │ │ │ ├── network_security_config.xml
│ │ │ │ └── file_paths.xml
│ │ │ ├── drawable
│ │ │ │ ├── bg_dialog.xml
│ │ │ │ ├── bg_appliance_view.xml
│ │ │ │ ├── bg_radius_5_black_7f.xml
│ │ │ │ ├── bg_chat_edit.xml
│ │ │ │ ├── ic_float.xml
│ │ │ │ ├── ic_camera.xml
│ │ │ │ ├── ic_hand.xml
│ │ │ │ ├── ic_speaker.xml
│ │ │ │ ├── ic_board.xml
│ │ │ │ ├── bg_msg_me.xml
│ │ │ │ ├── bg_msg_other.xml
│ │ │ │ ├── btn_circle_black_79.xml
│ │ │ │ ├── btn_circle_44a2fc.xml
│ │ │ │ └── btn_circle_f5f7f8.xml
│ │ │ ├── values
│ │ │ │ └── ids.xml
│ │ │ └── layout
│ │ │ │ └── fragment_user_list.xml
│ │ └── java
│ │ │ └── io
│ │ │ └── agora
│ │ │ └── education
│ │ │ ├── service
│ │ │ └── bean
│ │ │ │ ├── ResponseBody.java
│ │ │ │ ├── response
│ │ │ │ ├── RoomBoardRes.java
│ │ │ │ ├── AppConfigRes.java
│ │ │ │ └── RoomRes.java
│ │ │ │ └── request
│ │ │ │ ├── CoVideoReq.java
│ │ │ │ └── ChatReq.java
│ │ │ ├── util
│ │ │ └── ColorUtil.java
│ │ │ └── classroom
│ │ │ └── bean
│ │ │ └── JsonBean.java
│ │ ├── normal
│ │ ├── res
│ │ │ ├── drawable-xhdpi
│ │ │ │ ├── img_login.png
│ │ │ │ ├── ic_room_name.png
│ │ │ │ └── ic_room_type.png
│ │ │ ├── mipmap-hdpi
│ │ │ │ ├── ic_launcher.png
│ │ │ │ └── ic_launcher_round.png
│ │ │ ├── mipmap-mdpi
│ │ │ │ ├── ic_launcher.png
│ │ │ │ └── ic_launcher_round.png
│ │ │ ├── mipmap-xhdpi
│ │ │ │ ├── ic_launcher.png
│ │ │ │ └── ic_launcher_round.png
│ │ │ ├── mipmap-xxhdpi
│ │ │ │ ├── ic_launcher.png
│ │ │ │ └── ic_launcher_round.png
│ │ │ ├── mipmap-xxxhdpi
│ │ │ │ ├── ic_launcher.png
│ │ │ │ └── ic_launcher_round.png
│ │ │ └── values
│ │ │ │ └── string_configs.xml
│ │ └── java
│ │ │ └── io
│ │ │ └── agora
│ │ │ └── education
│ │ │ └── service
│ │ │ └── bean
│ │ │ ├── response
│ │ │ └── RoomEntryRes.java
│ │ │ └── request
│ │ │ └── RoomEntryReq.java
│ │ └── test
│ │ └── java
│ │ └── io
│ │ └── agora
│ │ └── rtc
│ │ └── education
│ │ └── ExampleUnitTest.java
│ ├── log
│ ├── .gitignore
│ ├── src
│ │ ├── main
│ │ │ ├── AndroidManifest.xml
│ │ │ └── java
│ │ │ │ └── io
│ │ │ │ └── agora
│ │ │ │ └── log
│ │ │ │ └── service
│ │ │ │ └── bean
│ │ │ │ ├── ResponseBody.java
│ │ │ │ └── response
│ │ │ │ └── LogParamsRes.java
│ │ └── test
│ │ │ └── java
│ │ │ └── io
│ │ │ └── agora
│ │ │ └── log
│ │ │ └── ExampleUnitTest.java
│ └── consumer-rules.pro
│ ├── sdk
│ ├── .gitignore
│ ├── consumer-rules.pro
│ └── src
│ │ ├── main
│ │ ├── AndroidManifest.xml
│ │ └── java
│ │ │ └── io
│ │ │ └── agora
│ │ │ └── sdk
│ │ │ ├── listener
│ │ │ └── RtcEventListener.java
│ │ │ └── annotation
│ │ │ ├── StreamType.java
│ │ │ ├── ClientRole.java
│ │ │ └── RenderMode.java
│ │ └── test
│ │ └── java
│ │ └── io
│ │ └── agora
│ │ └── sdk
│ │ └── ExampleUnitTest.java
│ ├── base
│ ├── .gitignore
│ └── src
│ │ ├── main
│ │ ├── AndroidManifest.xml
│ │ ├── res
│ │ │ └── values
│ │ │ │ └── strings.xml
│ │ └── java
│ │ │ └── io
│ │ │ └── agora
│ │ │ └── base
│ │ │ ├── network
│ │ │ └── ResponseBody.java
│ │ │ └── Callback.java
│ │ └── test
│ │ └── java
│ │ └── io
│ │ └── agora
│ │ └── base
│ │ └── ExampleUnitTest.java
│ ├── timeline
│ ├── .gitignore
│ ├── consumer-rules.pro
│ └── src
│ │ ├── main
│ │ ├── AndroidManifest.xml
│ │ └── java
│ │ │ └── io
│ │ │ └── agora
│ │ │ └── timeline
│ │ │ ├── TimelineListener.java
│ │ │ └── Timeline.java
│ │ └── test
│ │ └── java
│ │ └── io
│ │ └── agora
│ │ └── timeline
│ │ └── ExampleUnitTest.java
│ ├── whiteboard
│ ├── .gitignore
│ ├── src
│ │ ├── main
│ │ │ ├── AndroidManifest.xml
│ │ │ └── java
│ │ │ │ └── io
│ │ │ │ └── agora
│ │ │ │ └── whiteboard
│ │ │ │ └── netless
│ │ │ │ ├── service
│ │ │ │ └── bean
│ │ │ │ │ ├── response
│ │ │ │ │ └── RoomJoin.java
│ │ │ │ │ └── ResponseBody.java
│ │ │ │ └── listener
│ │ │ │ ├── BoardEventListener.java
│ │ │ │ └── ReplayEventListener.java
│ │ └── test
│ │ │ └── java
│ │ │ └── io
│ │ │ └── agora
│ │ │ └── whiteboard
│ │ │ └── ExampleUnitTest.java
│ └── consumer-rules.pro
│ ├── settings.gradle
│ ├── .gitignore
│ └── gradle
│ └── wrapper
│ ├── gradle-wrapper.jar
│ └── gradle-wrapper.properties
├── logo.png
├── education_iOS
├── AgoraEducation
│ ├── Supporting Files
│ │ ├── Assets.xcassets
│ │ │ ├── Contents.json
│ │ │ ├── Main
│ │ │ │ ├── Contents.json
│ │ │ │ ├── icon-down.imageset
│ │ │ │ │ ├── icon-down.pdf
│ │ │ │ │ └── Contents.json
│ │ │ │ ├── icon-time.imageset
│ │ │ │ │ ├── icon-time.pdf
│ │ │ │ │ └── Contents.json
│ │ │ │ ├── icon-type.imageset
│ │ │ │ │ ├── icon-type.pdf
│ │ │ │ │ └── Contents.json
│ │ │ │ ├── icon-signal1.imageset
│ │ │ │ │ ├── signal-bad.pdf
│ │ │ │ │ └── Contents.json
│ │ │ │ ├── icon-signal2.imageset
│ │ │ │ │ ├── signal-normal.pdf
│ │ │ │ │ └── Contents.json
│ │ │ │ ├── icon-signal3.imageset
│ │ │ │ │ ├── signal-good.pdf
│ │ │ │ │ └── Contents.json
│ │ │ │ ├── icon-student.imageset
│ │ │ │ │ ├── icon-student.pdf
│ │ │ │ │ └── Contents.json
│ │ │ │ ├── icon-teacher.imageset
│ │ │ │ │ ├── icon-teacher.pdf
│ │ │ │ │ └── Contents.json
│ │ │ │ ├── main-login.imageset
│ │ │ │ │ ├── pic-index (1).pdf
│ │ │ │ │ └── Contents.json
│ │ │ │ ├── icon-roomname.imageset
│ │ │ │ │ ├── icon-roomname.pdf
│ │ │ │ │ └── Contents.json
│ │ │ │ ├── icon-username.imageset
│ │ │ │ │ ├── icon-username.pdf
│ │ │ │ │ └── Contents.json
│ │ │ │ └── icon-white-camera-close.imageset
│ │ │ │ │ ├── icon-white-camera-close.pdf
│ │ │ │ │ └── Contents.json
│ │ │ ├── Room
│ │ │ │ ├── Contents.json
│ │ │ │ ├── icon-end.imageset
│ │ │ │ │ ├── icon-end.pdf
│ │ │ │ │ └── Contents.json
│ │ │ │ ├── tool-pen.imageset
│ │ │ │ │ ├── tool-pen.pdf
│ │ │ │ │ └── Contents.json
│ │ │ │ ├── icon-close.imageset
│ │ │ │ │ ├── icon-close.pdf
│ │ │ │ │ └── Contents.json
│ │ │ │ ├── icon-first.imageset
│ │ │ │ │ ├── icon-first.pdf
│ │ │ │ │ └── Contents.json
│ │ │ │ ├── icon-left.imageset
│ │ │ │ │ ├── icon-left.pdf
│ │ │ │ │ └── Contents.json
│ │ │ │ ├── icon-right.imageset
│ │ │ │ │ ├── icon-right.pdf
│ │ │ │ │ └── Contents.json
│ │ │ │ ├── tool-color.imageset
│ │ │ │ │ ├── tool-color.pdf
│ │ │ │ │ └── Contents.json
│ │ │ │ ├── tool-text.imageset
│ │ │ │ │ ├── tool-text.pdf
│ │ │ │ │ └── Contents.json
│ │ │ │ ├── upload-log.imageset
│ │ │ │ │ ├── icon-上传日志.pdf
│ │ │ │ │ └── Contents.json
│ │ │ │ ├── icon-handup.imageset
│ │ │ │ │ ├── icon-handup.pdf
│ │ │ │ │ └── Contents.json
│ │ │ │ ├── tool-eraser.imageset
│ │ │ │ │ ├── tool-eraser.pdf
│ │ │ │ │ └── Contents.json
│ │ │ │ ├── tool-select.imageset
│ │ │ │ │ ├── tool-select.pdf
│ │ │ │ │ └── Contents.json
│ │ │ │ ├── icon-setting.imageset
│ │ │ │ │ ├── icon-setting.pdf
│ │ │ │ │ └── Contents.json
│ │ │ │ ├── icon-handup-x.imageset
│ │ │ │ │ ├── icon-handup-x.pdf
│ │ │ │ │ └── Contents.json
│ │ │ │ ├── icon-speaker1.imageset
│ │ │ │ │ ├── icon-speaker1.pdf
│ │ │ │ │ └── Contents.json
│ │ │ │ ├── icon-speaker2.imageset
│ │ │ │ │ ├── icon-speaker2.pdf
│ │ │ │ │ └── Contents.json
│ │ │ │ ├── icon-speaker3.imageset
│ │ │ │ │ ├── icon-speaker3.pdf
│ │ │ │ │ └── Contents.json
│ │ │ │ ├── icon-right-hide.imageset
│ │ │ │ │ ├── icon-right-hide.pdf
│ │ │ │ │ └── Contents.json
│ │ │ │ ├── icon-right-show.imageset
│ │ │ │ │ ├── icon-right-show.pdf
│ │ │ │ │ └── Contents.json
│ │ │ │ ├── icon-white-connect.imageset
│ │ │ │ │ ├── icon-connect.pdf
│ │ │ │ │ └── Contents.json
│ │ │ │ ├── icon-speaker-off.imageset
│ │ │ │ │ ├── icon-speaker-off.pdf
│ │ │ │ │ └── Contents.json
│ │ │ │ ├── icon-speaker1-max.imageset
│ │ │ │ │ ├── icon-speaker1-max.pdf
│ │ │ │ │ └── Contents.json
│ │ │ │ ├── icon-speaker1-min.imageset
│ │ │ │ │ ├── icon-speaker1-min.pdf
│ │ │ │ │ └── Contents.json
│ │ │ │ ├── icon-speaker2-max.imageset
│ │ │ │ │ ├── icon-speaker2-max.pdf
│ │ │ │ │ └── Contents.json
│ │ │ │ ├── icon-speaker2-min.imageset
│ │ │ │ │ ├── icon-speaker2-min.pdf
│ │ │ │ │ └── Contents.json
│ │ │ │ ├── icon-speaker3-max.imageset
│ │ │ │ │ ├── icon-speaker3-max.pdf
│ │ │ │ │ └── Contents.json
│ │ │ │ ├── icon-speaker3-min.imageset
│ │ │ │ │ ├── icon-speaker3-min.pdf
│ │ │ │ │ └── Contents.json
│ │ │ │ ├── icon-video-on-min.imageset
│ │ │ │ │ ├── icon-video-on-min.pdf
│ │ │ │ │ └── Contents.json
│ │ │ │ ├── icon-video-off-min.imageset
│ │ │ │ │ ├── icon-video-off-min.pdf
│ │ │ │ │ └── Contents.json
│ │ │ │ ├── icon-videoon-dark.imageset
│ │ │ │ │ ├── icon-speakeron-dark.pdf
│ │ │ │ │ └── Contents.json
│ │ │ │ ├── icon-white-disconnect.imageset
│ │ │ │ │ ├── icon-disconnect.pdf
│ │ │ │ │ └── Contents.json
│ │ │ │ ├── icon-speaker-off-min.imageset
│ │ │ │ │ ├── icon-speaker-off-min.pdf
│ │ │ │ │ └── Contents.json
│ │ │ │ ├── icon-videooff-dark.imageset
│ │ │ │ │ ├── icon-speakeroff-dark.pdf
│ │ │ │ │ └── Contents.json
│ │ │ │ └── icon-speakeroff-dark.imageset
│ │ │ │ │ ├── icon-speakeroff-dark(1).pdf
│ │ │ │ │ └── Contents.json
│ │ │ ├── BigClass
│ │ │ │ ├── Contents.json
│ │ │ │ ├── page-end.imageset
│ │ │ │ │ ├── page-end.pdf
│ │ │ │ │ └── Contents.json
│ │ │ │ ├── page-next.imageset
│ │ │ │ │ ├── icon-next.pdf
│ │ │ │ │ └── Contents.json
│ │ │ │ ├── page-prev.imageset
│ │ │ │ │ ├── page-prev.pdf
│ │ │ │ │ └── Contents.json
│ │ │ │ └── page-first.imageset
│ │ │ │ │ ├── page-first.pdf
│ │ │ │ │ └── Contents.json
│ │ │ ├── Replay
│ │ │ │ ├── Contents.json
│ │ │ │ └── replay_logo.imageset
│ │ │ │ │ ├── replay_logo.pdf
│ │ │ │ │ └── Contents.json
│ │ │ ├── PlayControl
│ │ │ │ ├── Contents.json
│ │ │ │ ├── loading.imageset
│ │ │ │ │ ├── 加载.png
│ │ │ │ │ ├── 加载 (1).png
│ │ │ │ │ └── Contents.json
│ │ │ │ ├── slider.imageset
│ │ │ │ │ ├── slider@2x.png
│ │ │ │ │ ├── slider@3x.png
│ │ │ │ │ └── Contents.json
│ │ │ │ ├── back.imageset
│ │ │ │ │ ├── icon-back@2x.png
│ │ │ │ │ ├── icon-back@3x.png
│ │ │ │ │ └── Contents.json
│ │ │ │ ├── logo.imageset
│ │ │ │ │ ├── logo-agora@2x.png
│ │ │ │ │ ├── logo-agora@3x.png
│ │ │ │ │ └── Contents.json
│ │ │ │ ├── pause.imageset
│ │ │ │ │ ├── icon-pause@2x.png
│ │ │ │ │ ├── icon-pause@3x.png
│ │ │ │ │ └── Contents.json
│ │ │ │ ├── message.imageset
│ │ │ │ │ ├── pic-message@2x.png
│ │ │ │ │ ├── pic-message@3x.png
│ │ │ │ │ └── Contents.json
│ │ │ │ ├── play.imageset
│ │ │ │ │ ├── icon-play small@2x.png
│ │ │ │ │ ├── icon-play small@3x.png
│ │ │ │ │ └── Contents.json
│ │ │ │ ├── big_play.imageset
│ │ │ │ │ ├── icon-play big@2x.png
│ │ │ │ │ ├── icon-play big@3x.png
│ │ │ │ │ └── Contents.json
│ │ │ │ └── replay_teacher.imageset
│ │ │ │ │ ├── pic-teacher@2x.png
│ │ │ │ │ ├── pic-teacher@3x.png
│ │ │ │ │ └── Contents.json
│ │ │ ├── allBack.imageset
│ │ │ │ ├── allBack.pdf
│ │ │ │ └── Contents.json
│ │ │ ├── testMic.imageset
│ │ │ │ ├── testMic.pdf
│ │ │ │ └── Contents.json
│ │ │ ├── AppIcon.appiconset
│ │ │ │ ├── icon-40.png
│ │ │ │ ├── icon-76.png
│ │ │ │ ├── icon-1024.png
│ │ │ │ ├── icon-20@2x.png
│ │ │ │ ├── icon-20@3x.png
│ │ │ │ ├── icon-29@2x.png
│ │ │ │ ├── icon-29@3x.png
│ │ │ │ ├── icon-40@2x.png
│ │ │ │ ├── icon-40@3x.png
│ │ │ │ ├── icon-60@2x.png
│ │ │ │ ├── icon-60@3x.png
│ │ │ │ ├── icon-76@2x.png
│ │ │ │ ├── icon-20-ipad.png
│ │ │ │ ├── icon-29-ipad.png
│ │ │ │ ├── icon-29@2x-1.png
│ │ │ │ ├── icon-40@2x-1.png
│ │ │ │ ├── icon-83.5@2x.png
│ │ │ │ └── icon-20@2x-ipad.png
│ │ │ ├── logoIcon.imageset
│ │ │ │ ├── logoIcon.pdf
│ │ │ │ └── Contents.json
│ │ │ ├── mainLogo.imageset
│ │ │ │ ├── mainLogo.pdf
│ │ │ │ └── Contents.json
│ │ │ ├── roomExit.imageset
│ │ │ │ ├── roomExit.pdf
│ │ │ │ └── Contents.json
│ │ │ ├── eevideoOff.imageset
│ │ │ │ ├── eevideoOff.pdf
│ │ │ │ └── Contents.json
│ │ │ ├── logoAgora.imageset
│ │ │ │ ├── logoAgora.pdf
│ │ │ │ └── Contents.json
│ │ │ ├── roomMicOff.imageset
│ │ │ │ ├── roomMicOff.pdf
│ │ │ │ └── Contents.json
│ │ │ ├── roomMicon.imageset
│ │ │ │ ├── roomMicon.pdf
│ │ │ │ └── Contents.json
│ │ │ ├── view-close.imageset
│ │ │ │ ├── view-close.pdf
│ │ │ │ └── Contents.json
│ │ │ ├── view-open.imageset
│ │ │ │ ├── view-open.pdf
│ │ │ │ └── Contents.json
│ │ │ ├── eevideoOn-s.imageset
│ │ │ │ ├── eevideoOn-s.png
│ │ │ │ └── Contents.json
│ │ │ ├── icon-handup.imageset
│ │ │ │ ├── icon-handup.pdf
│ │ │ │ └── Contents.json
│ │ │ ├── testSpeaker.imageset
│ │ │ │ ├── testSpeaker.pdf
│ │ │ │ └── Contents.json
│ │ │ ├── video-close.imageset
│ │ │ │ ├── video-close.pdf
│ │ │ │ └── Contents.json
│ │ │ ├── roomCameraOn.imageset
│ │ │ │ ├── roomCameraOn.pdf
│ │ │ │ └── Contents.json
│ │ │ ├── roomCameraOff.imageset
│ │ │ │ ├── roomCameraOff.pdf
│ │ │ │ └── Contents.json
│ │ │ ├── speaker-close.imageset
│ │ │ │ ├── speaker-close.pdf
│ │ │ │ └── Contents.json
│ │ │ ├── backgroundImage.imageset
│ │ │ │ ├── backgroundImage.pdf
│ │ │ │ └── Contents.json
│ │ │ ├── classRoompower.imageset
│ │ │ │ ├── classRoompower.pdf
│ │ │ │ └── Contents.json
│ │ │ ├── videoBackgroundImage.imageset
│ │ │ │ ├── roomPempty.pdf
│ │ │ │ └── Contents.json
│ │ │ ├── icon-camera-dark.imageset
│ │ │ │ ├── icon-camera-dark.pdf
│ │ │ │ └── Contents.json
│ │ │ ├── white-video-open.imageset
│ │ │ │ ├── white-video-open.pdf
│ │ │ │ └── Contents.json
│ │ │ ├── white-video-close.imageset
│ │ │ │ ├── white-video-close.pdf
│ │ │ │ └── Contents.json
│ │ │ └── icon-cameraoff-dark.imageset
│ │ │ │ ├── icon-cameraoff-dark.pdf
│ │ │ │ └── Contents.json
│ │ ├── zh-Hans.lproj
│ │ │ └── InfoPlist.strings
│ │ ├── en.lproj
│ │ │ └── InfoPlist.strings
│ │ ├── main.m
│ │ └── AppDelegate.h
│ ├── StoryBoards
│ │ ├── Room
│ │ │ ├── en.lproj
│ │ │ │ └── Room.strings
│ │ │ └── zh-Hans.lproj
│ │ │ │ └── Room.strings
│ │ └── LaunchScreen
│ │ │ ├── zh-Hans.lproj
│ │ │ └── LaunchScreen.strings
│ │ │ └── en.lproj
│ │ │ └── LaunchScreen.strings
│ ├── Manager
│ │ ├── Signal
│ │ │ ├── SignalModel.m
│ │ │ └── SignalModel.h
│ │ ├── HTTP
│ │ │ └── Model
│ │ │ │ ├── CommonModel.m
│ │ │ │ ├── WhiteModel.m
│ │ │ │ ├── LogParamsModel.m
│ │ │ │ ├── EnterRoomAllModel.m
│ │ │ │ ├── ConfigModel.m
│ │ │ │ ├── MultiLanguageModel.m
│ │ │ │ ├── CommonModel.h
│ │ │ │ ├── MultiLanguageModel.h
│ │ │ │ └── ReplayModel.m
│ │ └── EduModel
│ │ │ ├── ReplayManagerModel.m
│ │ │ ├── SignalModel
│ │ │ ├── SignalInfoModel.m
│ │ │ ├── MessageModel.m
│ │ │ ├── SignalP2PModel.m
│ │ │ ├── SignalRoomModel.m
│ │ │ ├── SignalReplayModel.m
│ │ │ ├── SignalShareScreenModel.m
│ │ │ ├── SignalUserModel.m
│ │ │ └── SignalInfoModel.h
│ │ │ └── RTCModel
│ │ │ ├── RTCVideoCanvasModel.m
│ │ │ └── RTCVideoSessionModel.m
│ ├── EyeCare
│ │ ├── SkinCoverLayer.m
│ │ ├── SkinCoverWindow.h
│ │ ├── SkinCoverLayer.h
│ │ └── EyeCareModeUtil.h
│ ├── Main
│ │ └── Controllers
│ │ │ ├── MainViewController.h
│ │ │ └── MainNavigationController.h
│ ├── Replay
│ │ ├── Widget
│ │ │ ├── EduButton.h
│ │ │ ├── LoadingView.h
│ │ │ └── EduButton.m
│ │ └── ViewController
│ │ │ └── ReplayViewController.h
│ ├── Utils
│ │ ├── MD5
│ │ │ └── NSString+MD5.h
│ │ ├── NSArray+Copy
│ │ │ ├── NSArray+Copy.h
│ │ │ └── NSArray+Copy.m
│ │ ├── JsonParse
│ │ │ └── JsonParseUtil.h
│ │ └── Badge
│ │ │ └── UIView+EEBadge.h
│ ├── Setting
│ │ ├── Controllers
│ │ │ └── SettingViewController.h
│ │ └── View
│ │ │ └── SettingUploadViewCell.h
│ ├── Room
│ │ ├── View
│ │ │ ├── EEMessageView.h
│ │ │ ├── EEColorViewCell.h
│ │ │ └── WhiteBoardTouchView.h
│ │ ├── RoomProtocol.h
│ │ ├── MiniClass
│ │ │ ├── Controllers
│ │ │ │ └── MCViewController.h
│ │ │ └── View
│ │ │ │ └── MCStudentVideoCell.h
│ │ ├── BigClass
│ │ │ └── Controllers
│ │ │ │ └── BCViewController.h
│ │ └── OneToOne
│ │ │ └── Controllers
│ │ │ └── OneToOneViewController.h
│ └── KeyCenter.m
├── AgoraEducation.xcworkspace
│ ├── xcshareddata
│ │ ├── xcdebugger
│ │ │ └── Breakpoints_v2.xcbkptlist
│ │ └── IDEWorkspaceChecks.plist
│ └── contents.xcworkspacedata
├── AgoraEducation.xcodeproj
│ └── project.xcworkspace
│ │ ├── contents.xcworkspacedata
│ │ └── xcshareddata
│ │ └── IDEWorkspaceChecks.plist
├── SetupLanString.sh
├── Podfile
└── exportStorePlist.plist
├── .gitignore
├── cicd
└── templates
│ └── github-release.yml
└── azure-pipelines.yml
/education_web/src/components/video.scss:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/education_Android/AgoraEducation/app/.gitignore:
--------------------------------------------------------------------------------
1 | /build
2 |
--------------------------------------------------------------------------------
/education_Android/AgoraEducation/log/.gitignore:
--------------------------------------------------------------------------------
1 | /build
2 |
--------------------------------------------------------------------------------
/education_Android/AgoraEducation/sdk/.gitignore:
--------------------------------------------------------------------------------
1 | /build
2 |
--------------------------------------------------------------------------------
/education_Android/AgoraEducation/base/.gitignore:
--------------------------------------------------------------------------------
1 | /build
2 |
--------------------------------------------------------------------------------
/education_Android/AgoraEducation/timeline/.gitignore:
--------------------------------------------------------------------------------
1 | /build
2 |
--------------------------------------------------------------------------------
/education_Android/AgoraEducation/timeline/consumer-rules.pro:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/education_Android/AgoraEducation/whiteboard/.gitignore:
--------------------------------------------------------------------------------
1 | /build
2 |
--------------------------------------------------------------------------------
/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/logo.png
--------------------------------------------------------------------------------
/education_Android/AgoraEducation/sdk/consumer-rules.pro:
--------------------------------------------------------------------------------
1 | -keep class io.agora.**{*;}
2 |
--------------------------------------------------------------------------------
/education_Android/AgoraEducation/base/src/main/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/education_Android/AgoraEducation/log/src/main/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/education_Android/AgoraEducation/sdk/src/main/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/education_Android/AgoraEducation/timeline/src/main/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/education_web/icons/favicon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_web/icons/favicon.png
--------------------------------------------------------------------------------
/education_Android/AgoraEducation/whiteboard/src/main/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/education_web/public/favicon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_web/public/favicon.png
--------------------------------------------------------------------------------
/education_web/src/assets/github.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_web/src/assets/github.png
--------------------------------------------------------------------------------
/education_web/src/assets/cover-cn.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_web/src/assets/cover-cn.png
--------------------------------------------------------------------------------
/education_web/src/assets/cover-us.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_web/src/assets/cover-us.png
--------------------------------------------------------------------------------
/education_web/src/assets/hand_tool.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_web/src/assets/hand_tool.png
--------------------------------------------------------------------------------
/education_web/src/assets/icon-move.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_web/src/assets/icon-move.png
--------------------------------------------------------------------------------
/education_web/src/assets/cancel-share.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_web/src/assets/cancel-share.png
--------------------------------------------------------------------------------
/education_web/src/assets/icon-down@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_web/src/assets/icon-down@2x.png
--------------------------------------------------------------------------------
/education_web/src/assets/icon-end@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_web/src/assets/icon-end@2x.png
--------------------------------------------------------------------------------
/education_web/src/assets/icon-exit@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_web/src/assets/icon-exit@2x.png
--------------------------------------------------------------------------------
/education_web/src/assets/icon-hand@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_web/src/assets/icon-hand@2x.png
--------------------------------------------------------------------------------
/education_web/src/assets/icon-home@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_web/src/assets/icon-home@2x.png
--------------------------------------------------------------------------------
/education_web/src/assets/icon-left@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_web/src/assets/icon-left@2x.png
--------------------------------------------------------------------------------
/education_web/src/assets/icon-loading.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_web/src/assets/icon-loading.png
--------------------------------------------------------------------------------
/education_web/src/assets/icon-max@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_web/src/assets/icon-max@2x.png
--------------------------------------------------------------------------------
/education_web/src/assets/icon-min@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_web/src/assets/icon-min@2x.png
--------------------------------------------------------------------------------
/education_web/src/assets/icon-next@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_web/src/assets/icon-next@2x.png
--------------------------------------------------------------------------------
/education_web/src/assets/icon-play@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_web/src/assets/icon-play@2x.png
--------------------------------------------------------------------------------
/education_web/src/assets/icon-ppt@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_web/src/assets/icon-ppt@2x.png
--------------------------------------------------------------------------------
/education_web/src/assets/icon-prev@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_web/src/assets/icon-prev@2x.png
--------------------------------------------------------------------------------
/education_web/src/assets/icon-stop@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_web/src/assets/icon-stop@2x.png
--------------------------------------------------------------------------------
/education_web/src/assets/icon-time@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_web/src/assets/icon-time@2x.png
--------------------------------------------------------------------------------
/education_web/src/assets/pic-index@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_web/src/assets/pic-index@2x.png
--------------------------------------------------------------------------------
/education_web/src/assets/pic-student.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_web/src/assets/pic-student.png
--------------------------------------------------------------------------------
/education_web/src/assets/pic-teacher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_web/src/assets/pic-teacher.png
--------------------------------------------------------------------------------
/education_web/src/assets/Rectangle-2@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_web/src/assets/Rectangle-2@2x.png
--------------------------------------------------------------------------------
/education_web/src/assets/Rectangle-6@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_web/src/assets/Rectangle-6@2x.png
--------------------------------------------------------------------------------
/education_web/src/assets/icon-clickable.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_web/src/assets/icon-clickable.png
--------------------------------------------------------------------------------
/education_web/src/assets/icon-delete@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_web/src/assets/icon-delete@2x.png
--------------------------------------------------------------------------------
/education_web/src/assets/icon-first@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_web/src/assets/icon-first@2x.png
--------------------------------------------------------------------------------
/education_web/src/assets/icon-folder@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_web/src/assets/icon-folder@2x.png
--------------------------------------------------------------------------------
/education_web/src/assets/icon-pause@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_web/src/assets/icon-pause@2x.png
--------------------------------------------------------------------------------
/education_web/src/assets/icon-record@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_web/src/assets/icon-record@2x.png
--------------------------------------------------------------------------------
/education_web/src/assets/icon-right@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_web/src/assets/icon-right@2x.png
--------------------------------------------------------------------------------
/education_web/src/assets/icon-share@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_web/src/assets/icon-share@2x.png
--------------------------------------------------------------------------------
/education_web/src/assets/logo-agora@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_web/src/assets/logo-agora@2x.png
--------------------------------------------------------------------------------
/education_web/src/assets/pic-message@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_web/src/assets/pic-message@2x.png
--------------------------------------------------------------------------------
/education_web/src/assets/signal-bad@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_web/src/assets/signal-bad@2x.png
--------------------------------------------------------------------------------
/education_web/src/assets/signal-good@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_web/src/assets/signal-good@2x.png
--------------------------------------------------------------------------------
/education_web/src/assets/tool-circle@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_web/src/assets/tool-circle@2x.png
--------------------------------------------------------------------------------
/education_web/src/assets/tool-square@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_web/src/assets/tool-square@2x.png
--------------------------------------------------------------------------------
/education_web/src/assets/icon-camera-on@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_web/src/assets/icon-camera-on@2x.png
--------------------------------------------------------------------------------
/education_web/src/assets/icon-caution@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_web/src/assets/icon-caution@2x.png
--------------------------------------------------------------------------------
/education_web/src/assets/icon-connect-s@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_web/src/assets/icon-connect-s@2x.png
--------------------------------------------------------------------------------
/education_web/src/assets/icon-connect@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_web/src/assets/icon-connect@2x.png
--------------------------------------------------------------------------------
/education_web/src/assets/icon-hand-disable.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_web/src/assets/icon-hand-disable.png
--------------------------------------------------------------------------------
/education_web/src/assets/icon-lock-board.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_web/src/assets/icon-lock-board.png
--------------------------------------------------------------------------------
/education_web/src/assets/icon-play-big@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_web/src/assets/icon-play-big@2x.png
--------------------------------------------------------------------------------
/education_web/src/assets/icon-setting@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_web/src/assets/icon-setting@2x.png
--------------------------------------------------------------------------------
/education_web/src/assets/icon-share-white.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_web/src/assets/icon-share-white.png
--------------------------------------------------------------------------------
/education_web/src/assets/icon-signal01@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_web/src/assets/icon-signal01@2x.png
--------------------------------------------------------------------------------
/education_web/src/assets/icon-signal02@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_web/src/assets/icon-signal02@2x.png
--------------------------------------------------------------------------------
/education_web/src/assets/icon-signal03@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_web/src/assets/icon-signal03@2x.png
--------------------------------------------------------------------------------
/education_web/src/assets/icon-smaller@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_web/src/assets/icon-smaller@2x.png
--------------------------------------------------------------------------------
/education_web/src/assets/icon-speaker-off.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_web/src/assets/icon-speaker-off.png
--------------------------------------------------------------------------------
/education_web/src/assets/icon-speaker-on.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_web/src/assets/icon-speaker-on.png
--------------------------------------------------------------------------------
/education_web/src/assets/icon-speaker01@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_web/src/assets/icon-speaker01@2x.png
--------------------------------------------------------------------------------
/education_web/src/assets/icon-speaker02@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_web/src/assets/icon-speaker02@2x.png
--------------------------------------------------------------------------------
/education_web/src/assets/icon-speaker03-s.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_web/src/assets/icon-speaker03-s.png
--------------------------------------------------------------------------------
/education_web/src/assets/icon-speaker03@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_web/src/assets/icon-speaker03@2x.png
--------------------------------------------------------------------------------
/education_web/src/assets/icon-speaker@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_web/src/assets/icon-speaker@2x.png
--------------------------------------------------------------------------------
/education_web/src/assets/icon-success@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_web/src/assets/icon-success@2x.png
--------------------------------------------------------------------------------
/education_web/src/assets/media-covert-pic.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_web/src/assets/media-covert-pic.png
--------------------------------------------------------------------------------
/education_web/src/assets/pic-no-video@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_web/src/assets/pic-no-video@2x.png
--------------------------------------------------------------------------------
/education_web/src/assets/signal-normal@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_web/src/assets/signal-normal@2x.png
--------------------------------------------------------------------------------
/education_web/src/assets/whiteboard_file.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_web/src/assets/whiteboard_file.png
--------------------------------------------------------------------------------
/education_web/src/assets/Rectangle-6-Copy@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_web/src/assets/Rectangle-6-Copy@2x.png
--------------------------------------------------------------------------------
/education_web/src/assets/icon-camera-off@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_web/src/assets/icon-camera-off@2x.png
--------------------------------------------------------------------------------
/education_web/src/assets/icon-cameraoff-s@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_web/src/assets/icon-cameraoff-s@2x.png
--------------------------------------------------------------------------------
/education_web/src/assets/icon-cameraon-s@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_web/src/assets/icon-cameraon-s@2x.png
--------------------------------------------------------------------------------
/education_web/src/assets/icon-close-gray@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_web/src/assets/icon-close-gray@2x.png
--------------------------------------------------------------------------------
/education_web/src/assets/icon-close-white@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_web/src/assets/icon-close-white@2x.png
--------------------------------------------------------------------------------
/education_web/src/assets/icon-disconnect@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_web/src/assets/icon-disconnect@2x.png
--------------------------------------------------------------------------------
/education_web/src/assets/icon-hand-white@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_web/src/assets/icon-hand-white@2x.png
--------------------------------------------------------------------------------
/education_web/src/assets/icon-message-all@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_web/src/assets/icon-message-all@2x.png
--------------------------------------------------------------------------------
/education_web/src/assets/icon-message-off@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_web/src/assets/icon-message-off@2x.png
--------------------------------------------------------------------------------
/education_web/src/assets/icon-message-on@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_web/src/assets/icon-message-on@2x.png
--------------------------------------------------------------------------------
/education_web/src/assets/icon-microphone-off.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_web/src/assets/icon-microphone-off.png
--------------------------------------------------------------------------------
/education_web/src/assets/icon-microphone-on.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_web/src/assets/icon-microphone-on.png
--------------------------------------------------------------------------------
/education_web/src/assets/icon-microphone@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_web/src/assets/icon-microphone@2x.png
--------------------------------------------------------------------------------
/education_web/src/assets/icon-open-folder@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_web/src/assets/icon-open-folder@2x.png
--------------------------------------------------------------------------------
/education_web/src/assets/icon-share-white@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_web/src/assets/icon-share-white@2x.png
--------------------------------------------------------------------------------
/education_web/src/assets/icon-speaker01-s@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_web/src/assets/icon-speaker01-s@2x.png
--------------------------------------------------------------------------------
/education_web/src/assets/icon-speaker02-s@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_web/src/assets/icon-speaker02-s@2x.png
--------------------------------------------------------------------------------
/education_web/src/assets/icon-speaker03-s@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_web/src/assets/icon-speaker03-s@2x.png
--------------------------------------------------------------------------------
/education_web/src/assets/icon-upload-file@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_web/src/assets/icon-upload-file@2x.png
--------------------------------------------------------------------------------
/education_web/src/assets/icon-upload-log@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_web/src/assets/icon-upload-log@2x.png
--------------------------------------------------------------------------------
/education_web/src/assets/media-upload-pic@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_web/src/assets/media-upload-pic@2x.png
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "version" : 1,
4 | "author" : "xcode"
5 | }
6 | }
--------------------------------------------------------------------------------
/education_web/src/assets/Rectangle-6-Copy-6@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_web/src/assets/Rectangle-6-Copy-6@2x.png
--------------------------------------------------------------------------------
/education_web/src/assets/Rectangle-6-Copy-7@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_web/src/assets/Rectangle-6-Copy-7@2x.png
--------------------------------------------------------------------------------
/education_web/src/assets/Rectangle-6-Copy-8@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_web/src/assets/Rectangle-6-Copy-8@2x.png
--------------------------------------------------------------------------------
/education_web/src/assets/Rectangle-6-Copy-9@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_web/src/assets/Rectangle-6-Copy-9@2x.png
--------------------------------------------------------------------------------
/education_web/src/assets/icon-camera-on-blue@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_web/src/assets/icon-camera-on-blue@2x.png
--------------------------------------------------------------------------------
/education_web/src/assets/icon-dosconnect-s@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_web/src/assets/icon-dosconnect-s@2x.png
--------------------------------------------------------------------------------
/education_web/src/assets/icon-handup-active@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_web/src/assets/icon-handup-active@2x.png
--------------------------------------------------------------------------------
/education_web/src/assets/icon-handup-default@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_web/src/assets/icon-handup-default@2x.png
--------------------------------------------------------------------------------
/education_web/src/assets/icon-handup-hover@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_web/src/assets/icon-handup-hover@2x.png
--------------------------------------------------------------------------------
/education_web/src/assets/icon-sidebar-active@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_web/src/assets/icon-sidebar-active@2x.png
--------------------------------------------------------------------------------
/education_web/src/assets/icon-sidebar-hover@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_web/src/assets/icon-sidebar-hover@2x.png
--------------------------------------------------------------------------------
/education_web/src/assets/icon-speakeroff-s@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_web/src/assets/icon-speakeroff-s@2x.png
--------------------------------------------------------------------------------
/education_web/src/assets/media-covert-dynamic.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_web/src/assets/media-covert-dynamic.png
--------------------------------------------------------------------------------
/education_Android/AgoraEducation/settings.gradle:
--------------------------------------------------------------------------------
1 | include ':app', ':whiteboard', ':base', ':log', ':sdk', ':timeline'
2 | rootProject.name = 'AgoraEducation'
3 |
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/Main/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "version" : 1,
4 | "author" : "xcode"
5 | }
6 | }
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/Room/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "version" : 1,
4 | "author" : "xcode"
5 | }
6 | }
--------------------------------------------------------------------------------
/education_web/src/assets/icon-camera-off-blue@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_web/src/assets/icon-camera-off-blue@2x.png
--------------------------------------------------------------------------------
/education_web/src/assets/icon-resource-menu-close.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_web/src/assets/icon-resource-menu-close.png
--------------------------------------------------------------------------------
/education_web/src/assets/icon-sidebar-deafult@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_web/src/assets/icon-sidebar-deafult@2x.png
--------------------------------------------------------------------------------
/education_web/src/assets/icon-speakeroff-dark@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_web/src/assets/icon-speakeroff-dark@2x.png
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/BigClass/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "version" : 1,
4 | "author" : "xcode"
5 | }
6 | }
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/Replay/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "version" : 1,
4 | "author" : "xcode"
5 | }
6 | }
--------------------------------------------------------------------------------
/education_web/src/assets/icon-microphone-off-blue@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_web/src/assets/icon-microphone-off-blue@2x.png
--------------------------------------------------------------------------------
/education_web/src/assets/icon-microphone-on-blue@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_web/src/assets/icon-microphone-on-blue@2x.png
--------------------------------------------------------------------------------
/education_web/src/assets/icon-sidebar-off-active@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_web/src/assets/icon-sidebar-off-active@2x.png
--------------------------------------------------------------------------------
/education_web/src/assets/icon-sidebar-off-deafult@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_web/src/assets/icon-sidebar-off-deafult@2x.png
--------------------------------------------------------------------------------
/education_web/src/assets/icon-sidebar-off-hover@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_web/src/assets/icon-sidebar-off-hover@2x.png
--------------------------------------------------------------------------------
/education_web/src/assets/icon-speaker01-disable@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_web/src/assets/icon-speaker01-disable@2x.png
--------------------------------------------------------------------------------
/education_web/src/assets/icon-speaker02-disable@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_web/src/assets/icon-speaker02-disable@2x.png
--------------------------------------------------------------------------------
/education_web/src/assets/icon-speaker03-disable@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_web/src/assets/icon-speaker03-disable@2x.png
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/PlayControl/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "version" : 1,
4 | "author" : "xcode"
5 | }
6 | }
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/StoryBoards/Room/en.lproj/Room.strings:
--------------------------------------------------------------------------------
1 | /* Class = "UILabel"; text = "ChatRoom"; ObjectID = "oiE-cC-ty9"; */
2 | "oiE-cC-ty9.text" = "ChatRoom";
3 |
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/StoryBoards/Room/zh-Hans.lproj/Room.strings:
--------------------------------------------------------------------------------
1 | /* Class = "UILabel"; text = "ChatRoom"; ObjectID = "oiE-cC-ty9"; */
2 | "oiE-cC-ty9.text" = "聊天室";
3 |
--------------------------------------------------------------------------------
/education_web/.babelrc:
--------------------------------------------------------------------------------
1 | {
2 | "presets": ["babel-preset-react-app"],
3 | "plugins": [
4 | "dynamic-import-node",
5 | "@babel/plugin-transform-runtime"
6 | ]
7 | }
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | .DS_Store
2 | node_modules
3 | package-lock.json
4 | *.dev
5 | release
6 | .env
7 | !.env.example
8 | *.~
9 | *.*~.DS_Store
10 | *.*~
11 | package-lock.json
12 |
--------------------------------------------------------------------------------
/education_Android/AgoraEducation/.gitignore:
--------------------------------------------------------------------------------
1 | *.iml
2 | .gradle/
3 | .idea/
4 | /local.properties
5 | .DS_Store
6 | /build
7 | /captures
8 | .externalNativeBuild
9 | .cxx
10 |
--------------------------------------------------------------------------------
/education_Android/AgoraEducation/log/consumer-rules.pro:
--------------------------------------------------------------------------------
1 | -keep class com.alibaba.sdk.android.oss.** { *; }
2 | -dontwarn okio.**
3 | -dontwarn org.apache.commons.codec.binary.**
4 |
--------------------------------------------------------------------------------
/education_Android/AgoraEducation/gradle/wrapper/gradle-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_Android/AgoraEducation/gradle/wrapper/gradle-wrapper.jar
--------------------------------------------------------------------------------
/education_Android/AgoraEducation/base/src/main/res/values/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Base
4 |
5 |
--------------------------------------------------------------------------------
/education_web/src/utils/agora-web-player/index.css:
--------------------------------------------------------------------------------
1 | #player video {
2 | width: 100%;
3 | height: 100%;
4 | object-fit: cover;
5 | }
6 |
7 | .video-js .vjs-tech { pointer-events: none; }
8 |
--------------------------------------------------------------------------------
/education_Android/AgoraEducation/app/src/main/res/drawable-xhdpi/ic_back.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_Android/AgoraEducation/app/src/main/res/drawable-xhdpi/ic_back.png
--------------------------------------------------------------------------------
/education_Android/AgoraEducation/app/src/main/res/drawable-xhdpi/ic_down.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_Android/AgoraEducation/app/src/main/res/drawable-xhdpi/ic_down.png
--------------------------------------------------------------------------------
/education_Android/AgoraEducation/app/src/main/res/drawable-xhdpi/ic_end.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_Android/AgoraEducation/app/src/main/res/drawable-xhdpi/ic_end.png
--------------------------------------------------------------------------------
/education_Android/AgoraEducation/app/src/main/res/drawable-xhdpi/ic_hide.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_Android/AgoraEducation/app/src/main/res/drawable-xhdpi/ic_hide.png
--------------------------------------------------------------------------------
/education_Android/AgoraEducation/app/src/main/res/drawable-xhdpi/ic_next.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_Android/AgoraEducation/app/src/main/res/drawable-xhdpi/ic_next.png
--------------------------------------------------------------------------------
/education_Android/AgoraEducation/app/src/main/res/drawable-xhdpi/ic_play.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_Android/AgoraEducation/app/src/main/res/drawable-xhdpi/ic_play.png
--------------------------------------------------------------------------------
/education_Android/AgoraEducation/app/src/main/res/drawable-xhdpi/ic_prev.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_Android/AgoraEducation/app/src/main/res/drawable-xhdpi/ic_prev.png
--------------------------------------------------------------------------------
/education_Android/AgoraEducation/app/src/main/res/drawable-xhdpi/ic_show.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_Android/AgoraEducation/app/src/main/res/drawable-xhdpi/ic_show.png
--------------------------------------------------------------------------------
/education_Android/AgoraEducation/app/src/main/res/drawable-xhdpi/ic_time.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_Android/AgoraEducation/app/src/main/res/drawable-xhdpi/ic_time.png
--------------------------------------------------------------------------------
/education_Android/AgoraEducation/app/src/main/res/drawable-xhdpi/ic_close.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_Android/AgoraEducation/app/src/main/res/drawable-xhdpi/ic_close.png
--------------------------------------------------------------------------------
/education_Android/AgoraEducation/app/src/main/res/drawable-xhdpi/ic_first.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_Android/AgoraEducation/app/src/main/res/drawable-xhdpi/ic_first.png
--------------------------------------------------------------------------------
/education_Android/AgoraEducation/app/src/main/res/drawable-xhdpi/ic_pause.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_Android/AgoraEducation/app/src/main/res/drawable-xhdpi/ic_pause.png
--------------------------------------------------------------------------------
/education_Android/AgoraEducation/app/src/main/res/drawable-xhdpi/ic_camera_on.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_Android/AgoraEducation/app/src/main/res/drawable-xhdpi/ic_camera_on.png
--------------------------------------------------------------------------------
/education_Android/AgoraEducation/app/src/main/res/drawable-xhdpi/ic_hand_down.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_Android/AgoraEducation/app/src/main/res/drawable-xhdpi/ic_hand_down.png
--------------------------------------------------------------------------------
/education_Android/AgoraEducation/app/src/main/res/drawable-xhdpi/ic_hand_up.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_Android/AgoraEducation/app/src/main/res/drawable-xhdpi/ic_hand_up.png
--------------------------------------------------------------------------------
/education_Android/AgoraEducation/app/src/main/res/drawable-xhdpi/ic_play_big.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_Android/AgoraEducation/app/src/main/res/drawable-xhdpi/ic_play_big.png
--------------------------------------------------------------------------------
/education_Android/AgoraEducation/app/src/main/res/drawable-xhdpi/ic_setting.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_Android/AgoraEducation/app/src/main/res/drawable-xhdpi/ic_setting.png
--------------------------------------------------------------------------------
/education_Android/AgoraEducation/app/src/main/res/drawable-xhdpi/ic_speaker1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_Android/AgoraEducation/app/src/main/res/drawable-xhdpi/ic_speaker1.png
--------------------------------------------------------------------------------
/education_Android/AgoraEducation/app/src/main/res/drawable-xhdpi/ic_speaker2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_Android/AgoraEducation/app/src/main/res/drawable-xhdpi/ic_speaker2.png
--------------------------------------------------------------------------------
/education_Android/AgoraEducation/app/src/main/res/drawable-xhdpi/ic_speaker3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_Android/AgoraEducation/app/src/main/res/drawable-xhdpi/ic_speaker3.png
--------------------------------------------------------------------------------
/education_Android/AgoraEducation/app/src/main/res/drawable-xhdpi/ic_student.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_Android/AgoraEducation/app/src/main/res/drawable-xhdpi/ic_student.png
--------------------------------------------------------------------------------
/education_Android/AgoraEducation/app/src/main/res/drawable-xhdpi/ic_teacher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_Android/AgoraEducation/app/src/main/res/drawable-xhdpi/ic_teacher.png
--------------------------------------------------------------------------------
/education_Android/AgoraEducation/app/src/main/res/drawable-xhdpi/ic_tool_text.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_Android/AgoraEducation/app/src/main/res/drawable-xhdpi/ic_tool_text.png
--------------------------------------------------------------------------------
/education_Android/AgoraEducation/app/src/main/res/drawable-xhdpi/ic_your_name.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_Android/AgoraEducation/app/src/main/res/drawable-xhdpi/ic_your_name.png
--------------------------------------------------------------------------------
/education_Android/AgoraEducation/app/src/main/res/drawable-xhdpi/img_message.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_Android/AgoraEducation/app/src/main/res/drawable-xhdpi/img_message.png
--------------------------------------------------------------------------------
/education_Android/AgoraEducation/app/src/normal/res/drawable-xhdpi/img_login.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_Android/AgoraEducation/app/src/normal/res/drawable-xhdpi/img_login.png
--------------------------------------------------------------------------------
/education_Android/AgoraEducation/app/src/normal/res/mipmap-hdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_Android/AgoraEducation/app/src/normal/res/mipmap-hdpi/ic_launcher.png
--------------------------------------------------------------------------------
/education_Android/AgoraEducation/app/src/normal/res/mipmap-mdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_Android/AgoraEducation/app/src/normal/res/mipmap-mdpi/ic_launcher.png
--------------------------------------------------------------------------------
/education_Android/AgoraEducation/app/src/normal/res/mipmap-xhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_Android/AgoraEducation/app/src/normal/res/mipmap-xhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/education_Android/AgoraEducation/app/src/normal/res/mipmap-xxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_Android/AgoraEducation/app/src/normal/res/mipmap-xxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/education_Android/AgoraEducation/app/src/main/res/drawable-xhdpi/ic_camera_off.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_Android/AgoraEducation/app/src/main/res/drawable-xhdpi/ic_camera_off.png
--------------------------------------------------------------------------------
/education_Android/AgoraEducation/app/src/main/res/drawable-xhdpi/ic_signal_bad.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_Android/AgoraEducation/app/src/main/res/drawable-xhdpi/ic_signal_bad.png
--------------------------------------------------------------------------------
/education_Android/AgoraEducation/app/src/main/res/drawable-xhdpi/ic_signal_good.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_Android/AgoraEducation/app/src/main/res/drawable-xhdpi/ic_signal_good.png
--------------------------------------------------------------------------------
/education_Android/AgoraEducation/app/src/main/res/drawable-xhdpi/ic_speaker_off.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_Android/AgoraEducation/app/src/main/res/drawable-xhdpi/ic_speaker_off.png
--------------------------------------------------------------------------------
/education_Android/AgoraEducation/app/src/main/res/drawable-xhdpi/ic_tool_color.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_Android/AgoraEducation/app/src/main/res/drawable-xhdpi/ic_tool_color.png
--------------------------------------------------------------------------------
/education_Android/AgoraEducation/app/src/main/res/drawable-xhdpi/ic_tool_eraser.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_Android/AgoraEducation/app/src/main/res/drawable-xhdpi/ic_tool_eraser.png
--------------------------------------------------------------------------------
/education_Android/AgoraEducation/app/src/main/res/drawable-xhdpi/ic_tool_pencil.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_Android/AgoraEducation/app/src/main/res/drawable-xhdpi/ic_tool_pencil.png
--------------------------------------------------------------------------------
/education_Android/AgoraEducation/app/src/main/res/drawable-xhdpi/ic_video_mute.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_Android/AgoraEducation/app/src/main/res/drawable-xhdpi/ic_video_mute.png
--------------------------------------------------------------------------------
/education_Android/AgoraEducation/app/src/normal/res/drawable-xhdpi/ic_room_name.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_Android/AgoraEducation/app/src/normal/res/drawable-xhdpi/ic_room_name.png
--------------------------------------------------------------------------------
/education_Android/AgoraEducation/app/src/normal/res/drawable-xhdpi/ic_room_type.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_Android/AgoraEducation/app/src/normal/res/drawable-xhdpi/ic_room_type.png
--------------------------------------------------------------------------------
/education_Android/AgoraEducation/app/src/normal/res/mipmap-xxxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_Android/AgoraEducation/app/src/normal/res/mipmap-xxxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/education_Android/AgoraEducation/app/src/main/res/drawable-xhdpi/ic_board_disable.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_Android/AgoraEducation/app/src/main/res/drawable-xhdpi/ic_board_disable.png
--------------------------------------------------------------------------------
/education_Android/AgoraEducation/app/src/main/res/drawable-xhdpi/ic_board_enable.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_Android/AgoraEducation/app/src/main/res/drawable-xhdpi/ic_board_enable.png
--------------------------------------------------------------------------------
/education_Android/AgoraEducation/app/src/main/res/drawable-xhdpi/ic_signal_normal.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_Android/AgoraEducation/app/src/main/res/drawable-xhdpi/ic_signal_normal.png
--------------------------------------------------------------------------------
/education_Android/AgoraEducation/app/src/main/res/drawable-xhdpi/ic_tool_selector.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_Android/AgoraEducation/app/src/main/res/drawable-xhdpi/ic_tool_selector.png
--------------------------------------------------------------------------------
/education_Android/AgoraEducation/app/src/normal/res/mipmap-hdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_Android/AgoraEducation/app/src/normal/res/mipmap-hdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/education_Android/AgoraEducation/app/src/normal/res/mipmap-mdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_Android/AgoraEducation/app/src/normal/res/mipmap-mdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/education_Android/AgoraEducation/app/src/normal/res/mipmap-xhdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_Android/AgoraEducation/app/src/normal/res/mipmap-xhdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/education_web/src/utils/LogUploader/db.ts:
--------------------------------------------------------------------------------
1 | import Dexie from 'dexie';
2 |
3 | const db = new Dexie('webdemo_agora_edu');
4 |
5 | db.version(1).stores({
6 | logs: 'content'
7 | });
8 |
9 | export default db;
10 |
--------------------------------------------------------------------------------
/education_Android/AgoraEducation/app/src/normal/res/mipmap-xxhdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_Android/AgoraEducation/app/src/normal/res/mipmap-xxhdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/education_Android/AgoraEducation/app/src/normal/res/mipmap-xxxhdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_Android/AgoraEducation/app/src/normal/res/mipmap-xxxhdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/education_Android/AgoraEducation/base/src/main/java/io/agora/base/network/ResponseBody.java:
--------------------------------------------------------------------------------
1 | package io.agora.base.network;
2 |
3 | public class ResponseBody {
4 |
5 | public int code;
6 | public T msg;
7 |
8 | }
9 |
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/allBack.imageset/allBack.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/allBack.imageset/allBack.pdf
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/testMic.imageset/testMic.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/testMic.imageset/testMic.pdf
--------------------------------------------------------------------------------
/education_Android/AgoraEducation/app/src/main/res/xml/network_security_config.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/AppIcon.appiconset/icon-40.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/AppIcon.appiconset/icon-40.png
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/AppIcon.appiconset/icon-76.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/AppIcon.appiconset/icon-76.png
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/logoIcon.imageset/logoIcon.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/logoIcon.imageset/logoIcon.pdf
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/mainLogo.imageset/mainLogo.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/mainLogo.imageset/mainLogo.pdf
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/roomExit.imageset/roomExit.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/roomExit.imageset/roomExit.pdf
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/AppIcon.appiconset/icon-1024.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/AppIcon.appiconset/icon-1024.png
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/AppIcon.appiconset/icon-20@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/AppIcon.appiconset/icon-20@2x.png
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/AppIcon.appiconset/icon-20@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/AppIcon.appiconset/icon-20@3x.png
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/AppIcon.appiconset/icon-29@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/AppIcon.appiconset/icon-29@2x.png
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/AppIcon.appiconset/icon-29@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/AppIcon.appiconset/icon-29@3x.png
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/AppIcon.appiconset/icon-40@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/AppIcon.appiconset/icon-40@2x.png
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/AppIcon.appiconset/icon-40@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/AppIcon.appiconset/icon-40@3x.png
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/AppIcon.appiconset/icon-60@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/AppIcon.appiconset/icon-60@2x.png
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/AppIcon.appiconset/icon-60@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/AppIcon.appiconset/icon-60@3x.png
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/AppIcon.appiconset/icon-76@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/AppIcon.appiconset/icon-76@2x.png
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/eevideoOff.imageset/eevideoOff.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/eevideoOff.imageset/eevideoOff.pdf
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/logoAgora.imageset/logoAgora.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/logoAgora.imageset/logoAgora.pdf
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/roomMicOff.imageset/roomMicOff.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/roomMicOff.imageset/roomMicOff.pdf
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/roomMicon.imageset/roomMicon.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/roomMicon.imageset/roomMicon.pdf
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/view-close.imageset/view-close.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/view-close.imageset/view-close.pdf
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/view-open.imageset/view-open.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/view-open.imageset/view-open.pdf
--------------------------------------------------------------------------------
/education_Android/AgoraEducation/base/src/main/java/io/agora/base/Callback.java:
--------------------------------------------------------------------------------
1 | package io.agora.base;
2 |
3 | public interface Callback {
4 |
5 | void onSuccess(T res);
6 |
7 | void onFailure(Throwable throwable);
8 |
9 | }
10 |
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/AppIcon.appiconset/icon-20-ipad.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/AppIcon.appiconset/icon-20-ipad.png
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/AppIcon.appiconset/icon-29-ipad.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/AppIcon.appiconset/icon-29-ipad.png
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/AppIcon.appiconset/icon-29@2x-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/AppIcon.appiconset/icon-29@2x-1.png
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/AppIcon.appiconset/icon-40@2x-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/AppIcon.appiconset/icon-40@2x-1.png
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/AppIcon.appiconset/icon-83.5@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/AppIcon.appiconset/icon-83.5@2x.png
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/PlayControl/loading.imageset/加载.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/PlayControl/loading.imageset/加载.png
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/Room/icon-end.imageset/icon-end.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/Room/icon-end.imageset/icon-end.pdf
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/Room/tool-pen.imageset/tool-pen.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/Room/tool-pen.imageset/tool-pen.pdf
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/eevideoOn-s.imageset/eevideoOn-s.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/eevideoOn-s.imageset/eevideoOn-s.png
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/icon-handup.imageset/icon-handup.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/icon-handup.imageset/icon-handup.pdf
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/testSpeaker.imageset/testSpeaker.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/testSpeaker.imageset/testSpeaker.pdf
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/video-close.imageset/video-close.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/video-close.imageset/video-close.pdf
--------------------------------------------------------------------------------
/education_web/.gitignore:
--------------------------------------------------------------------------------
1 | package-lock.json
2 | yarn.lock
3 | .env
4 | *.*~
5 | release/
6 | *.local
7 | build
8 | .DS_Store
9 | *.log
10 | src/assets/.DS_Store
11 | !src/assets/
12 | *.json
13 | node_modules
14 | app/log
15 | app/*.log
16 |
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation.xcworkspace/xcshareddata/xcdebugger/Breakpoints_v2.xcbkptlist:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/AppIcon.appiconset/icon-20@2x-ipad.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/AppIcon.appiconset/icon-20@2x-ipad.png
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/BigClass/page-end.imageset/page-end.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/BigClass/page-end.imageset/page-end.pdf
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/Main/icon-down.imageset/icon-down.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/Main/icon-down.imageset/icon-down.pdf
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/Main/icon-time.imageset/icon-time.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/Main/icon-time.imageset/icon-time.pdf
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/Main/icon-type.imageset/icon-type.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/Main/icon-type.imageset/icon-type.pdf
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/PlayControl/loading.imageset/加载 (1).png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/PlayControl/loading.imageset/加载 (1).png
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/Room/icon-close.imageset/icon-close.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/Room/icon-close.imageset/icon-close.pdf
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/Room/icon-first.imageset/icon-first.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/Room/icon-first.imageset/icon-first.pdf
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/Room/icon-left.imageset/icon-left.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/Room/icon-left.imageset/icon-left.pdf
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/Room/icon-right.imageset/icon-right.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/Room/icon-right.imageset/icon-right.pdf
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/Room/tool-color.imageset/tool-color.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/Room/tool-color.imageset/tool-color.pdf
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/Room/tool-text.imageset/tool-text.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/Room/tool-text.imageset/tool-text.pdf
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/Room/upload-log.imageset/icon-上传日志.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/Room/upload-log.imageset/icon-上传日志.pdf
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/roomCameraOn.imageset/roomCameraOn.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/roomCameraOn.imageset/roomCameraOn.pdf
--------------------------------------------------------------------------------
/education_Android/AgoraEducation/log/src/main/java/io/agora/log/service/bean/ResponseBody.java:
--------------------------------------------------------------------------------
1 | package io.agora.log.service.bean;
2 |
3 | public class ResponseBody extends io.agora.base.network.ResponseBody {
4 |
5 | public T data;
6 |
7 | }
8 |
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/BigClass/page-next.imageset/icon-next.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/BigClass/page-next.imageset/icon-next.pdf
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/BigClass/page-prev.imageset/page-prev.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/BigClass/page-prev.imageset/page-prev.pdf
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/Main/icon-signal1.imageset/signal-bad.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/Main/icon-signal1.imageset/signal-bad.pdf
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/PlayControl/slider.imageset/slider@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/PlayControl/slider.imageset/slider@2x.png
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/PlayControl/slider.imageset/slider@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/PlayControl/slider.imageset/slider@3x.png
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/Room/icon-handup.imageset/icon-handup.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/Room/icon-handup.imageset/icon-handup.pdf
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/Room/tool-eraser.imageset/tool-eraser.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/Room/tool-eraser.imageset/tool-eraser.pdf
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/Room/tool-select.imageset/tool-select.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/Room/tool-select.imageset/tool-select.pdf
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/roomCameraOff.imageset/roomCameraOff.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/roomCameraOff.imageset/roomCameraOff.pdf
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/speaker-close.imageset/speaker-close.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/speaker-close.imageset/speaker-close.pdf
--------------------------------------------------------------------------------
/education_Android/AgoraEducation/whiteboard/src/main/java/io/agora/whiteboard/netless/service/bean/response/RoomJoin.java:
--------------------------------------------------------------------------------
1 | package io.agora.whiteboard.netless.service.bean.response;
2 |
3 | public class RoomJoin {
4 |
5 | public String roomToken;
6 |
7 | }
8 |
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/BigClass/page-first.imageset/page-first.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/BigClass/page-first.imageset/page-first.pdf
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/Main/icon-signal2.imageset/signal-normal.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/Main/icon-signal2.imageset/signal-normal.pdf
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/Main/icon-signal3.imageset/signal-good.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/Main/icon-signal3.imageset/signal-good.pdf
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/Main/icon-student.imageset/icon-student.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/Main/icon-student.imageset/icon-student.pdf
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/Main/icon-teacher.imageset/icon-teacher.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/Main/icon-teacher.imageset/icon-teacher.pdf
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/Main/main-login.imageset/pic-index (1).pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/Main/main-login.imageset/pic-index (1).pdf
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/PlayControl/back.imageset/icon-back@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/PlayControl/back.imageset/icon-back@2x.png
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/PlayControl/back.imageset/icon-back@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/PlayControl/back.imageset/icon-back@3x.png
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/PlayControl/logo.imageset/logo-agora@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/PlayControl/logo.imageset/logo-agora@2x.png
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/PlayControl/logo.imageset/logo-agora@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/PlayControl/logo.imageset/logo-agora@3x.png
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/PlayControl/pause.imageset/icon-pause@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/PlayControl/pause.imageset/icon-pause@2x.png
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/PlayControl/pause.imageset/icon-pause@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/PlayControl/pause.imageset/icon-pause@3x.png
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/Replay/replay_logo.imageset/replay_logo.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/Replay/replay_logo.imageset/replay_logo.pdf
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/Room/icon-setting.imageset/icon-setting.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/Room/icon-setting.imageset/icon-setting.pdf
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/backgroundImage.imageset/backgroundImage.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/backgroundImage.imageset/backgroundImage.pdf
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/classRoompower.imageset/classRoompower.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/classRoompower.imageset/classRoompower.pdf
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/videoBackgroundImage.imageset/roomPempty.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/videoBackgroundImage.imageset/roomPempty.pdf
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/zh-Hans.lproj/InfoPlist.strings:
--------------------------------------------------------------------------------
1 | /*
2 | InfoPlist.strings
3 | AgoraEducation
4 |
5 | Created by SRS on 2020/2/17.
6 | Copyright © 2020 yangmoumou. All rights reserved.
7 | */
8 | CFBundleDisplayName = "声网云课堂";
9 |
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/Main/icon-roomname.imageset/icon-roomname.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/Main/icon-roomname.imageset/icon-roomname.pdf
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/Main/icon-username.imageset/icon-username.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/Main/icon-username.imageset/icon-username.pdf
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/Room/icon-handup-x.imageset/icon-handup-x.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/Room/icon-handup-x.imageset/icon-handup-x.pdf
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/Room/icon-speaker1.imageset/icon-speaker1.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/Room/icon-speaker1.imageset/icon-speaker1.pdf
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/Room/icon-speaker2.imageset/icon-speaker2.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/Room/icon-speaker2.imageset/icon-speaker2.pdf
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/Room/icon-speaker3.imageset/icon-speaker3.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/Room/icon-speaker3.imageset/icon-speaker3.pdf
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/icon-camera-dark.imageset/icon-camera-dark.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/icon-camera-dark.imageset/icon-camera-dark.pdf
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/white-video-open.imageset/white-video-open.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/white-video-open.imageset/white-video-open.pdf
--------------------------------------------------------------------------------
/education_Android/AgoraEducation/app/src/main/java/io/agora/education/service/bean/ResponseBody.java:
--------------------------------------------------------------------------------
1 | package io.agora.education.service.bean;
2 |
3 | public class ResponseBody extends io.agora.base.network.ResponseBody {
4 |
5 | public T data;
6 |
7 | }
8 |
--------------------------------------------------------------------------------
/education_Android/AgoraEducation/sdk/src/main/java/io/agora/sdk/listener/RtcEventListener.java:
--------------------------------------------------------------------------------
1 | package io.agora.sdk.listener;
2 |
3 | import io.agora.rtc.IRtcEngineEventHandler;
4 |
5 | public abstract class RtcEventListener extends IRtcEngineEventHandler {
6 |
7 | }
8 |
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/PlayControl/message.imageset/pic-message@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/PlayControl/message.imageset/pic-message@2x.png
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/PlayControl/message.imageset/pic-message@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/PlayControl/message.imageset/pic-message@3x.png
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/PlayControl/play.imageset/icon-play small@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/PlayControl/play.imageset/icon-play small@2x.png
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/PlayControl/play.imageset/icon-play small@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/PlayControl/play.imageset/icon-play small@3x.png
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/Room/icon-right-hide.imageset/icon-right-hide.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/Room/icon-right-hide.imageset/icon-right-hide.pdf
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/Room/icon-right-show.imageset/icon-right-show.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/Room/icon-right-show.imageset/icon-right-show.pdf
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/Room/icon-white-connect.imageset/icon-connect.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/Room/icon-white-connect.imageset/icon-connect.pdf
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/white-video-close.imageset/white-video-close.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/white-video-close.imageset/white-video-close.pdf
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/en.lproj/InfoPlist.strings:
--------------------------------------------------------------------------------
1 | /*
2 | InfoPlist.strings
3 | AgoraEducation
4 |
5 | Created by SRS on 2020/2/17.
6 | Copyright © 2020 yangmoumou. All rights reserved.
7 | */
8 | CFBundleDisplayName = "Agora Cloud Class";
9 |
--------------------------------------------------------------------------------
/education_Android/AgoraEducation/app/src/main/java/io/agora/education/service/bean/response/RoomBoardRes.java:
--------------------------------------------------------------------------------
1 | package io.agora.education.service.bean.response;
2 |
3 | public class RoomBoardRes {
4 |
5 | public String boardId;
6 | public String boardToken;
7 |
8 | }
9 |
--------------------------------------------------------------------------------
/education_Android/AgoraEducation/app/src/normal/java/io/agora/education/service/bean/response/RoomEntryRes.java:
--------------------------------------------------------------------------------
1 | package io.agora.education.service.bean.response;
2 |
3 | public class RoomEntryRes {
4 |
5 | public String roomId;
6 | public String userToken;
7 |
8 | }
9 |
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/PlayControl/big_play.imageset/icon-play big@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/PlayControl/big_play.imageset/icon-play big@2x.png
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/PlayControl/big_play.imageset/icon-play big@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/PlayControl/big_play.imageset/icon-play big@3x.png
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/Room/icon-speaker-off.imageset/icon-speaker-off.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/Room/icon-speaker-off.imageset/icon-speaker-off.pdf
--------------------------------------------------------------------------------
/education_web/src/utils/platform.ts:
--------------------------------------------------------------------------------
1 | console.log(`CURRENT RUNTIME: ${process.env.REACT_APP_RUNTIME_PLATFORM}`);
2 |
3 | export const isElectron = process.env.REACT_APP_RUNTIME_PLATFORM === 'electron'
4 |
5 | export const platform = process.env.REACT_APP_RUNTIME_PLATFORM as string;
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/PlayControl/replay_teacher.imageset/pic-teacher@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/PlayControl/replay_teacher.imageset/pic-teacher@2x.png
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/PlayControl/replay_teacher.imageset/pic-teacher@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/PlayControl/replay_teacher.imageset/pic-teacher@3x.png
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/Room/icon-speaker1-max.imageset/icon-speaker1-max.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/Room/icon-speaker1-max.imageset/icon-speaker1-max.pdf
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/Room/icon-speaker1-min.imageset/icon-speaker1-min.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/Room/icon-speaker1-min.imageset/icon-speaker1-min.pdf
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/Room/icon-speaker2-max.imageset/icon-speaker2-max.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/Room/icon-speaker2-max.imageset/icon-speaker2-max.pdf
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/Room/icon-speaker2-min.imageset/icon-speaker2-min.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/Room/icon-speaker2-min.imageset/icon-speaker2-min.pdf
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/Room/icon-speaker3-max.imageset/icon-speaker3-max.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/Room/icon-speaker3-max.imageset/icon-speaker3-max.pdf
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/Room/icon-speaker3-min.imageset/icon-speaker3-min.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/Room/icon-speaker3-min.imageset/icon-speaker3-min.pdf
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/Room/icon-video-on-min.imageset/icon-video-on-min.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/Room/icon-video-on-min.imageset/icon-video-on-min.pdf
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/icon-cameraoff-dark.imageset/icon-cameraoff-dark.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/icon-cameraoff-dark.imageset/icon-cameraoff-dark.pdf
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/Room/icon-video-off-min.imageset/icon-video-off-min.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/Room/icon-video-off-min.imageset/icon-video-off-min.pdf
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/Room/icon-videoon-dark.imageset/icon-speakeron-dark.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/Room/icon-videoon-dark.imageset/icon-speakeron-dark.pdf
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/Room/icon-white-disconnect.imageset/icon-disconnect.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/Room/icon-white-disconnect.imageset/icon-disconnect.pdf
--------------------------------------------------------------------------------
/education_Android/AgoraEducation/app/src/main/res/drawable/bg_dialog.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/Room/icon-speaker-off-min.imageset/icon-speaker-off-min.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/Room/icon-speaker-off-min.imageset/icon-speaker-off-min.pdf
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/Room/icon-videooff-dark.imageset/icon-speakeroff-dark.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/Room/icon-videooff-dark.imageset/icon-speakeroff-dark.pdf
--------------------------------------------------------------------------------
/education_Android/AgoraEducation/app/src/main/res/drawable/bg_appliance_view.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/Room/icon-speakeroff-dark.imageset/icon-speakeroff-dark(1).pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/Room/icon-speakeroff-dark.imageset/icon-speakeroff-dark(1).pdf
--------------------------------------------------------------------------------
/education_Android/AgoraEducation/app/src/main/res/drawable/bg_radius_5_black_7f.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/education_Android/AgoraEducation/app/src/normal/res/values/string_configs.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | <#YOUR APP ID#>
4 | <#YOUR AUTH#>
5 |
6 |
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Manager/Signal/SignalModel.m:
--------------------------------------------------------------------------------
1 | //
2 | // SignalModel.m
3 | // AgoraEducation
4 | //
5 | // Created by SRS on 2019/12/6.
6 | // Copyright © 2019 Agora. All rights reserved.
7 | //
8 |
9 | #import "SignalModel.h"
10 |
11 | @implementation SignalModel
12 |
13 | @end
14 |
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/Main/icon-white-camera-close.imageset/icon-white-camera-close.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/plutoless/eEducation/HEAD/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/Main/icon-white-camera-close.imageset/icon-white-camera-close.pdf
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Manager/HTTP/Model/CommonModel.m:
--------------------------------------------------------------------------------
1 | //
2 | // CommonModel.m
3 | // AgoraEducation
4 | //
5 | // Created by SRS on 2020/1/8.
6 | // Copyright © 2019 Agora. All rights reserved.
7 | //
8 |
9 | #import "CommonModel.h"
10 |
11 | @implementation CommonModel
12 |
13 | @end
14 |
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/EyeCare/SkinCoverLayer.m:
--------------------------------------------------------------------------------
1 | //
2 | // SkinCoverLayer.m
3 | // AgoraEducation
4 | //
5 | // Created by yangmoumou on 2019/9/23.
6 | // Copyright © 2019 Agora. All rights reserved.
7 | //
8 |
9 | #import "SkinCoverLayer.h"
10 |
11 | @implementation SkinCoverLayer
12 |
13 | @end
14 |
--------------------------------------------------------------------------------
/education_Android/AgoraEducation/app/src/main/res/xml/file_paths.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
6 |
9 |
10 |
--------------------------------------------------------------------------------
/education_Android/AgoraEducation/gradle/wrapper/gradle-wrapper.properties:
--------------------------------------------------------------------------------
1 | #Tue Nov 19 16:15:06 CST 2019
2 | distributionBase=GRADLE_USER_HOME
3 | distributionPath=wrapper/dists
4 | zipStoreBase=GRADLE_USER_HOME
5 | zipStorePath=wrapper/dists
6 | distributionUrl=https\://services.gradle.org/distributions/gradle-5.4.1-all.zip
7 |
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/StoryBoards/LaunchScreen/zh-Hans.lproj/LaunchScreen.strings:
--------------------------------------------------------------------------------
1 |
2 | /* Class = "UILabel"; text = "Powerd by Agora.io"; ObjectID = "dfh-OS-RPJ"; */
3 | "dfh-OS-RPJ.text" = "版权所有 Agora.io";
4 |
5 | /* Class = "UIButton"; normalTitle = "小班课"; ObjectID = "kam-LA-oqv"; */
6 | "kam-LA-oqv.normalTitle" = "小班课";
7 |
--------------------------------------------------------------------------------
/education_Android/AgoraEducation/timeline/src/main/java/io/agora/timeline/TimelineListener.java:
--------------------------------------------------------------------------------
1 | package io.agora.timeline;
2 |
3 | public interface TimelineListener {
4 | void onStart();
5 |
6 | void onPause();
7 |
8 | void onTimelineChanged(long currentTime, long totalTime);
9 |
10 | void onStop();
11 | }
12 |
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Manager/EduModel/ReplayManagerModel.m:
--------------------------------------------------------------------------------
1 | //
2 | // ReplayManagerModel.m
3 | // AgoraEducation
4 | //
5 | // Created by SRS on 2019/12/18.
6 | // Copyright © 2019 Agora. All rights reserved.
7 | //
8 |
9 | #import "ReplayManagerModel.h"
10 |
11 | @implementation ReplayManagerModel
12 |
13 | @end
14 |
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Manager/EduModel/SignalModel/SignalInfoModel.m:
--------------------------------------------------------------------------------
1 | //
2 | // SignalInfoModel.m
3 | // AgoraEducation
4 | //
5 | // Created by SRS on 2020/4/25.
6 | // Copyright © 2020 yangmoumou. All rights reserved.
7 | //
8 |
9 | #import "SignalInfoModel.h"
10 | @implementation SignalInfoModel
11 |
12 | @end
13 |
--------------------------------------------------------------------------------
/education_iOS/SetupLanString.sh:
--------------------------------------------------------------------------------
1 | python ./AgoraEducation/StoryBoards/RunScript/AutoGenString.py ./AgoraEducation/StoryBoards/Room/
2 | python ./AgoraEducation/StoryBoards/RunScript/AutoGenString.py ./AgoraEducation/StoryBoards/LaunchScreen/
3 | python ./AgoraEducation/StoryBoards/RunScript/AutoGenString.py ./AgoraEducation/StoryBoards/Main/
--------------------------------------------------------------------------------
/education_Android/AgoraEducation/timeline/src/main/java/io/agora/timeline/Timeline.java:
--------------------------------------------------------------------------------
1 | package io.agora.timeline;
2 |
3 | public interface Timeline {
4 | void start();
5 |
6 | void pause();
7 |
8 | void seekTo(long positionMs);
9 |
10 | void stop();
11 |
12 | @TimelineState
13 | int getState();
14 | }
15 |
--------------------------------------------------------------------------------
/education_Android/AgoraEducation/whiteboard/src/main/java/io/agora/whiteboard/netless/service/bean/ResponseBody.java:
--------------------------------------------------------------------------------
1 | package io.agora.whiteboard.netless.service.bean;
2 |
3 | import io.agora.whiteboard.netless.service.bean.response.RoomJoin;
4 |
5 | public class ResponseBody extends io.agora.base.network.ResponseBody {
6 |
7 | }
8 |
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | IDEDidComputeMac32BitWarning
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/StoryBoards/LaunchScreen/en.lproj/LaunchScreen.strings:
--------------------------------------------------------------------------------
1 |
2 | /* Class = "UILabel"; text = "Powerd by Agora.io"; ObjectID = "dfh-OS-RPJ"; */
3 | "dfh-OS-RPJ.text" = "Powerd by Agora.io";
4 |
5 | /* Class = "UIButton"; normalTitle = "小班课"; ObjectID = "kam-LA-oqv"; */
6 | "kam-LA-oqv.normalTitle" = "Small Class";
7 |
--------------------------------------------------------------------------------
/education_Android/AgoraEducation/app/src/main/java/io/agora/education/service/bean/response/AppConfigRes.java:
--------------------------------------------------------------------------------
1 | package io.agora.education.service.bean.response;
2 |
3 | import java.util.Map;
4 |
5 | public class AppConfigRes {
6 |
7 | public String appId;
8 | public Map> multiLanguage;
9 |
10 | }
11 |
--------------------------------------------------------------------------------
/education_Android/AgoraEducation/app/src/main/res/drawable/bg_chat_edit.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Manager/EduModel/RTCModel/RTCVideoCanvasModel.m:
--------------------------------------------------------------------------------
1 | //
2 | // RTCVideoCanvasModel.m
3 | // AgoraEducation
4 | //
5 | // Created by SRS on 2019/12/25.
6 | // Copyright © 2019 Agora. All rights reserved.
7 | //
8 |
9 | #import "RTCVideoCanvasModel.h"
10 |
11 | @implementation RTCVideoCanvasModel
12 |
13 | @end
14 |
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Manager/EduModel/RTCModel/RTCVideoSessionModel.m:
--------------------------------------------------------------------------------
1 | //
2 | // RTCVideoSessionModel.m
3 | // AgoraEducation
4 | //
5 | // Created by SRS on 2019/12/25.
6 | // Copyright © 2019 Agora. All rights reserved.
7 | //
8 |
9 | #import "RTCVideoSessionModel.h"
10 |
11 | @implementation RTCVideoSessionModel
12 |
13 | @end
14 |
--------------------------------------------------------------------------------
/education_Android/AgoraEducation/app/src/main/res/drawable/ic_float.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | IDEDidComputeMac32BitWarning
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/education_Android/AgoraEducation/app/src/main/res/values/ids.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Main/Controllers/MainViewController.h:
--------------------------------------------------------------------------------
1 | //
2 | // MainViewController.h
3 | // AgoraSmallClass
4 | //
5 | // Created by yangmoumou on 2019/5/9.
6 | // Copyright © 2019 Agora. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | @interface MainViewController : UIViewController
12 |
13 |
14 | @end
15 |
16 |
17 |
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Manager/HTTP/Model/WhiteModel.m:
--------------------------------------------------------------------------------
1 | //
2 | // WhiteModel.m
3 | // AgoraEducation
4 | //
5 | // Created by SRS on 2020/4/16.
6 | // Copyright © 2020 yangmoumou. All rights reserved.
7 | //
8 |
9 | #import "WhiteModel.h"
10 |
11 | @implementation WhiteInfoModel
12 |
13 | @end
14 |
15 | @implementation WhiteModel
16 |
17 | @end
18 |
--------------------------------------------------------------------------------
/education_web/src/components/custom-button.tsx:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import { Button } from '@material-ui/core';
3 | export default function (props: any) {
4 | return (
5 |
8 | )
9 | }
--------------------------------------------------------------------------------
/cicd/templates/github-release.yml:
--------------------------------------------------------------------------------
1 | parameters:
2 | displayName: ''
3 |
4 | steps:
5 | - task: GitHubRelease@0
6 | displayName: ${{ parameters.displayName }}_Release
7 | inputs:
8 | gitHubConnection: 'azure-pipelines'
9 | repositoryName: 'AgoraIO-Usecase/eEducation'
10 | assets: '$(Build.ArtifactStagingDirectory)/*.zip'
11 | addChangeLog: false
12 |
--------------------------------------------------------------------------------
/education_Android/AgoraEducation/app/src/main/res/drawable/ic_camera.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/education_Android/AgoraEducation/app/src/main/res/drawable/ic_hand.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/education_Android/AgoraEducation/app/src/main/res/drawable/ic_speaker.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Manager/HTTP/Model/LogParamsModel.m:
--------------------------------------------------------------------------------
1 | //
2 | // RoomAllModel.m
3 | // AgoraEducation
4 | //
5 | // Created by SRS on 2020/1/8.
6 | // Copyright © 2019 Agora. All rights reserved.
7 | //
8 |
9 | #import "LogParamsModel.h"
10 |
11 | @implementation LogParamsInfoModel
12 |
13 | @end
14 |
15 | @implementation LogParamsModel
16 | @end
17 |
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Replay/Widget/EduButton.h:
--------------------------------------------------------------------------------
1 | //
2 | // EduButton.h
3 | // AgoraEducation
4 | //
5 | // Created by SRS on 2019/12/17.
6 | // Copyright © 2019 Agora. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | NS_ASSUME_NONNULL_BEGIN
12 |
13 | @interface EduButton : UIButton
14 |
15 | @end
16 |
17 | NS_ASSUME_NONNULL_END
18 |
--------------------------------------------------------------------------------
/education_Android/AgoraEducation/app/src/main/res/drawable/ic_board.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/education_web/src/components/github-icon/index.tsx:
--------------------------------------------------------------------------------
1 | import React from 'react'
2 | import './index.scss';
3 |
4 | export const GithubIcon: React.FC<{}> = (props) => {
5 | return (
6 |
7 |
8 |
9 |
10 | )
11 | }
--------------------------------------------------------------------------------
/education_Android/AgoraEducation/app/src/main/java/io/agora/education/service/bean/response/RoomRes.java:
--------------------------------------------------------------------------------
1 | package io.agora.education.service.bean.response;
2 |
3 | import io.agora.education.classroom.bean.channel.Room;
4 | import io.agora.education.classroom.bean.channel.User;
5 |
6 | public class RoomRes {
7 |
8 | public Room room;
9 | public User user;
10 |
11 | }
12 |
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Manager/EduModel/SignalModel/MessageModel.m:
--------------------------------------------------------------------------------
1 | //
2 | // MessageModel.m
3 | // AgoraEducation
4 | //
5 | // Created by SRS on 2020/1/29.
6 | // Copyright © 2019 Agora. All rights reserved.
7 | //
8 |
9 | #import "MessageModel.h"
10 |
11 | @implementation MessageInfoModel
12 |
13 | @end
14 |
15 | @implementation MessageModel
16 |
17 | @end
18 |
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/EyeCare/SkinCoverWindow.h:
--------------------------------------------------------------------------------
1 | //
2 | // SkinCoverWindow.h
3 | // AgoraEducation
4 | //
5 | // Created by yangmoumou on 2019/9/23.
6 | // Copyright © 2019 Agora. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | NS_ASSUME_NONNULL_BEGIN
12 |
13 | @interface SkinCoverWindow : UIWindow
14 |
15 | @end
16 |
17 | NS_ASSUME_NONNULL_END
18 |
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Manager/HTTP/Model/EnterRoomAllModel.m:
--------------------------------------------------------------------------------
1 | //
2 | // EnterRoomAllModel.m
3 | // AgoraEducation
4 | //
5 | // Created by SRS on 2020/1/7.
6 | // Copyright © 2019 Agora. All rights reserved.
7 | //
8 |
9 | #import "EnterRoomAllModel.h"
10 |
11 | @implementation EnterRoomInfoModel
12 | @end
13 |
14 |
15 | @implementation EnterRoomAllModel
16 | @end
17 |
--------------------------------------------------------------------------------
/education_Android/AgoraEducation/app/src/main/res/drawable/bg_msg_me.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
8 |
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/EyeCare/SkinCoverLayer.h:
--------------------------------------------------------------------------------
1 | //
2 | // SkinCoverLayer.h
3 | // AgoraEducation
4 | //
5 | // Created by yangmoumou on 2019/9/23.
6 | // Copyright © 2019 Agora. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | NS_ASSUME_NONNULL_BEGIN
12 |
13 | @interface SkinCoverLayer : CALayer
14 |
15 | @end
16 |
17 | NS_ASSUME_NONNULL_END
18 |
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/Replay/replay_logo.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "replay_logo.pdf"
6 | }
7 | ],
8 | "info" : {
9 | "version" : 1,
10 | "author" : "xcode"
11 | },
12 | "properties" : {
13 | "preserves-vector-representation" : true
14 | }
15 | }
--------------------------------------------------------------------------------
/education_Android/AgoraEducation/app/src/main/res/drawable/bg_msg_other.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
8 |
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Manager/EduModel/SignalModel/SignalP2PModel.m:
--------------------------------------------------------------------------------
1 | //
2 | // SignalP2PModel.m
3 | // AgoraEducation
4 | //
5 | // Created by yangmoumou on 2019/11/22.
6 | // Copyright © 2019 Agora. All rights reserved.
7 | //
8 |
9 | #import "SignalP2PModel.h"
10 |
11 | @implementation SignalP2PInfoModel
12 |
13 | @end
14 |
15 | @implementation SignalP2PModel
16 |
17 | @end
18 |
--------------------------------------------------------------------------------
/education_web/src/pages/404.scss:
--------------------------------------------------------------------------------
1 | .main-layout-container {
2 | background: #EEF1F3;
3 | display: flex;
4 | position: relative;
5 | height: 100%;
6 | align-items: center;
7 | justify-content: center;
8 |
9 | .layout-content {
10 | h1 {
11 | font-size: 24px;
12 | }
13 |
14 | h2 {
15 | font-size: 20px;
16 | color: gray;
17 | }
18 |
19 | }
20 | }
--------------------------------------------------------------------------------
/education_Android/AgoraEducation/app/src/main/res/drawable/btn_circle_black_79.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | -
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Manager/EduModel/SignalModel/SignalRoomModel.m:
--------------------------------------------------------------------------------
1 | //
2 | // SignalRoomModel.m
3 | // AgoraEducation
4 | //
5 | // Created by SRS on 2020/4/22.
6 | // Copyright © 2020 yangmoumou. All rights reserved.
7 | //
8 |
9 | #import "SignalRoomModel.h"
10 |
11 | @implementation SignalRoomInfoModel
12 |
13 | @end
14 |
15 | @implementation SignalRoomModel
16 |
17 | @end
18 |
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/Room/icon-white-connect.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "icon-connect.pdf"
6 | }
7 | ],
8 | "info" : {
9 | "version" : 1,
10 | "author" : "xcode"
11 | },
12 | "properties" : {
13 | "preserves-vector-representation" : true
14 | }
15 | }
--------------------------------------------------------------------------------
/education_Android/AgoraEducation/app/src/main/res/drawable/btn_circle_44a2fc.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | -
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/education_Android/AgoraEducation/app/src/main/res/drawable/btn_circle_f5f7f8.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | -
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/Room/icon-white-disconnect.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "icon-disconnect.pdf"
6 | }
7 | ],
8 | "info" : {
9 | "version" : 1,
10 | "author" : "xcode"
11 | },
12 | "properties" : {
13 | "preserves-vector-representation" : true
14 | }
15 | }
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Utils/MD5/NSString+MD5.h:
--------------------------------------------------------------------------------
1 | //
2 | // NSString+MD5.h
3 | // AgoraEducation
4 | //
5 | // Created by SRS on 2019/12/25.
6 | // Copyright © 2019 Agora. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | NS_ASSUME_NONNULL_BEGIN
12 |
13 | @interface NSString (MD5)
14 |
15 | - (NSString *)md5;
16 |
17 | @end
18 |
19 | NS_ASSUME_NONNULL_END
20 |
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Manager/EduModel/SignalModel/SignalReplayModel.m:
--------------------------------------------------------------------------------
1 | //
2 | // SignalReplayModel.m
3 | // AgoraEducation
4 | //
5 | // Created by SRS on 2020/4/23.
6 | // Copyright © 2020 yangmoumou. All rights reserved.
7 | //
8 |
9 | #import "SignalReplayModel.h"
10 |
11 | @implementation SignalReplayInfoModel
12 |
13 | @end
14 |
15 | @implementation SignalReplayModel
16 |
17 | @end
18 |
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Manager/HTTP/Model/ConfigModel.m:
--------------------------------------------------------------------------------
1 | //
2 | // ConfigModel.m
3 | // AgoraEducation
4 | //
5 | // Created by SRS on 2020/1/6.
6 | // Copyright © 2019 Agora. All rights reserved.
7 | //
8 |
9 | #import "ConfigModel.h"
10 |
11 | @implementation ConfigModel
12 | + (NSDictionary *)modelCustomPropertyMapper {
13 | return @{@"multiLanguage": @"data"};
14 | }
15 | @end
16 |
17 |
18 |
--------------------------------------------------------------------------------
/education_web/src/utils/api/index.ts:
--------------------------------------------------------------------------------
1 | import uuidv4 from 'uuid/v4';
2 |
3 | export { RTMRestful } from './rtm-restful';
4 | export { WhiteboardAPI } from './whiteboard-api';
5 | export function genUUID (): string {
6 | let uuid = localStorage.getItem('demo_edu_uuid');
7 | if (uuid) {
8 | return uuid;
9 | }
10 | uuid = uuidv4();
11 | localStorage.setItem('demo_edu_uuid', uuid);
12 | return uuid;
13 | }
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Setting/Controllers/SettingViewController.h:
--------------------------------------------------------------------------------
1 | //
2 | // SettingViewController.h
3 | // AgoraEducation
4 | //
5 | // Created by yangmoumou on 2019/10/16.
6 | // Copyright © 2019 Agora. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | NS_ASSUME_NONNULL_BEGIN
12 |
13 | @interface SettingViewController : UIViewController
14 |
15 | @end
16 |
17 | NS_ASSUME_NONNULL_END
18 |
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Utils/NSArray+Copy/NSArray+Copy.h:
--------------------------------------------------------------------------------
1 | //
2 | // NSArray+Copy.h
3 | // AgoraEducation
4 | //
5 | // Created by SRS on 2020/4/24.
6 | // Copyright © 2020 yangmoumou. All rights reserved.
7 | //
8 |
9 |
10 | #import "BaseEducationManager.h"
11 |
12 | NS_ASSUME_NONNULL_BEGIN
13 |
14 | @interface NSArray (Copy)
15 |
16 | - (NSArray *)deepCopy;
17 |
18 | @end
19 |
20 | NS_ASSUME_NONNULL_END
21 |
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Setting/View/SettingUploadViewCell.h:
--------------------------------------------------------------------------------
1 | //
2 | // SettingUploadViewCell.h
3 | // AgoraEducation
4 | //
5 | // Created by SRS on 2020/3/30.
6 | // Copyright © 2020 yangmoumou. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | NS_ASSUME_NONNULL_BEGIN
12 |
13 | @interface SettingUploadViewCell : UITableViewCell
14 | - (void)uploadLog;
15 | @end
16 |
17 | NS_ASSUME_NONNULL_END
18 |
--------------------------------------------------------------------------------
/education_Android/AgoraEducation/app/src/main/java/io/agora/education/service/bean/request/CoVideoReq.java:
--------------------------------------------------------------------------------
1 | package io.agora.education.service.bean.request;
2 |
3 | import io.agora.education.classroom.bean.msg.PeerMsg;
4 |
5 | public class CoVideoReq {
6 |
7 | @PeerMsg.CoVideoMsg.Type
8 | int type;
9 |
10 | public CoVideoReq(@PeerMsg.CoVideoMsg.Type int type) {
11 | this.type = type;
12 | }
13 |
14 | }
15 |
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Main/Controllers/MainNavigationController.h:
--------------------------------------------------------------------------------
1 | //
2 | // MainNavigationController.h
3 | // AgoraEducation
4 | //
5 | // Created by yangmoumou on 2019/10/24.
6 | // Copyright © 2019 Agora. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | NS_ASSUME_NONNULL_BEGIN
12 |
13 | @interface MainNavigationController : UINavigationController
14 |
15 | @end
16 |
17 | NS_ASSUME_NONNULL_END
18 |
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Replay/Widget/LoadingView.h:
--------------------------------------------------------------------------------
1 | //
2 | // LoadingView.h
3 | // AgoraEducation
4 | //
5 | // Created by SRS on 2019/12/17.
6 | // Copyright © 2019 Agora. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | NS_ASSUME_NONNULL_BEGIN
12 |
13 | @interface LoadingView : UIView
14 |
15 | -(void)showLoading;
16 |
17 | -(void)hiddenLoading;
18 |
19 | @end
20 |
21 | NS_ASSUME_NONNULL_END
22 |
--------------------------------------------------------------------------------
/azure-pipelines.yml:
--------------------------------------------------------------------------------
1 | jobs:
2 | - template: cicd/templates/build-android.yml
3 | parameters:
4 | displayName: 'EducationAndroid'
5 | workingDirectory: 'education_Android/AgoraEducation'
6 | - template: cicd/templates/build-ios.yml
7 | parameters:
8 | devDisplayName: 'AgoraEducationDEV'
9 | qaDisplayName: 'AgoraEducationQA'
10 | workingDirectory: 'education_iOS'
11 | scheme: 'AgoraEducation'
12 |
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Manager/EduModel/SignalModel/SignalShareScreenModel.m:
--------------------------------------------------------------------------------
1 | //
2 | // SignalShareScreenModel.m
3 | // AgoraEducation
4 | //
5 | // Created by SRS on 2020/4/23.
6 | // Copyright © 2020 yangmoumou. All rights reserved.
7 | //
8 |
9 | #import "SignalShareScreenModel.h"
10 |
11 | @implementation SignalShareScreenInfoModel
12 |
13 | @end
14 |
15 | @implementation SignalShareScreenModel
16 |
17 | @end
18 |
19 |
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Manager/EduModel/SignalModel/SignalUserModel.m:
--------------------------------------------------------------------------------
1 | //
2 | // SignalUserModel.m
3 | // AgoraEducation
4 | //
5 | // Created by SRS on 2020/4/22.
6 | // Copyright © 2020 yangmoumou. All rights reserved.
7 | //
8 |
9 | #import "SignalUserModel.h"
10 |
11 | @implementation SignalUserModel
12 | + (NSDictionary *)modelContainerPropertyGenericClass {
13 | return @{@"data" : [UserModel class]};
14 | }
15 | @end
16 |
--------------------------------------------------------------------------------
/education_web/src/components/icon.tsx:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | export default function ({data, icon, disable, className, onClick, active}: any) {
3 | let iconClass = disable ? '' : (icon ? 'icon-btn' : 'icon');
4 | iconClass = active ? iconClass + " active" : iconClass;
5 |
6 | const dataName = data ? data : ''
7 | return (
8 |
9 | )
10 | }
--------------------------------------------------------------------------------
/education_Android/AgoraEducation/app/src/main/java/io/agora/education/util/ColorUtil.java:
--------------------------------------------------------------------------------
1 | package io.agora.education.util;
2 |
3 | public class ColorUtil {
4 |
5 | public static int[] colorToArray(int color) {
6 | int[] colorArray = new int[3];
7 | colorArray[0] = color >> 16 & 0xFF;
8 | colorArray[1] = color >> 8 & 0xFF;
9 | colorArray[2] = color & 0xFF;
10 | return colorArray;
11 | }
12 |
13 | }
14 |
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/main.m:
--------------------------------------------------------------------------------
1 | //
2 | // main.m
3 | // AgoraSmallClass
4 | //
5 | // Created by yangmoumou on 2019/5/9.
6 | // Copyright © 2019 Agora. All rights reserved.
7 | //
8 |
9 | #import
10 | #import "AppDelegate.h"
11 |
12 | int main(int argc, char * argv[]) {
13 | @autoreleasepool {
14 | return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Manager/HTTP/Model/MultiLanguageModel.m:
--------------------------------------------------------------------------------
1 | //
2 | // MultiLanguageModel.m
3 | // AgoraEducation
4 | //
5 | // Created by SRS on 2020/3/10.
6 | // Copyright © 2020 yangmoumou. All rights reserved.
7 | //
8 |
9 | #import "MultiLanguageModel.h"
10 |
11 | @implementation MultiLanguageModel
12 | + (NSDictionary *)modelCustomPropertyMapper {
13 | return @{@"cn": @"zh-cn",
14 | @"en": @"en-us",};
15 | }
16 | @end
17 |
18 |
--------------------------------------------------------------------------------
/education_Android/AgoraEducation/sdk/src/main/java/io/agora/sdk/annotation/StreamType.java:
--------------------------------------------------------------------------------
1 | package io.agora.sdk.annotation;
2 |
3 | import androidx.annotation.IntDef;
4 |
5 | import java.lang.annotation.Retention;
6 | import java.lang.annotation.RetentionPolicy;
7 |
8 | import io.agora.rtc.Constants;
9 |
10 | @IntDef({Constants.VIDEO_STREAM_HIGH, Constants.VIDEO_STREAM_LOW})
11 | @Retention(RetentionPolicy.SOURCE)
12 | public @interface StreamType {
13 |
14 | }
15 |
--------------------------------------------------------------------------------
/education_Android/AgoraEducation/sdk/src/main/java/io/agora/sdk/annotation/ClientRole.java:
--------------------------------------------------------------------------------
1 | package io.agora.sdk.annotation;
2 |
3 | import androidx.annotation.IntDef;
4 |
5 | import java.lang.annotation.Retention;
6 | import java.lang.annotation.RetentionPolicy;
7 |
8 | import io.agora.rtc.Constants;
9 |
10 | @IntDef({Constants.CLIENT_ROLE_BROADCASTER, Constants.CLIENT_ROLE_AUDIENCE})
11 | @Retention(RetentionPolicy.SOURCE)
12 | public @interface ClientRole {
13 |
14 | }
15 |
--------------------------------------------------------------------------------
/education_Android/AgoraEducation/sdk/src/main/java/io/agora/sdk/annotation/RenderMode.java:
--------------------------------------------------------------------------------
1 | package io.agora.sdk.annotation;
2 |
3 | import androidx.annotation.IntDef;
4 |
5 | import java.lang.annotation.Retention;
6 | import java.lang.annotation.RetentionPolicy;
7 |
8 | import io.agora.rtc.video.VideoCanvas;
9 |
10 | @IntDef({VideoCanvas.RENDER_MODE_HIDDEN, VideoCanvas.RENDER_MODE_FIT})
11 | @Retention(RetentionPolicy.SOURCE)
12 | public @interface RenderMode {
13 |
14 | }
15 |
--------------------------------------------------------------------------------
/education_Android/AgoraEducation/whiteboard/consumer-rules.pro:
--------------------------------------------------------------------------------
1 | # SDK model
2 | -keep class com.herewhite.** { *; }
3 | -keepattributes *JavascriptInterface*
4 | -keepattributes Signature
5 | # Gson specific classes
6 | -keep class sun.misc.Unsafe { *; }
7 | -keep class com.google.gson.stream.** { *; }
8 | # Application classes that will be serialized/deserialized over Gson
9 | -keep class com.google.gson.examples.android.model.** { *; }
10 | -keep class com.google.gson.** { *;}
11 |
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/allBack.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "allBack.pdf",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "version" : 1,
19 | "author" : "xcode"
20 | }
21 | }
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/testMic.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "testMic.pdf",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "version" : 1,
19 | "author" : "xcode"
20 | }
21 | }
--------------------------------------------------------------------------------
/education_web/src/utils/LogUploader/log.worker.ts:
--------------------------------------------------------------------------------
1 | import db from './db';
2 |
3 | const ctx: DedicatedWorkerGlobalScope = self as any;
4 | ctx.onmessage = async (evt: any) => {
5 | if (evt.data) {
6 | if (evt.data.type === 'log') {
7 | if (db.isOpen()) {
8 | // @ts-ignore
9 | await db.logs.put({ content: evt.data.data });
10 | } else {
11 | await db.open();
12 | }
13 | }
14 | }
15 | };
16 |
17 | export default null as any;
18 |
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/eevideoOff.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "eevideoOff.pdf",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "version" : 1,
19 | "author" : "xcode"
20 | }
21 | }
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/logoAgora.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "logoAgora.pdf",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "version" : 1,
19 | "author" : "xcode"
20 | }
21 | }
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/logoIcon.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "logoIcon.pdf",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "version" : 1,
19 | "author" : "xcode"
20 | }
21 | }
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/mainLogo.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "mainLogo.pdf",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "version" : 1,
19 | "author" : "xcode"
20 | }
21 | }
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/roomExit.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "roomExit.pdf",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "version" : 1,
19 | "author" : "xcode"
20 | }
21 | }
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/roomMicOff.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "roomMicOff.pdf",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "version" : 1,
19 | "author" : "xcode"
20 | }
21 | }
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/roomMicon.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "roomMicon.pdf",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "version" : 1,
19 | "author" : "xcode"
20 | }
21 | }
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/view-close.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "view-close.pdf",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "version" : 1,
19 | "author" : "xcode"
20 | }
21 | }
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/view-open.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "view-open.pdf",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "version" : 1,
19 | "author" : "xcode"
20 | }
21 | }
--------------------------------------------------------------------------------
/education_web/src/utils/config.ts:
--------------------------------------------------------------------------------
1 | export const APP_ID = process.env.REACT_APP_AGORA_APP_ID as string;
2 | export const APP_TOKEN = process.env.REACT_APP_AGORA_APP_TOKEN as string;
3 | export const ENABLE_LOG = process.env.REACT_APP_AGORA_LOG as string;
4 |
5 | export const RoomKeyIdentifier = 'agora_meeting_room'
6 | export const GlobalKeyIdentifier = 'global_identifier'
7 | export const UUIDKeyIdentifier = 'agora_meeting_uuid'
8 | export const SessionKeyIdentifier = 'agora_demo_session_profile'
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Replay/ViewController/ReplayViewController.h:
--------------------------------------------------------------------------------
1 | //
2 | // ReplayNoVideoViewController.h
3 | // AgoraEducation
4 | //
5 | // Created by SRS on 2019/12/17.
6 | // Copyright © 2019 Agora. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | NS_ASSUME_NONNULL_BEGIN
12 |
13 | @interface ReplayViewController : UIViewController
14 |
15 | + (void)enterReplayViewController:(NSString *)recordId;
16 |
17 | @end
18 |
19 | NS_ASSUME_NONNULL_END
20 |
21 |
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Room/View/EEMessageView.h:
--------------------------------------------------------------------------------
1 | //
2 | // EEMessageView.h
3 | // AgoraEducation
4 | //
5 | // Created by yangmoumou on 2019/11/11.
6 | // Copyright © 2019 Agora. All rights reserved.
7 | //
8 |
9 | #import
10 | #import "MessageModel.h"
11 |
12 | NS_ASSUME_NONNULL_BEGIN
13 |
14 | @interface EEMessageView : UIView
15 |
16 | - (void)addMessageModel:(MessageInfoModel *)model;
17 | - (void)updateTableView;
18 | @end
19 |
20 | NS_ASSUME_NONNULL_END
21 |
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/AppDelegate.h:
--------------------------------------------------------------------------------
1 | //
2 | // AppDelegate.h
3 | // AgoraSmallClass
4 | //
5 | // Created by yangmoumou on 2019/5/9.
6 | // Copyright © 2019 Agora. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | #define NOTICE_KEY_ON_WILL_TERMINATE @"NOTICE_KEY_ON_WILL_TERMINATE"
12 |
13 | @interface AppDelegate : UIResponder
14 |
15 | @property (strong, nonatomic) UIWindow *window;
16 |
17 |
18 | @end
19 |
20 |
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/BigClass/page-end.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "page-end.pdf",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "version" : 1,
19 | "author" : "xcode"
20 | }
21 | }
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/Main/icon-down.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "icon-down.pdf",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "version" : 1,
19 | "author" : "xcode"
20 | }
21 | }
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/Main/icon-time.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "icon-time.pdf",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "version" : 1,
19 | "author" : "xcode"
20 | }
21 | }
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/Main/icon-type.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "icon-type.pdf",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "version" : 1,
19 | "author" : "xcode"
20 | }
21 | }
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/Room/icon-close.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "icon-close.pdf",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "version" : 1,
19 | "author" : "xcode"
20 | }
21 | }
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/Room/icon-end.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "icon-end.pdf",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "version" : 1,
19 | "author" : "xcode"
20 | }
21 | }
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/Room/icon-first.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "icon-first.pdf",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "version" : 1,
19 | "author" : "xcode"
20 | }
21 | }
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/Room/icon-left.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "icon-left.pdf",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "version" : 1,
19 | "author" : "xcode"
20 | }
21 | }
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/Room/icon-right.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "icon-right.pdf",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "version" : 1,
19 | "author" : "xcode"
20 | }
21 | }
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/Room/tool-color.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "tool-color.pdf",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "version" : 1,
19 | "author" : "xcode"
20 | }
21 | }
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/Room/tool-pen.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "tool-pen.pdf",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "version" : 1,
19 | "author" : "xcode"
20 | }
21 | }
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/Room/tool-text.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "tool-text.pdf",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "version" : 1,
19 | "author" : "xcode"
20 | }
21 | }
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/Room/upload-log.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "icon-上传日志.pdf",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "version" : 1,
19 | "author" : "xcode"
20 | }
21 | }
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/eevideoOn-s.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "eevideoOn-s.png",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "version" : 1,
19 | "author" : "xcode"
20 | }
21 | }
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/icon-handup.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "icon-handup.pdf",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "version" : 1,
19 | "author" : "xcode"
20 | }
21 | }
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/roomCameraOn.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "roomCameraOn.pdf",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "version" : 1,
19 | "author" : "xcode"
20 | }
21 | }
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/testSpeaker.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "testSpeaker.pdf",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "version" : 1,
19 | "author" : "xcode"
20 | }
21 | }
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/video-close.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "video-close.pdf",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "version" : 1,
19 | "author" : "xcode"
20 | }
21 | }
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/EyeCare/EyeCareModeUtil.h:
--------------------------------------------------------------------------------
1 | //
2 | // EyeCareModeUtil.h
3 | // AgoraEducation
4 | //
5 | // Created by yangmoumou on 2019/9/23.
6 | // Copyright © 2019 Agora. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | NS_ASSUME_NONNULL_BEGIN
12 |
13 | @interface EyeCareModeUtil : NSObject
14 | + (instancetype)sharedUtil;
15 | - (void)switchEyeCareMode:(BOOL)on;
16 | - (BOOL)queryEyeCareModeStatus;
17 | @end
18 |
19 | NS_ASSUME_NONNULL_END
20 |
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Room/View/EEColorViewCell.h:
--------------------------------------------------------------------------------
1 | //
2 | // EEColorViewCell.h
3 | // AgoraEducation
4 | //
5 | // Created by yangmoumou on 2019/11/1.
6 | // Copyright © 2019 Agora. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | NS_ASSUME_NONNULL_BEGIN
12 |
13 | @interface EEColorViewCell : UICollectionViewCell
14 | @property (nonatomic, weak) UIView *colorView;
15 | @property (nonatomic, weak) UIView *outColorView;
16 | @end
17 |
18 | NS_ASSUME_NONNULL_END
19 |
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Room/View/WhiteBoardTouchView.h:
--------------------------------------------------------------------------------
1 | //
2 | // WhiteBoardTouchView.h
3 | // AgoraEducation
4 | //
5 | // Created by SRS on 2020/4/20.
6 | // Copyright © 2020 yangmoumou. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | NS_ASSUME_NONNULL_BEGIN
12 |
13 | @interface WhiteBoardTouchView : UIView
14 |
15 | - (void)setupInView:(UIView *)superView onTouchBlock:(void (^ _Nullable) (void))touchBlock;
16 |
17 | @end
18 |
19 | NS_ASSUME_NONNULL_END
20 |
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/BigClass/page-first.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "page-first.pdf",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "version" : 1,
19 | "author" : "xcode"
20 | }
21 | }
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/BigClass/page-next.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "icon-next.pdf",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "version" : 1,
19 | "author" : "xcode"
20 | }
21 | }
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/BigClass/page-prev.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "page-prev.pdf",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "version" : 1,
19 | "author" : "xcode"
20 | }
21 | }
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/Main/icon-signal1.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "signal-bad.pdf",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "version" : 1,
19 | "author" : "xcode"
20 | }
21 | }
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/Main/icon-signal2.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "signal-normal.pdf",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "version" : 1,
19 | "author" : "xcode"
20 | }
21 | }
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/Main/icon-signal3.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "signal-good.pdf",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "version" : 1,
19 | "author" : "xcode"
20 | }
21 | }
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/Main/icon-student.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "icon-student.pdf",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "version" : 1,
19 | "author" : "xcode"
20 | }
21 | }
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/Main/icon-teacher.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "icon-teacher.pdf",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "version" : 1,
19 | "author" : "xcode"
20 | }
21 | }
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/Main/main-login.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "pic-index (1).pdf",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "version" : 1,
19 | "author" : "xcode"
20 | }
21 | }
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/Room/icon-handup.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "icon-handup.pdf",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "version" : 1,
19 | "author" : "xcode"
20 | }
21 | }
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/Room/icon-setting.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "icon-setting.pdf",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "version" : 1,
19 | "author" : "xcode"
20 | }
21 | }
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/Room/tool-eraser.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "tool-eraser.pdf",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "version" : 1,
19 | "author" : "xcode"
20 | }
21 | }
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/Room/tool-select.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "tool-select.pdf",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "version" : 1,
19 | "author" : "xcode"
20 | }
21 | }
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/backgroundImage.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "backgroundImage.pdf",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "version" : 1,
19 | "author" : "xcode"
20 | }
21 | }
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/classRoompower.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "classRoompower.pdf",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "version" : 1,
19 | "author" : "xcode"
20 | }
21 | }
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/roomCameraOff.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "roomCameraOff.pdf",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "version" : 1,
19 | "author" : "xcode"
20 | }
21 | }
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/speaker-close.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "speaker-close.pdf",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "version" : 1,
19 | "author" : "xcode"
20 | }
21 | }
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/videoBackgroundImage.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "roomPempty.pdf",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "version" : 1,
19 | "author" : "xcode"
20 | }
21 | }
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Room/RoomProtocol.h:
--------------------------------------------------------------------------------
1 | //
2 | // RoomProtocol.h
3 | // AgoraEducation
4 | //
5 | // Created by yangmoumou on 2019/11/21.
6 | // Copyright © 2019 Agora. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | NS_ASSUME_NONNULL_BEGIN
12 |
13 | @protocol RoomProtocol
14 | @optional
15 | - (void)muteVideoStream:(BOOL)stream;
16 | - (void)muteAudioStream:(BOOL)stream;
17 | - (void)closeRoom;
18 | @end
19 |
20 | NS_ASSUME_NONNULL_END
21 |
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/Main/icon-roomname.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "icon-roomname.pdf",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "version" : 1,
19 | "author" : "xcode"
20 | }
21 | }
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/Main/icon-username.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "icon-username.pdf",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "version" : 1,
19 | "author" : "xcode"
20 | }
21 | }
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/Room/icon-handup-x.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "icon-handup-x.pdf",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "version" : 1,
19 | "author" : "xcode"
20 | }
21 | }
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/Room/icon-right-hide.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "icon-right-hide.pdf",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "version" : 1,
19 | "author" : "xcode"
20 | }
21 | }
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/Room/icon-right-show.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "icon-right-show.pdf",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "version" : 1,
19 | "author" : "xcode"
20 | }
21 | }
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/Room/icon-speaker1.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "icon-speaker1.pdf",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "version" : 1,
19 | "author" : "xcode"
20 | }
21 | }
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/Room/icon-speaker2.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "icon-speaker2.pdf",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "version" : 1,
19 | "author" : "xcode"
20 | }
21 | }
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/Room/icon-speaker3.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "icon-speaker3.pdf",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "version" : 1,
19 | "author" : "xcode"
20 | }
21 | }
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/icon-camera-dark.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "icon-camera-dark.pdf",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "version" : 1,
19 | "author" : "xcode"
20 | }
21 | }
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/white-video-close.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "white-video-close.pdf",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "version" : 1,
19 | "author" : "xcode"
20 | }
21 | }
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/white-video-open.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "white-video-open.pdf",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "version" : 1,
19 | "author" : "xcode"
20 | }
21 | }
--------------------------------------------------------------------------------
/education_Android/AgoraEducation/app/src/main/java/io/agora/education/service/bean/request/ChatReq.java:
--------------------------------------------------------------------------------
1 | package io.agora.education.service.bean.request;
2 |
3 | import io.agora.education.classroom.bean.msg.ChannelMsg;
4 |
5 | public class ChatReq {
6 |
7 | String message;
8 | @ChannelMsg.ChatMsg.Type
9 | int type;
10 |
11 | public ChatReq(String message, @ChannelMsg.ChatMsg.Type int type) {
12 | this.message = message;
13 | this.type = type;
14 | }
15 |
16 | }
17 |
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/Room/icon-speaker-off.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "icon-speaker-off.pdf",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "version" : 1,
19 | "author" : "xcode"
20 | }
21 | }
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/Room/icon-speaker1-max.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "icon-speaker1-max.pdf",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "version" : 1,
19 | "author" : "xcode"
20 | }
21 | }
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/Room/icon-speaker1-min.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "icon-speaker1-min.pdf",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "version" : 1,
19 | "author" : "xcode"
20 | }
21 | }
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/Room/icon-speaker2-max.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "icon-speaker2-max.pdf",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "version" : 1,
19 | "author" : "xcode"
20 | }
21 | }
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/Room/icon-speaker2-min.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "icon-speaker2-min.pdf",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "version" : 1,
19 | "author" : "xcode"
20 | }
21 | }
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/Room/icon-speaker3-max.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "icon-speaker3-max.pdf",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "version" : 1,
19 | "author" : "xcode"
20 | }
21 | }
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/Room/icon-speaker3-min.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "icon-speaker3-min.pdf",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "version" : 1,
19 | "author" : "xcode"
20 | }
21 | }
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/Room/icon-video-on-min.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "icon-video-on-min.pdf",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "version" : 1,
19 | "author" : "xcode"
20 | }
21 | }
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/icon-cameraoff-dark.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "icon-cameraoff-dark.pdf",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "version" : 1,
19 | "author" : "xcode"
20 | }
21 | }
--------------------------------------------------------------------------------
/education_Android/AgoraEducation/app/src/main/res/layout/fragment_user_list.xml:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Replay/Widget/EduButton.m:
--------------------------------------------------------------------------------
1 | //
2 | // EduButton.m
3 | // AgoraEducation
4 | //
5 | // Created by SRS on 2019/12/17.
6 | // Copyright © 2019 Agora. All rights reserved.
7 | //
8 |
9 | #import "EduButton.h"
10 |
11 | @implementation EduButton
12 |
13 | - (BOOL)pointInside:(CGPoint)point withEvent:(UIEvent *)event {
14 | CGRect bounds = self.bounds;
15 | bounds = CGRectInset(bounds, -20, -20);
16 | return CGRectContainsPoint(bounds, point);
17 | }
18 |
19 | @end
20 |
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/Room/icon-speaker-off-min.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "icon-speaker-off-min.pdf",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "version" : 1,
19 | "author" : "xcode"
20 | }
21 | }
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/Room/icon-video-off-min.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "icon-video-off-min.pdf",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "version" : 1,
19 | "author" : "xcode"
20 | }
21 | }
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/Room/icon-videooff-dark.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "icon-speakeroff-dark.pdf",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "version" : 1,
19 | "author" : "xcode"
20 | }
21 | }
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/Room/icon-videoon-dark.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "icon-speakeron-dark.pdf",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "version" : 1,
19 | "author" : "xcode"
20 | }
21 | }
--------------------------------------------------------------------------------
/education_Android/AgoraEducation/log/src/main/java/io/agora/log/service/bean/response/LogParamsRes.java:
--------------------------------------------------------------------------------
1 | package io.agora.log.service.bean.response;
2 |
3 | public class LogParamsRes {
4 | public String bucketName;
5 | public String callbackUrl;
6 | public String callbackBody;
7 | public String callbackContentType;
8 | public String ossKey;
9 | public String accessKeyId;
10 | public String accessKeySecret;
11 | public String securityToken;
12 | public String ossEndpoint;
13 | }
14 |
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/Room/icon-speakeroff-dark.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "icon-speakeroff-dark(1).pdf",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "version" : 1,
19 | "author" : "xcode"
20 | }
21 | }
--------------------------------------------------------------------------------
/education_Android/AgoraEducation/sdk/src/test/java/io/agora/sdk/ExampleUnitTest.java:
--------------------------------------------------------------------------------
1 | package io.agora.sdk;
2 |
3 | import org.junit.Test;
4 |
5 | import static org.junit.Assert.*;
6 |
7 | /**
8 | * Example local unit test, which will execute on the development machine (host).
9 | *
10 | * @see Testing documentation
11 | */
12 | public class ExampleUnitTest {
13 | @Test
14 | public void addition_isCorrect() {
15 | assertEquals(4, 2 + 2);
16 | }
17 | }
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/Main/icon-white-camera-close.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "icon-white-camera-close.pdf",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "version" : 1,
19 | "author" : "xcode"
20 | }
21 | }
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Utils/JsonParse/JsonParseUtil.h:
--------------------------------------------------------------------------------
1 | //
2 | // JsonParseUtil.h
3 | // AgoraEducation
4 | //
5 | // Created by yangmoumou on 2019/6/27.
6 | // Copyright © 2019 Agora. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | NS_ASSUME_NONNULL_BEGIN
12 |
13 | @interface JsonParseUtil : NSObject
14 | + (NSString*)dictionaryToJson:(NSDictionary *)dic;
15 |
16 | + (NSDictionary *)dictionaryWithJsonString:(NSString *)jsonString;
17 | @end
18 |
19 | NS_ASSUME_NONNULL_END
20 |
--------------------------------------------------------------------------------
/education_Android/AgoraEducation/base/src/test/java/io/agora/base/ExampleUnitTest.java:
--------------------------------------------------------------------------------
1 | package io.agora.base;
2 |
3 | import org.junit.Test;
4 |
5 | import static org.junit.Assert.*;
6 |
7 | /**
8 | * Example local unit test, which will execute on the development machine (host).
9 | *
10 | * @see Testing documentation
11 | */
12 | public class ExampleUnitTest {
13 | @Test
14 | public void addition_isCorrect() {
15 | assertEquals(4, 2 + 2);
16 | }
17 | }
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/PlayControl/loading.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "filename" : "加载.png",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "filename" : "加载 (1).png",
15 | "scale" : "3x"
16 | }
17 | ],
18 | "info" : {
19 | "version" : 1,
20 | "author" : "xcode"
21 | }
22 | }
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Manager/HTTP/Model/CommonModel.h:
--------------------------------------------------------------------------------
1 | //
2 | // CommonModel.h
3 | // AgoraEducation
4 | //
5 | // Created by SRS on 2020/1/8.
6 | // Copyright © 2019 Agora. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | NS_ASSUME_NONNULL_BEGIN
12 |
13 | @interface CommonModel : NSObject
14 | @property (nonatomic, strong) NSString *msg;
15 | @property (nonatomic, assign) NSInteger code;
16 | @property (nonatomic, strong) NSString *data;
17 | @end
18 |
19 | NS_ASSUME_NONNULL_END
20 |
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Room/MiniClass/Controllers/MCViewController.h:
--------------------------------------------------------------------------------
1 | //
2 | // MCViewController.h
3 | // AgoraEducation
4 | //
5 | // Created by yangmoumou on 2019/11/15.
6 | // Copyright © 2019 Agora. All rights reserved.
7 | //
8 |
9 | #import
10 | #import "MinEducationManager.h"
11 |
12 | NS_ASSUME_NONNULL_BEGIN
13 |
14 | @interface MCViewController : UIViewController
15 |
16 | @property (nonatomic, strong) MinEducationManager *educationManager;
17 |
18 | @end
19 |
20 | NS_ASSUME_NONNULL_END
21 |
--------------------------------------------------------------------------------
/education_iOS/Podfile:
--------------------------------------------------------------------------------
1 | # Uncomment the next line to define a global platform for your project
2 | source 'https://github.com/CocoaPods/Specs.git'
3 | platform :ios, '10.0'
4 |
5 | target 'AgoraEducation' do
6 | # Comment the next line if you don't want to use dynamic frameworks
7 | use_frameworks!
8 | pod 'AFNetworking', '~> 3.2.1'
9 | pod 'Whiteboard', '2.6.4'
10 | pod 'AgoraRtcEngine_iOS', '2.9.0.102'
11 | pod 'AgoraRtm_iOS', '~> 1.2.2'
12 |
13 | pod 'CocoaLumberjack'
14 | pod 'AliyunOSSiOS'
15 | end
16 |
17 |
--------------------------------------------------------------------------------
/education_Android/AgoraEducation/log/src/test/java/io/agora/log/ExampleUnitTest.java:
--------------------------------------------------------------------------------
1 | package io.agora.log;
2 |
3 | import org.junit.Test;
4 |
5 | import static org.junit.Assert.assertEquals;
6 |
7 | /**
8 | * Example local unit test, which will execute on the development machine (host).
9 | *
10 | * @see Testing documentation
11 | */
12 | public class ExampleUnitTest {
13 | @Test
14 | public void addition_isCorrect() {
15 | assertEquals(4, 2 + 2);
16 | }
17 | }
--------------------------------------------------------------------------------
/education_Android/AgoraEducation/timeline/src/test/java/io/agora/timeline/ExampleUnitTest.java:
--------------------------------------------------------------------------------
1 | package io.agora.timeline;
2 |
3 | import org.junit.Test;
4 |
5 | import static org.junit.Assert.*;
6 |
7 | /**
8 | * Example local unit test, which will execute on the development machine (host).
9 | *
10 | * @see Testing documentation
11 | */
12 | public class ExampleUnitTest {
13 | @Test
14 | public void addition_isCorrect() {
15 | assertEquals(4, 2 + 2);
16 | }
17 | }
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Manager/Signal/SignalModel.h:
--------------------------------------------------------------------------------
1 | //
2 | // SignalModel.h
3 | // AgoraEducation
4 | //
5 | // Created by SRS on 2019/12/6.
6 | // Copyright © 2019 Agora. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | NS_ASSUME_NONNULL_BEGIN
12 |
13 | @interface SignalModel : NSObject
14 |
15 | @property(nonatomic, strong) NSString *appId;
16 | @property(nonatomic, strong) NSString *token;
17 | @property(nonatomic, strong) NSString *uid;
18 |
19 | @end
20 |
21 | NS_ASSUME_NONNULL_END
22 |
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Room/BigClass/Controllers/BCViewController.h:
--------------------------------------------------------------------------------
1 | //
2 | // BigClassViewController.h
3 | // AgoraEducation
4 | //
5 | // Created by yangmoumou on 2019/10/22.
6 | // Copyright © 2019 Agora. All rights reserved.
7 | //
8 |
9 | #import
10 | #import "BigEducationManager.h"
11 |
12 | NS_ASSUME_NONNULL_BEGIN
13 |
14 | @interface BCViewController : UIViewController
15 |
16 | @property (nonatomic, strong) BigEducationManager *educationManager;
17 |
18 | @end
19 |
20 | NS_ASSUME_NONNULL_END
21 |
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/PlayControl/slider.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "filename" : "slider@2x.png",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "filename" : "slider@3x.png",
15 | "scale" : "3x"
16 | }
17 | ],
18 | "info" : {
19 | "version" : 1,
20 | "author" : "xcode"
21 | }
22 | }
--------------------------------------------------------------------------------
/education_Android/AgoraEducation/app/src/normal/java/io/agora/education/service/bean/request/RoomEntryReq.java:
--------------------------------------------------------------------------------
1 | package io.agora.education.service.bean.request;
2 |
3 | import io.agora.education.classroom.bean.channel.Room;
4 |
5 | public class RoomEntryReq {
6 |
7 | public String userName;
8 | public String userUuid; // your user uuid
9 | public String roomName;
10 | public String roomUuid; // your room uuid
11 | @Room.Type
12 | public int type;
13 | public int role = 2; // 1.teacher 2.student
14 |
15 | }
16 |
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/PlayControl/back.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "filename" : "icon-back@2x.png",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "filename" : "icon-back@3x.png",
15 | "scale" : "3x"
16 | }
17 | ],
18 | "info" : {
19 | "version" : 1,
20 | "author" : "xcode"
21 | }
22 | }
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/PlayControl/logo.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "filename" : "logo-agora@2x.png",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "filename" : "logo-agora@3x.png",
15 | "scale" : "3x"
16 | }
17 | ],
18 | "info" : {
19 | "version" : 1,
20 | "author" : "xcode"
21 | }
22 | }
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/PlayControl/pause.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "filename" : "icon-pause@2x.png",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "filename" : "icon-pause@3x.png",
15 | "scale" : "3x"
16 | }
17 | ],
18 | "info" : {
19 | "version" : 1,
20 | "author" : "xcode"
21 | }
22 | }
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Utils/NSArray+Copy/NSArray+Copy.m:
--------------------------------------------------------------------------------
1 | //
2 | // BaseEducationManager+NSArray_copy.m
3 | // AgoraEducation
4 | //
5 | // Created by SRS on 2020/4/24.
6 | // Copyright © 2020 yangmoumou. All rights reserved.
7 | //
8 |
9 | #import "NSArray+Copy.h"
10 |
11 | @implementation NSArray (Copy)
12 | - (NSArray *)deepCopy {
13 | NSMutableArray *array = [NSMutableArray array];
14 | for (NSObject *obj in self) {
15 | [array addObject: obj.yy_modelCopy];
16 | }
17 | return array;
18 | }
19 | @end
20 |
--------------------------------------------------------------------------------
/education_web/src/components/lang-select.tsx:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import { Select, MenuItem } from '@material-ui/core';
3 |
4 | const LangSelect: React.FC = ({
5 | value,
6 | onChange,
7 | items,
8 | }) => {
9 | return (
10 |
18 | );
19 | }
20 |
21 | export default React.memo(LangSelect);
--------------------------------------------------------------------------------
/education_Android/AgoraEducation/whiteboard/src/main/java/io/agora/whiteboard/netless/listener/BoardEventListener.java:
--------------------------------------------------------------------------------
1 | package io.agora.whiteboard.netless.listener;
2 |
3 | import com.herewhite.sdk.domain.MemberState;
4 | import com.herewhite.sdk.domain.RoomPhase;
5 | import com.herewhite.sdk.domain.SceneState;
6 |
7 | public interface BoardEventListener {
8 |
9 | void onRoomPhaseChanged(RoomPhase phase);
10 |
11 | void onSceneStateChanged(SceneState state);
12 |
13 | void onMemberStateChanged(MemberState state);
14 |
15 | }
16 |
--------------------------------------------------------------------------------
/education_Android/AgoraEducation/whiteboard/src/test/java/io/agora/whiteboard/ExampleUnitTest.java:
--------------------------------------------------------------------------------
1 | package io.agora.whiteboard;
2 |
3 | import org.junit.Test;
4 |
5 | import static org.junit.Assert.*;
6 |
7 | /**
8 | * Example local unit test, which will execute on the development machine (host).
9 | *
10 | * @see Testing documentation
11 | */
12 | public class ExampleUnitTest {
13 | @Test
14 | public void addition_isCorrect() {
15 | assertEquals(4, 2 + 2);
16 | }
17 | }
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/PlayControl/message.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "filename" : "pic-message@2x.png",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "filename" : "pic-message@3x.png",
15 | "scale" : "3x"
16 | }
17 | ],
18 | "info" : {
19 | "version" : 1,
20 | "author" : "xcode"
21 | }
22 | }
--------------------------------------------------------------------------------
/education_iOS/exportStorePlist.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | method
6 | app-store
7 | compileBitcode
8 |
9 | uploadSymbols
10 |
11 | provisioningProfiles
12 |
13 | io.agora.AgoraEducationDis
14 | AgoraEducationAppRelease
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/PlayControl/big_play.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "filename" : "icon-play big@2x.png",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "filename" : "icon-play big@3x.png",
15 | "scale" : "3x"
16 | }
17 | ],
18 | "info" : {
19 | "version" : 1,
20 | "author" : "xcode"
21 | }
22 | }
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/PlayControl/play.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "filename" : "icon-play small@2x.png",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "filename" : "icon-play small@3x.png",
15 | "scale" : "3x"
16 | }
17 | ],
18 | "info" : {
19 | "version" : 1,
20 | "author" : "xcode"
21 | }
22 | }
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Utils/Badge/UIView+EEBadge.h:
--------------------------------------------------------------------------------
1 | //
2 | // UIView+EEBadge.h
3 | // AgoraEducation
4 | //
5 | // Created by yangmoumou on 2019/11/6.
6 | // Copyright © 2019 Agora. All rights reserved.
7 | //
8 |
9 |
10 | #import
11 |
12 | NS_ASSUME_NONNULL_BEGIN
13 |
14 | @interface UIView (EEBadge)
15 | @property (nonatomic, strong) UILabel *badge;
16 | - (void)showBadgeWithTopMagin:(CGFloat)magin;
17 | - (void)hidenBadge;
18 | - (void)setBadgeCount:(NSInteger)count;
19 |
20 | @end
21 |
22 | NS_ASSUME_NONNULL_END
23 |
--------------------------------------------------------------------------------
/education_Android/AgoraEducation/app/src/main/java/io/agora/education/classroom/bean/JsonBean.java:
--------------------------------------------------------------------------------
1 | package io.agora.education.classroom.bean;
2 |
3 | import com.google.gson.Gson;
4 |
5 | import java.io.Serializable;
6 |
7 | public class JsonBean implements Serializable {
8 |
9 | public String toJsonString() {
10 | return new Gson().toJson(this);
11 | }
12 |
13 | public static T fromJson(String jsonStr, Class classType) {
14 | return new Gson().fromJson(jsonStr, classType);
15 | }
16 |
17 | }
18 |
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Manager/EduModel/SignalModel/SignalInfoModel.h:
--------------------------------------------------------------------------------
1 | //
2 | // SignalInfoModel.h
3 | // AgoraEducation
4 | //
5 | // Created by SRS on 2020/4/25.
6 | // Copyright © 2020 yangmoumou. All rights reserved.
7 | //
8 |
9 | #import
10 | #import "SignalEnum.h"
11 |
12 | NS_ASSUME_NONNULL_BEGIN
13 |
14 | @interface SignalInfoModel : NSObject
15 | @property (nonatomic, assign) NSInteger uid; // changed uid
16 | @property (nonatomic, assign) SignalType signalType;
17 | @end
18 |
19 | NS_ASSUME_NONNULL_END
20 |
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Room/OneToOne/Controllers/OneToOneViewController.h:
--------------------------------------------------------------------------------
1 | //
2 | // OneToOneViewController.h
3 | // AgoraEducation
4 | //
5 | // Created by yangmoumou on 2019/10/30.
6 | // Copyright © 2019 Agora. All rights reserved.
7 | //
8 |
9 | #import
10 | #import "OneToOneEducationManager.h"
11 |
12 | NS_ASSUME_NONNULL_BEGIN
13 |
14 | @interface OneToOneViewController : UIViewController
15 |
16 | @property (nonatomic, strong) OneToOneEducationManager *educationManager;
17 |
18 | @end
19 |
20 | NS_ASSUME_NONNULL_END
21 |
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Supporting Files/Assets.xcassets/PlayControl/replay_teacher.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "filename" : "pic-teacher@2x.png",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "filename" : "pic-teacher@3x.png",
15 | "scale" : "3x"
16 | }
17 | ],
18 | "info" : {
19 | "version" : 1,
20 | "author" : "xcode"
21 | }
22 | }
--------------------------------------------------------------------------------
/education_Android/AgoraEducation/app/src/test/java/io/agora/rtc/education/ExampleUnitTest.java:
--------------------------------------------------------------------------------
1 | package io.agora.rtc.education;
2 |
3 | import org.junit.Test;
4 |
5 | import static org.junit.Assert.*;
6 |
7 | /**
8 | * Example local unit test, which will execute on the development machine (host).
9 | *
10 | * @see Testing documentation
11 | */
12 | public class ExampleUnitTest {
13 | @Test
14 | public void addition_isCorrect() {
15 | assertEquals(4, 2 + 2);
16 | }
17 | }
--------------------------------------------------------------------------------
/education_Android/AgoraEducation/whiteboard/src/main/java/io/agora/whiteboard/netless/listener/ReplayEventListener.java:
--------------------------------------------------------------------------------
1 | package io.agora.whiteboard.netless.listener;
2 |
3 | import com.herewhite.sdk.domain.PlayerPhase;
4 |
5 | import io.agora.whiteboard.netless.manager.ReplayManager;
6 |
7 | public interface ReplayEventListener {
8 |
9 | void onPlayerPrepared(ReplayManager replayBoard);
10 |
11 | void onPhaseChanged(PlayerPhase playerPhase);
12 |
13 | void onLoadFirstFrame();
14 |
15 | void onScheduleTimeChanged(long l);
16 |
17 | }
18 |
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/KeyCenter.m:
--------------------------------------------------------------------------------
1 | //
2 | // KeyCenter.m
3 | // AgoraEducation
4 | //
5 | // Created by SRS on 2020/3/26.
6 | // Copyright © 2020 yangmoumou. All rights reserved.
7 | //
8 |
9 | #import "KeyCenter.h"
10 | #import "URL.h"
11 |
12 | @implementation KeyCenter
13 |
14 | + (NSString *)agoraAppid {
15 | return <#Your Agora App Id#>;
16 | }
17 |
18 | + (NSString *)authorization {
19 | return <#Your Authorization#>;
20 | }
21 |
22 | + (NSString *)boardInfoApiURL {
23 | return HTTP_WHITE_ROOM_INFO;
24 | }
25 |
26 | @end
27 |
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Room/MiniClass/View/MCStudentVideoCell.h:
--------------------------------------------------------------------------------
1 | //
2 | // StudentVideoViewCell.h
3 | // AgoraEducation
4 | //
5 | // Created by yangmoumou on 2019/8/13.
6 | // Copyright © 2019 Agora. All rights reserved.
7 | //
8 |
9 | #import
10 | #import "RoomAllModel.h"
11 |
12 | NS_ASSUME_NONNULL_BEGIN
13 |
14 | @interface MCStudentVideoCell : UICollectionViewCell
15 | @property (nonatomic, weak) UIView *videoCanvasView;
16 | @property (nonatomic, strong) UserModel *userModel;
17 |
18 | @end
19 |
20 | NS_ASSUME_NONNULL_END
21 |
--------------------------------------------------------------------------------
/education_web/src/components/role-radio.scss:
--------------------------------------------------------------------------------
1 | .custom-radio {
2 | .MuiRadio-colorPrimary.Mui-checked {
3 | color: #44A2FC;
4 | }
5 | .Mui-checked ~ .MuiTypography-body1 {
6 | color: #44A2FC;
7 | }
8 | }
9 |
10 | .MuiFormControlLabel-root {
11 | &.align-left {
12 | float: left;
13 | margin-left: -4px;
14 | margin-right: 5px;
15 | min-width: 80px;
16 | text-align: center;
17 | }
18 |
19 | &.align-right {
20 | float: right;
21 | margin: 0;
22 | min-width: 80px;
23 | text-align: center;
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/education_web/src/components/volume/index.scss:
--------------------------------------------------------------------------------
1 | .volume-container {
2 | display: flex;
3 | flex-direction: row;
4 | }
5 |
6 | .voice-sliders {
7 | margin-left: 4px;
8 | height: 24px;
9 | display: flex;
10 | align-items: center;
11 | width: 206px;
12 | span {
13 | margin: 1px;
14 | flex: 1;
15 | min-height: 12px;
16 | min-width: 2px;
17 | background-color: #CCCCCC;
18 | &.active {
19 | background-color: #44A2FC;
20 | }
21 | }
22 | }
23 |
24 | .voice-volume {
25 |
26 | }
27 |
28 | .speaker-volume {
29 |
30 | }
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Manager/HTTP/Model/MultiLanguageModel.h:
--------------------------------------------------------------------------------
1 | //
2 | // MultiLanguageModel.h
3 | // AgoraEducation
4 | //
5 | // Created by SRS on 2020/3/10.
6 | // Copyright © 2020 yangmoumou. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | NS_ASSUME_NONNULL_BEGIN
12 |
13 | @interface MultiLanguageModel : NSObject
14 |
15 | @property (nonatomic, strong) NSDictionary *cn;
16 | @property (nonatomic, strong) NSDictionary *en;
17 |
18 | @end
19 |
20 | NS_ASSUME_NONNULL_END
21 |
--------------------------------------------------------------------------------
/education_iOS/AgoraEducation/Manager/HTTP/Model/ReplayModel.m:
--------------------------------------------------------------------------------
1 | //
2 | // ReplayModel.m
3 | // AgoraEducation
4 | //
5 | // Created by SRS on 2020/3/3.
6 | // Copyright © 2020 yangmoumou. All rights reserved.
7 | //
8 |
9 | #import "ReplayModel.h"
10 |
11 | @implementation RecordDetailsModel
12 |
13 | @end
14 |
15 |
16 | @implementation ReplayInfoModel
17 | + (NSDictionary *)modelContainerPropertyGenericClass {
18 | return @{@"recordDetails" : [RecordDetailsModel class]};
19 | }
20 | @end
21 |
22 |
23 | @implementation ReplayModel
24 |
25 | @end
26 |
--------------------------------------------------------------------------------