从另一个方向思考
说起“待办事项”或Todo-List,由于这类型的App基本没有什么技术含量,开发周期短,面向用户广泛,所以各个平台都有很多这类软件,这些软件的核心功能无非就那几个:快速添加待办事项、多设备同步、复杂的统计功能、美观的UI、重复提醒、高级点的还有团队协作、公司内部行事历之类的。
还有一个方向值得探讨,那就是共享知识库。有时候我们使用待办事项App,是因为我们已经认识到有一些事情需要去做,我们会把要做的事情列出来,而在一些特定的场合下,不一定能够想到那么周到,比如说养猫,让你列出养猫所需要准备的事情,对于经常养猫的人来说,你可能会脱口而出:猫粮、猫砂、猫窝、猫碗、打疫苗、绝育、驱虫…而对于养猫新手来说,他可能就不会想得那么周到。在一些较为专业的领域,就拿我们技术人员经常接触的来说吧,建设网站、域名备案要准备哪些事情?小程序审核并上架要准备哪些材料?林林总总的条目,最好是一开始就清除每一步要做什么,要准备什么。这些事情,都要靠自己花时间去百度、翻文档,整理出来,或者见机行事,到时候再准备,往往会浪费时间。如果我们把这些事情,全部列出来,分享到一个共享平台上面,只要搜索,就能列出所有的待办事项和步骤,岂不美哉?这就是我们今天要介绍的——待办事项分享平台。
链接
App Store - 待办库
小程序-敬请期待
安卓-敬请期待
功能介绍
搜索
既然我们是一个分享平台,搜索功能是必不可少的,我们实现了搜索官方合集、待办或两者同时搜索,后台使用Elasticsearch提高检索效率,同时我们还添加了二维码识别功能,可以扫码由本应用产生的二维码快速进入相应的待办事项列表。
官方合集
我们会定期整理出好评度较高的待办事项列表并添加到官方推荐中:
支持树状关系
我们考虑到,对于一个待办事项来说,他总会有更小的子待办,比如说去政务中心办事,需要准备一份材料,而材料上需要签名、盖章之类的,这样就形成了一个二层结构,我们支持无限层级的子结构。
一键添加到日历
挑选好你所需要的待办事项之后,你可以将其一键添加到手机日历中,支持时间、重复、优先度、重要度等。
分享自己的经验
如果你觉得有什么自己的经验可以分享出来,就使用发布功能,支持设置父级、标题、备注、图标、重要性、标签、优先级、开始时间、结束时间、重复、结束重复、子待办…
查看自己的数据
一些技术上的
结构
- iOS App:SwiftUI
- 后台:PHP
使用内嵌网页登录
此App没有做登录页面,而是采用内嵌网页登录方案,此方案有以下优点:
- 前端无版本限制,所有版本都可以登录
- 后台可随时修改登录逻辑
- 无需修改前端即可在后期支持更多的第三方登录
此方案的逻辑如下:
生成海报
实际上这个功能实现起来不容易,其一是因为SwiftUI这个语言出现得太晚,可参考的资料不多:
SwiftUI将特定的view(非UIView)转为图片并分享(截图海报功能)
不足与展望
- 完善公共Api
- 优化动画
- 优化错误提示
- 优化UI
- 推出商用版本(公司内部版)