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

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

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

    前言:

    Telegram 这个项目 clone 的时候我们就能直观的看到这个项目是有多大,整整32800多个文件需要 clone 下来,还经常因为在 clone 过程中丢失文件造成各种各样的问题;

    更痛苦的是,当我们编译出项目文件,文件里几乎找不到任何注释信息,导致我们基于Telegram二次开发时极大地上手难度,与信息壁垒,但我们将程序Run起来以后,又会惊叹于此App简洁且流畅的使用体验;

    从简入繁,我们先从App页面逻辑跳转以及它们所对应的控制器逐个击破。


    分析版本:Telegram 8.7.1


    Telegram App.png

    一、登录流程

    RMIntroViewController: App启动完毕我们看见的第一个界面,由pageView组成六个介绍文案,提供了 Start Messaging 交互按钮,进入到登录流程界面,第一个页面还挺让我诧异,此页面居然没有被swift重构,还是使用的OC。

    image.png

    AuthorizationSequencePhoneEntryController: 点击 Start Messaging 以后进入的页面,输入对应的国家区码和手机号,确认无误以后,点击右上角 Next 按钮,进入验证码界面。
    AuthorizationSequenceCodeEntryController: 验证码界面,输入收到的验证码,验证成功以后就进入主界面。

    二、主界面

    TabBarController: 登录以后的 rootViewController 分为三个模块。

    image.png

    ChatListController: 消息列表模块, TabBarController 默认展示的控制器,负责收发消息的管理。
    ContactsController: 联系人模块,负责联系人管理。
    PeerInfoScreen: 设置模块, PeerInfoScreen 从命名上就可以看出它跟其他 Controller 的不同,它是作为 Screen(场景) 来构建了多个公共模块,比如 ChatController 点击右上角按钮进入的详情页,以及设置模块右上角 Edit 按钮,切换成编辑模式。

    三、Debug界面

    Review 代码时发现,为了方便调试,Telegram 提供了 DebugController ,进入这个界面的方式很有意思:连续点击 Tabbar 第三个item Settings 10下 ,我们就能进入到隐藏的Debug界面。

    image.png
    以上,就是Telegram提供的所有的一级页面。

    相关文章

      网友评论

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

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