最近在app上帮忙做了一个日志发布的功能模块,最开始敷衍,因为不是属于我的产品线,听起来是个超级简单的功能,在实际过程中发现其实也没那么简单。
对于技术的不懂,甚至不去想象技术的实现形式,虽然不会导致结果实现不了(毕竟对方会评审),但是会导致理解上差异,按照对方的逻辑表达才是简单有效的表达方式。
有了信息发布的模块,首先考虑的大概是0有网,1无网。
0初次及之后无信息流状态展示什么,1在有信息流的情况下展示什么,信息流展示规则(缓存和后台数据交互),信息流排序规则,信息加载规则。信息流是否展示发布信息的所有内容,还是隐藏部分。在信息流以时间倒序为规则的情况下,时间如何显示,在多少秒的情况下显示刚刚,在什么样情况下显示分钟,以此类推。在显示分钟的情况下,是四舍五入还是仅取前面分钟整数。
既然有信息的发布(相当于编辑),那么就会有0编辑,1修改,2删除。原则上是有这些,根据产品的类型进行裁剪。
信息的编辑中,编辑的内容有哪些,是否存在必填项和选填项。选填项如何引导填写。进入页面默认是怎样,何时调出键盘输入。编辑输入框字数限制,输入时计数动态显示(显示当前已输入字符or显示剩余字符),到达上限是提示还是不允许继续输入。
是否设计草稿箱功能,在不设计草稿箱入口的条件下如何缓存信息。
缓存的信息是否包含所有输入内容,还是包括最主要的输入内容。缓存又分为0app后台运行被杀掉,缓存被清掉,1app后台被杀掉,不清除缓存,app被卸载后,缓存清除。
既然有发送,那就有0发送成功,1发送失败。发送成功是大部分的情况,但是发送失败怎么办,是否允许再次发送,是系统自动发送,还是用户点击重新发送。发送失败的信息是否在信息流中展示,如果展示放在哪里,以哪个时间作为排序顺序。是否将发送失败与发送成功的区别开来显示。发送失败的信息是否可以查看,是否可以编辑,是否可以删除取消发布。
点击信息发送成功进入哪个页面,是等待信息发送成功后进入信息流,还是点击发送按钮后进入信息流。如果是等待信息发送成功后进入信息流,那么信息发送失败后,如何提示?
既然有多人发布信息,涉及到0个人发布的信息流,1他人发布的信息流,2所有信息流集合。
信息流中如果有新的信息,如何提示。
新手引导仅一次显示是根据手机app来判定,还是根据账号来判定。
在信息流中,我给了一个示例用来说明该功能的作用以及使用方式,我用简单的一句话描述为在信息流没有任何信息时显示。
在我的理解,该示例出现只存在于用户第一次进入该页面&信息流中无其他人发布的信息&自己也没有发布过信息。
于是开发过来问,如果是别人发布过数据,但是我去后台取数据没有取到,这个时候其实是有别人发布的日志的,这个时候是显示这个示例呢还是显示网络问题/错误提示。
我的脑回路是,为什么会取不到数据。
对方,这不是重点,肯定会有这种情况存在。
于是定义为如果是取后台数据失败而不是后台数据为0显示网络问题/错误提示。如果是后台数据为0且自己也没有发布失败信息,显示示例。如果是后台数据为0且自己发布过信息但是发送失败,不显示示例。
我仔细想想,好像跟我说的差不多嘛。
但是也只是好像而已。
跟移动组打交道学到蛮多,对方乐于用简单的方式给你讲解技术的实现,让你去get到中间的逻辑,最后提出最终的解决方案。
而不是,反正我讲了你也听不懂,反正你那个需求我做不了,反正我能实现的就是这样的了。
网友评论