番茄钟,是根据一个 瑞典人 所写的番茄工作法理论进行开发的一款方便、实用的日程管理软件。指的是把工作任务分解成半小时左右,集中精力工作25分钟后休息5分钟,如此视作种一个“番茄”,而“番茄工作法”的流程能使下一个30分钟更有动力。
a)开始界面的中央处有倒计时钟,分布在其下的为“工作”与“休息”的两个button,点下任一个button即可触发响应的倒计时进行计时工作。
b)在buttons下发有一个自动聚焦的input,在此处输入想要专注的任务,然后点击上方的button即可进行专注工作
c)最下方为tabBar,第一个对应的即为开始界面,第二个位记录界面,第三个为设置界面。选中图标会跳转到相应的界面同时图标会变成蓝色。
会显示“时间段+任务名“,时刻提醒自己做了些什么,底部正中央有个“清除记录”的选项,点击后会清空所有记录。
a)工作时长和休息时长可调,最上方有连个slider,华东即可进行调节
b)两个switch:一个控制倒计时的时候可以播放音乐,另外一个保证倒计时的时候屏幕不会熄灭。
a)统计界面,讲一天记录的时间按类别进行区分,并利用图表的形式进行表示
b)处理交互效果,增加触发事件的动画特性
c)美化界面,这个界面太简洁了,后续可能会增加自定义背景的功能,还会对当前的UI界面记性重构
d)音乐播放功能,会多增加几首音乐并实现可选项
发布了体验版本,邀请了即为好友进行了测试,发现线上版本出了很多bug。由于自己当时进行小程序开发的时候选择的样机为iPhone6,只对的大小进行了适配性设置,但是经朋友的安卓手机测试会出现以下bug:
界面标题没有居中、音乐无法播放(音乐播放我利用的是请求百度音乐,在以往程序都成功了,但是不知道这次为什么不行,是音乐的地址问题还是请求参数的问题还有待测试)、休息时长有时候不能正确显示(emm,我觉得这个逻辑是对的,难不成是小程序的一个bug)、开始界面的图标文字位置有些错乱(这个的确是个问题,我没又想到屏幕的大小的问题,不能仅仅指定图标和文字的大小,因为当前手机型号较多,如果利用margin-left来设置位置的话,肯定会有位置上的错误)
地址
实现轮播功能且高度要自适应。
使用小程序自带组件swiper。
关键点 :就是要计算出当前的高度并赋值给swiper高度。需要计算是由于swiper必须指定高度不能像div一样自动撑开。
难点:
1、问题:切换页面返回 由onhide—>onshow时,出现所有的高度会保持在最后计算出的那个值,导致高度自适应效果失效。
原因:是由于此时imageLoad不再监听。
解决办法:watch列表,给url加参数(时间戳),使其每次都重新加载,使imageLoad监听。
2、问题:切换到后台再返回到前台时,初始高度会保持出现在第一张的高度,若切换时非第一张,就会导致给当前高度不正确,被遮挡或者有大片空白。
原因:给swiper赋值的是 列表里第一张的高度。
解决办法:后台切回前台时,appdata是保持不变的,而当前排位已被保存变量,所以取当前的高度赋值给swiper高度。
3、问题:此组件所在页面,下面有跳转到当前页的业务需要,只是渲染数据不同。当返回前一个页面时,初始高度还保留着返回前最后一次的高度,与当前页当前高度不符。
原因:同页面切换时,appdata没有重新赋值的话就不会变化,最后当前变量取值了最后出现的那个页面的当前。
解决办法:每切换到一个页面时,在组件里,缓存以页面数:当前为键值的currents对象。返回到某个页面时,通过当前页面数取得当前,从而获得当前初始高度。
PS : 在设计和解决这些难点时,均遵循着组件的高内聚、低耦合原则,使得更具复用性、稳定性、无依赖。
ps:很多时候开始发现是未解的,待解决之后发现原来并没什么,
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)