状态机、信令系统
最开始设计了学生列表模块,但发现后期无法扩展,目前所有信息都通过接口返回
客户端设计:core模块依赖各个子模块的实现层和接口层,屏蔽各个功能模块的实现,只对外暴露接口(通过implementation、api实现);功能模块对应UI模块(通过Flavor区别各个产品线)、实现模块、接口模块,目前UI模块归属于各个功能模块下,由于UI模块复用率太低,后期打算把所有的UI模块整合到一起
Dagger目前抽离了两层:UI层、逻辑层,对于UI层没有使用Dagger的产品线,可以通过逻辑层Dagger暴露的接口来访问具体的服务(Manager)
第三方工具接入:逻辑埋点(AppLog)、日志埋点、事件埋点(SDKMonitor、RLog日志回捞)
SDK_Settings接入:通过特殊字段标明中台SDK,通过app_id标明宿主身份,用于区分宿主下发配置
ClassroomInitialize:初始化中台SDK时对外暴露回调接口,包括设置app_id、dialog样式、toast样式等
主要业务为:白板、课件、RTC,其他辅助功能有:签到、举手、投票、抢答
白板需求:协议定制、笔锋处理、文字处理、补包策略、整体架构设计,后面需要细化(TODO)