在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
一、项目背景 与女友一周年纪念日即将来临的前一个月,突发奇想想写个小程序作为礼物(她考公)。八月多还在实习,所以白天大多数时间是工作的,只有晚上和周末,以及九月上旬的完整时间。 二、项目构思 小程序,顾名思义,小、轻便、易使用。考公,所需要的是做题和了解相关的咨询,对于国内外的新闻都要有一定的了解。如何才能把两者给结合起来呢?据前期的了解,现在大多数都是APP形式如【粉笔】、【中公】、【华图】等,当然也有与考公相关的小程序。前者功能强大,当不如小程序来的轻便;后者大多都是推销自己的课程或者是刷题、比题类型的。从这调查中可以得到,至少目前还没有一种复合型的考公类型助手的小程序,所以我可以尝试做一下。 想法是四大模块加个小提醒加个彩蛋什么之类的,在我看来这样的结合是最好的,小程序嘛,在微信打开,本来就是闲时或休息的时候可能会用的上,充分利用零碎时间作为一个知识的补充,或者放松一下。 (1)小提醒:凡是考试类的,都会确定考试时间,那就是有倒计时,总认可有个倒计时学习的效率多多少少都会有点提升,或者给自己一个紧迫感吧。所以这部分作为首页,打开小程序即可看到。无论哪种备考,在准备的过程中都是漫长的,都是艰辛的,都是要咬牙坚持下来的,所以说,在首页会添加上一些励志的美景的图片和一些加油标语。这样子感觉会舒服点。 (2)做题模块:其实在这个做题上,都不是那么重要了,毕竟已经有了很多考公的APP了,他们的题库更全更大更好用,说实话当时想着做这个模块不咋滴,最后保留下来,无非也是想加个积分制度,可以鼓励鼓励,偶尔刷一两道还是可以的。 (3)新闻模块:考公上需要了解的东西很多很多,摆上一些新闻列表和通过,或者鸡汤。这样子会很好,毕竟快躺床睡觉的时候,随便打开看看一两篇文章总是可以的吧。 (4)娱乐模块:日常娱乐,刷刷笑话、搞笑图片、玩个文字小游戏之类的 (5)个人中心:一些通常都有的功能,用户图片、用户反馈、用户收藏等之类的 (6)彩蛋:在这部分,本来就是个礼物,小程序要尽量不私人化,同时又要嵌入一些惊喜,不然就称不上是礼物了,因此最普通的彩蛋莫过于做对题的时候可以有变化、或者是有点交互,是个人多多少少都希望别人能看到他的优秀吧,因此想到了在做对题的时候可以给个弹幕,刷刷的好评,做错了也适当给个打击,鼓励继续前进。目前想到的第二个彩蛋就是给成语接龙那加入判断,输入特定的词,进行一定的反馈消息,也算得上是个小小的彩蛋吧,至于其他的,还待考虑。 三、项目前期准备 在这部分,要思考的东西就比较多,第一尽量争取把数据库表给设计好一点不至于后期出现太多的问题,不用动不动就要添加字段什么的。第二要把每个页面的实现功能的步骤及流程给理清楚,不至于出现设置不合理的问题,导致诸多bug出现。第三作为一个java后台开发,对于设计界面什么的着实有点困难,因此浏览了大量的demo,最后使用了最常用的界面设计。在初步的界面样式有了之后,就开始一个个页面实现了。在写样式之前,需要把后台的接口给决定了,接口命名也颇为重要,同时要把传参和拿哪些数据给想好并且记录下来。在写页面的时候,可以先写本地数据用着先。附上数据库表(初版,后期有改动,但没在pd改了) 四、小程序页面设计 在这个页面设计的流程中最为致命了,因为在这花的时间最长了,小程序的坑还是有很多的,最要是自己不懂样式不懂css、js这些东西,在写小程序页面的过程中,花费的心思是最多了,大到页面布局这样的问题,小到颜色按钮图标搭配这样的细节,通通都是要考虑的。在这个过程中,我明白了,作为个程序员,前端的知识不能不学,至少得了解一下可能会出现的坑对吧。就好像我在写弹幕样式那的一个bug就十分经典了,在那,我从未想过为什么有按钮的样式不能实现,我知道有可能是覆盖了,但是没想到的是,弹幕隐藏的样式对我操作题目的按钮还是造成了影响,最后花了很长的时间才知道了,是样式遮盖的作用,直接屏蔽了按钮,所以按钮的点击效果就无法实现了。 第二个坑,无疑属于新闻详情了,对于微信小程序模板类的使用的过程中的一个传参问题,大小写改变了,这还查不出什么错误,最后改了很多参数很多条件,一个个测试出来的,不要问为什么不调式,因为还不会,但在做这个小程序之后,渐渐发现自己掌握的东西变的多了起来,主要是学会看官方文档也是个技术活,还好这个中文文档的,要是英文的话就gg了。 第三,我写的页面是真的烂,没办法没写过也没有那样的设计头脑,但是还是要硬着上,在设计娱乐模块那,在做滑动页面的时候,无法实现想要的效果,因此后来改版就把娱乐模块只剩成语接龙了(时间紧迫了) 第四,要感谢GitHub这个开源平台,作为一个程序员,要学会利用手上的资源以及网上的资源,我当然不至于那么笨,从头学开发小程序,那样的时间代价太大了,在制作这个小程序,我看过不下二十个demo,其中对我最有帮助的有三:①伤寒方的新闻小程序制作②手持弹幕和多条弹幕的制作③富文本解析(GitHub微信小程序的汇总资料那就可以找到了),从这些demo中我就学习了和改造了一些功能,新闻/弹幕/新闻文章的样式,这三大功能还是很实用的。 第五,一些图标的需要搭配好点,这个时候可以去阿里云的矢量图库找(朋友推荐),此小程序的大多数图标来源那。 最后,当你把所有的页面写好了之后,同时要测试所以会用本地数据来进行处理,需要注意的时候,提交审核的时候要检查清楚,把相关的url给改回来。还有,一定要注意用户体验,对于一些需要告知用户的弹框什么的一定不要吝啬需要给个好的用户体验,这点在我实习的过程中深有体会,因为改需求改了三四遍。。。。 附上一些页面图片,由于时间的问题,个人中心没来得及开发 五、后台接口实现 在这个部分写起来就比较轻松了,因为是本行嘛。但是还是有些问题需要注意的,第一对于接口方法是get还是post要想清楚,传参类型要了解,返回的数据结构要清楚,不能写错了,要不然小程序拿到的页面数据就不能重现了。 图片传的方法需要变化一下,要了解一下图片资源服务器那方面,就知道了图片应该怎样存储已经再获取。 后台至为重要,在这处理的数据需要考虑清楚,以便以后使用,初期就先这样了,以后再修改。 附上部分接口说明,写得不专业。。。 六、后台管理平台建设 时间问题,来不及做后台录入数据。但简单说一下想法。新闻列表来源还是比较固定的,可以尝试写爬虫把每天更新的文章给爬下来,题库也是这样,就是要的数据处理比较复杂而已,其中涉及到细题项、答案、图片等问题。不过应该可以实现。在处理倒计时那,可以写触发器,爬虫爬文章也是同个理,现在就是时间的问题了。 七、目前个人觉得欠缺的功能 ①:数据尚未能自动录入,靠手工录入的工作量还是比较大的;②前端页面还是有bug,在选择完题目之后,选中的不能重置;③前期忽略了题目的复杂性,忽略的答案的形势和选项,所以小程序页面还需要改;④个人中心要开发;⑤后台数据库对题目数据的处理不够优化;⑥现今文章只拿最新五条,尚未实现下拉刷新的功能;⑦阅读浏览收藏的数据变化未实现,主要是没有个好思路,怕写普通的频繁发请求服务器承受不住(用的是阿里云的学生机,比较弱) 八、总结 花了一个月的零碎时间,实际花时估计快两百个小时吧,做出现今这样的效果,个人觉得勉强过得去,毕竟小程序还是偏向前端这方面的。在做这个小程序的过程中,倒是锻炼了自己的能力,对于一些关于it的相关技能也得到了相应的提升,这次项目的表设计和项目后台设计在整体上看都比之前大有长进。总而言之,不赖。 最后,陈小姐,一周年快乐! 欢迎各位大佬指点一二,感激不尽。 附上小程序二维码。
|
请发表评论