美文网首页
基于Telegram二次开发 --- App次级页面逻辑

基于Telegram二次开发 --- App次级页面逻辑

作者: 试图与自己和解 | 来源:发表于2022-11-28 20:05 被阅读0次

    分析版本:Telegram 8.7.1

    Telegram App.png

    一、 联系人模块:ContactsController

    image.png
    • DeviceContactInfoController: 导航栏 Navigation 右上角按钮,调用系统的创建联系人。
    • PeersNearbyController: cell Find People Nearby 的响应界面,它的cell Create a Local Group 则是跳转到 PermissionController 中间页,进入创建当前位置群聊的业务逻辑。
    • InviteContactsController: cell Invite 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 ;常见问题。

    相关文章

      网友评论

          本文标题:基于Telegram二次开发 --- App次级页面逻辑

          本文链接:https://www.haomeiwen.com/subject/dsdkfdtx.html