2.报名需要的字段有:姓名,性别,考生号,身份证号,手机号,个人照片,报考专业,查询密码。
3.后台功能需要按报考专业导出为excel,数据统计,根据身份证号,考生号进行查询。
需求看起来很简单。下面来描述一下所需要涉及的技术功能点。
涉及的功能点及相应的应对方案:
1.电脑手机端的界面适配问题
通常会想到使用自适应的方法。但这种方法太多缺点,这就不多说,下期会专门来讲一下自适应和模板适配以及跳转三种方式的优缺点。简要的说一下:
自适应:
优点:电脑端,手机端一套代码。
缺点:电脑手机对流量的限制要求不一样,如果采用相同的代码,必定会增加手机流量,降低手机端流量问题。
界面问题,虽然有很流行的一些自适应框架,但基本上ie6,ie7都不支持,不要问为什么要兼容这些浏览器,学校、政府还是有很多这些低端浏览器的。你没得办法。
图片上传问题:电脑端和手机端所采用的图片上传方案肯定是不一样的。
所以最终还是:模板适配,即电脑和手机采用两套不同的模板,其它的控制器和模型都是一样的。电脑端可以兼容ie6+系列的浏览器。
最终的效果:
手机端
电脑端
2.上传图片问题:
图片采用了异步上传的方式,即当用户点击提交报名之后,将除图片的其它信息进行先提交,然后根据返回的编号,再上传图片,生成编号.jpg的图片,这样就可以保证,一个报名信息,无论怎么样,只会有一张图片。就防止了过多的垃圾图片。电脑端的图片上传使用了百度的webuploader上传控件,可以支持ie6+系列。手机端采用的jquery.canvas上传组件,可以对图片利用canvas技术进行压缩或其它的预处理。所以,写了两套不同的模板。因为毕竟canvas在ie支持并不好。
3.考生编号的生成
其中有一个要求就是编号,要生成连续的,按不同专业。所以,不能用自增编号,所以具体的算法是专业no号+(得到当前表此专业的所有数)+1.即比如1001,1002,1003,2001,2002,这样,每次生成考试号,都要计算当前报考专业的所有总数,再加上1,再加上专业no号即可。
4.专业序号的生成。
正常情况下,在表中建立记录,会自增,比如增加,书法,舞蹈,音乐,三个专业,就会是1,2,3,。但需求中,有一个,就是这三个基础专业,可以进行组合。肯定不能再分别增加,书法+舞蹈,书法+音乐,舞蹈+音乐,这样的组合,这样又增加了好几条记录,而且后期如果再增加一个原子专业,比如体育舞蹈,那就又得再增加同样的好几条记录。所以,建立了一个序号。比如书法1(001),舞蹈(010),音乐(100),这样的,就可以利用分别不同的数字代表不同的专业了,只要按位与即可。这个自己领悟。即书法和舞蹈,001+010=011,即用3可以表示,这样在表中做查询搜索的时候,也很不错。
5.一个潜在的会员系统
在线报名,不需要在线注册成为会员,只需要填写报名即可,但后续的有可能要做一些修改等操作。所以,虽然没有会员,但也要做一个潜在的会员,即可以依靠身份证+查询密码,方便用户以后进行操作。这个潜在的会员系统,虽然不是显示的,但开发过程是不可忽略,而且是非常必要的,其实质要经显示的会员系统更复杂。
6.后台导出问题
可以利用phpexcel或者直接写php语句导出csv都可以。没其它具体的技术点。
7.统计功能
这个点,主要是数据的可视化。由于后台只是少数管理员可以看到,所以用了一些新技术,数据的可视化可以用echarts来显示。技术点不详述了。具体可以看文档。
8.其它的技术点
ajax,json,vuejs,
综上所述(一个功能性网站的开发需要那么多):
webuploader,canvas,jquery,json,ajax,template,echarts,phpexcel技术点+良好的算法逻辑。
开发和利用cms建站,绝对绝对是两码事。其工作量要大好多倍,同时对程序员的算法和技术点的掌握也是一个极大的考验。