豆子碎片内部逻辑

虽然项目已经完成,但是温故而知新。我们梳理一下。结合以前学到的基础知识。我们进行总结。

APP 启动操作流程如下:

APP 启动,加载设备信息,若没有则进行获取并缓存到系统,加载最新版本检查时间,若没有则下载版本文件,下载数据文件,然后缓存版本检查时间;若有,则和今天零时对比,若大于零时时间,则表示已经更新,从缓存中直接加载数据,若小于零时时间,则表示还未更新,从服务器下载版本文件,然后和本地的版本进行对比。如线上更新,则更新数据文件,并同步本地版本。然后将数据保存在文件系统中。如果没有更新,直接从文件系统中获取数据,然后存储到 app 的 artList 对象中。

界面渲染完毕后,会显示首页,首页和用户交互的有搜索框和分类按钮。

当使用搜索框搜索时,根据填写的内容作为关键字在 artList 列表中进行查询,查询步骤顺序,先查询标题,如果标题包含直接返回,然后查询关键词,如果包含直接返回,最后查询标签,如果包含直接返回。最后组成列表并进行分页,返回数据给页面。页面将跳转到列表页面,并渲染列表。列表中的每一项都可以点击,点击之后就进入到文章页。

文章页的功能将文章 Markdown 数据下载到本地,然后使用 towxml 插件将数据渲染并显示。

分类按钮是按照项目来分类,当点击按钮时,从文章索引列表中将相关的项目分类数据提取组成列表,分页之后返回给页面。