一、重新优化小程序
再唠叨一下,在我做这个小程序之前,市面上大多数考公类型的小程序都是卖课程为主,或者专业刷题的,综合性的咨讯类的反正我没见着~~~
当一周年过去之后,就不怎么理小程序了,毕竟还得学习基础知识,要找实习,但最近学校有比赛,想想前两年都是交文档的,今年也许可以试着把小程序交上去,因此又开启了优化的道路。
当我重新登陆服务器看了用户之后,就更加坚定完善一下了,因为每天都会有一两个新用户,顿时觉得这个小程序多多少少都可能会帮到他们,一个字,开工!
二、重新思考小程序后台接口
之前懒得更新是因为,每次插入的数据都比较多,懒得动。所以先从这下手。
考公相关资讯大多数都是来自“公考资讯网”的,而且发现他们的发表文章比较有规律而且日更新,符合小程序的新闻来源准则(授权问题,网站底部说明标注来源即可转载)。所以初步想法就是写爬虫,抓html,解析内容,获取保存内容,结合Spring的触发器,就可以实现定时定点获取文章了。
在做的过程中,就发现每次的音乐都要配一样的吗?这不太好吧(ps:新闻列表是学习了伤寒方的demo,估计挺多人都看过这视频,所以带上了音乐),然后在这步就突发奇想,要不就弄成阅读文章的的录音吧,说干就干,作为一名程序员,必须得学会找轮子对吧,这样效率才会高一点。先是搜了小程序,发现有个不错的,但是收费,然后去GitHub找,有是有,但不符合我的,同时也来不及再学全新的东西了,最后百度着,就发现了百度的开发平台,可以合成语音!一级好!免费的!不限量的!唯独就是读出来的音色不太好,在里面也卡我了几个小时,就是最多能合成五百字左右,需要多次请求再合成。(很典型的SSH框架后台)
解决录音问题之后,对于java写爬虫也是第一次,不过还好写得不用很复杂,也用不上代理ip池多线程这些,看了会视频就开始写了。我觉得在样式选择器那就很烦,对html的掌握不到位,就像我要拿某个div的text就拿不到,这里也折腾了一两个小时。
能正确爬到想要的html之后,就需要把内容传给语音工具类,合成并保存到服务器,同时将地址写进数据库里。作为一名java开发的我是不及格的,在事务处理这边由于隔离级别的问题,卡死我了,新sava一个实体类后立马调用这个实体类作为另一个实体的外键的问题。不过万能的百度最后还是让我渡过了难关。
当以上的一切都处理好之后,就相当于一篇文章新建成功了,؏؏☝ᖗ乛◡乛ᖘ☝؏؏。这时处理就应该是触发器了,写个定时,观察了网站的新闻发布时间,定个每天下午五点自动抓两篇文章国际和国内的。就很舒服。同时也留意到了,在17号那天是连发了两天的,16、17.16号是台风山竹,可能有影响到了,为此防止突发情况,自己也给后台留了个接口,人口输入html解析页面。还是很方便,就是输入网址就可以新增文章了,当然这个网址必须是‘公考资讯网’的。
顺便,补了点击一次,阅读加一次的接口,收藏次数接口的还没写呢
三、建立后台数据管理平台
不想给我的学生机造成项目太多而负担太大,所以管理平台就跟接口是分开的。管理平台就在本地跑,连接远程mysql。没啥好说了,走个过程。(在自己的模板类项目上修改的,细节东西就不在意了)
四、小程序的目前优化进度
想想之前写的小程序里面还是有很多考虑不到位的地方,现在改
①之前做题后选择过的按钮不能重置,给data加了个属性就处理好了
②我的收藏文章占用太大了,将样式删了,简洁化,占用页面小了,处理好了
③女友说成语接龙的绿色背景太丑了,换成了土黄(shi黄???),感觉更丑了
④意识到还没做好的功能就不要放出来了,删了分享的icon,有想过办法,但还没解决好,就先这样了
⑤调整了一下定位,本意就是省时方便,经过思考,在小程序看汇总的新闻的几率会比做题的几率大的,毕竟专业做的app多的是,将新闻资讯调到了第一。
五、目前还存在的问题
虽说不是专业做题,但是闲时还是可以刷一下,对于题库的设计还没有思考到位,以及题量的增加(不想手工),观察了一下,这方面的爬虫就比较复杂了,先等着吧。
小程序的个人中心的页面还没想好要放什么内容
日常打卡的形式
做题积分、打卡积分、积分商城
新闻分享
成语接龙的删除,想换个有意思的界面
页面颜色的搭配
。。。。
总之,就还是比较菜,还要继续改进
六、小结
这次优化就花了一个星期左右,大多数时间会比较浪费在基础功上,有很多知识应该掌握的缺乏了,导致百度的多,还好也锻炼了自己解决bug的能力。相信会越做越好,加油。