Repository navigation
modules
###项目使用的第三方框架
-
KS3YunSDK:该项目的资源的存储和上传,使用了 KS3YunSDK (金山标准存储服务SDK)
-
RongIMLib:即时通讯使用了融云提供的RongIMLib,作为本项目的IM解决方案
其他第三方
- SDWebImage
- AFNetworking
- Masonry
- MBProgressHUD
#Modules ##Common Common里存放了一些通用工具类,包含NemoHelper、资源上传(NemoUploadManager)、通用视图类(NemoTextView、NemoToastView)、CustomUserDefaults、网络请求以及一些系统类的功能扩展分类
###Login LoginManager是登录模块逻辑层的封装,包含手机登录、第三方登录(微信登录)逻辑
##User
- NemoUserInfoManager:对用户信息操作的管理类
- UserInfoModel:用户个人信息数据模型
##PersonalCenter 个人中心界面,包括用户反馈,信息修改,用户协议模块
- MineViewController 个人中心
- NemoFeedBackViewController 用户反馈
- UserInfoViewController 用户信息
- NemoEULAViewController 用户协议
##Square 广场界面,用于展示当前正在直播的房间
- NemoRoomInfo 房间数据模型
- SquareVideoCell 房间展示样式
- SquareViewController 广场直播列表
##Chat 基于RongIM的聊天、弹幕、点赞、观众列表模块。分为UI和逻辑两个模块
-
ChatUI
-
ChatView 消息的处理(包括观众、聊天、弹幕、点赞等信息) - AudienceView 观众列表 - NemoChatListView 聊天信息列表 - NemoDanmakuView 弹幕
-
ChatLogic
-
ChatRoomManager 聊天室功能管理类,连接、断开融云服务器,加入、离开聊天室,发送、重发消息
-
NemoMsgModel 消息数据模型
-
NemoAudienceModel 观众数据模型
##Live(推流模块) 推流模块主要包括,通过摄像头进行视频数据采集,渲染,推流,收发消息(聊天、点赞、弹幕等)等功能(也可扩展红包、礼物等功能)
- 推流端采集的视频可以美颜滤镜处理
- 推流端支持水印功能,可扩展自定义水印(可扩展自定义水印功能)
- 推流端创建房间成功后,观看端加入房间,可与主播进行互动
- 推流端收到观众加入、退出房间消息会实时更新观众列表
- 观看端收到聊天、点赞、弹幕等消息后会实时展示相应的信息和动画
##WatchLive(观看直播) 观看直播模块包括直播数据的播放、收发消息(聊天、点赞、弹幕等)等功能(也可扩展红包、礼物等功能)
- 观看端加入房间后可与主播进行互动,具体逻辑可以查看Chat模块
- 观看端加入、离开房间会发生相关消息,房间内的其他用户将收到该消息并更新观众列表
- 观看端收到聊天、点赞、弹幕等消息后会实时展示相应的信息和动画