分析版本:Telegram 8.7.1
一、 聯(lián)系人模塊:ContactsController
-
DeviceContactInfoController:
導(dǎo)航欄Navigation
右上角按鈕迅腔,調(diào)用系統(tǒng)的創(chuàng)建聯(lián)系人蜻韭。 -
PeersNearbyController:
cellFind People Nearby
的響應(yīng)界面琅拌,它的cellCreate a Local Group
則是跳轉(zhuǎn)到PermissionController
中間頁(yè),進(jìn)入創(chuàng)建當(dāng)前位置群聊的業(yè)務(wù)邏輯。 -
InviteContactsController:
cellInvite Friends
的響應(yīng)界面,邀請(qǐng)業(yè)務(wù)相關(guān)飞蚓。
二、消息列表模塊:ChatListController
-
ComposeControllerl:
導(dǎo)航欄Navigation
右上角按鈕響應(yīng)控制器廊蜒,功能為創(chuàng)建新的消息趴拧;其頁(yè)面有三個(gè) cell 響應(yīng)事件。
New Group:
對(duì)應(yīng)控制器ContactMultiselectionController
山叮;
New Contact:
對(duì)應(yīng)控制器DeviceContactInfoController
著榴,創(chuàng)建聯(lián)系人公用控制器。
New Channel:
對(duì)應(yīng)控制器PermissionController
屁倔,中間頁(yè)公用展示控制器脑又,進(jìn)入創(chuàng)建 Channel 業(yè)務(wù)邏輯。 -
ChatController:
消息列表被點(diǎn)擊锐借,進(jìn)入聊天消息頁(yè)面问麸,核心控制器,里面16000行代碼瞎饲,各種邏輯嵌套口叙,高度耦合,極難閱讀區(qū)分對(duì)應(yīng)功能模塊嗅战; 點(diǎn)擊導(dǎo)航欄Navigation
右上角按鈕妄田,進(jìn)入PeerInfoScreen
對(duì)應(yīng)場(chǎng)景。
三驮捍、設(shè)置模塊:PeerInfoScreen
以默認(rèn)設(shè)置模塊為例:
-
@ Set Username:
對(duì)應(yīng)UsernameSetupController
疟呐;設(shè)置用戶(hù)名。 -
Saved Messages:
對(duì)應(yīng)ChatController
东且;收藏夾启具。 -
Recent Calls:
對(duì)應(yīng)CallListController
;最近呼叫珊泳。 -
Devices:
對(duì)應(yīng)RecentSessionsController
鲁冯;設(shè)備拷沸。 -
Chat Folders:
對(duì)應(yīng)ChatListFilterPresetListController
;對(duì)話(huà)文件夾薯演。 -
Notifications and Sounds:
對(duì)應(yīng)NotificationsAndSoundsController
撞芍;通知和聲音。 -
Privacy and Security:
對(duì)應(yīng)PrivacyAndSecurityController
跨扮;隱私和安全序无。 -
Data and Storage:
對(duì)應(yīng)DataAndStorageSettingsController
;數(shù)據(jù)和存儲(chǔ)衡创。 -
Appearance:
對(duì)應(yīng)ThemeSettingsController
帝嗡;外觀(guān)。 -
Language:
對(duì)應(yīng)LocalizationListController
璃氢;語(yǔ)言哟玷。 -
Stickers and Emoji:
對(duì)應(yīng)InstalledStickerPacksController
; -
Ask a Question:
對(duì)應(yīng)ChatController
拔莱;我有疑問(wèn)碗降。 -
IM FAQ:
跳轉(zhuǎn)web鏈接Url 隘竭;常見(jiàn)問(wèn)題塘秦。