分析版本:Telegram 8.7.1
Telegram App.png
一、 联系人模块:ContactsController
image.png
-
DeviceContactInfoController:导航栏Navigation右上角按钮,调用系统的创建联系人。 -
PeersNearbyController:cellFind People Nearby的响应界面,它的cellCreate a Local Group则是跳转到PermissionController中间页,进入创建当前位置群聊的业务逻辑。 -
InviteContactsController:cellInvite Friends的响应界面,邀请业务相关。
二、消息列表模块:ChatListController
image.png
-
ComposeControllerl:导航栏Navigation右上角按钮响应控制器,功能为创建新的消息;其页面有三个 cell 响应事件。
New Group:对应控制器ContactMultiselectionController;
New Contact:对应控制器DeviceContactInfoController,创建联系人公用控制器。
New Channel:对应控制器PermissionController,中间页公用展示控制器,进入创建 Channel 业务逻辑。 -
ChatController:消息列表被点击,进入聊天消息页面,核心控制器,里面16000行代码,各种逻辑嵌套,高度耦合,极难阅读区分对应功能模块; 点击导航栏Navigation右上角按钮,进入PeerInfoScreen对应场景。
三、设置模块:PeerInfoScreen
image.png
以默认设置模块为例:
-
@ Set Username:对应UsernameSetupController;设置用户名。 -
Saved Messages:对应ChatController;收藏夹。 -
Recent Calls:对应CallListController;最近呼叫。 -
Devices:对应RecentSessionsController;设备。 -
Chat Folders:对应ChatListFilterPresetListController;对话文件夹。 -
Notifications and Sounds:对应NotificationsAndSoundsController;通知和声音。 -
Privacy and Security:对应PrivacyAndSecurityController;隐私和安全。 -
Data and Storage:对应DataAndStorageSettingsController;数据和存储。 -
Appearance:对应ThemeSettingsController;外观。 -
Language:对应LocalizationListController;语言。 -
Stickers and Emoji:对应InstalledStickerPacksController; -
Ask a Question:对应ChatController;我有疑问。 -
IM FAQ:跳转web链接Url ;常见问题。














网友评论