个人项目总结---山大一卡通

来源:互联网 发布:java和php 编辑:程序博客网 时间:2024/04/29 02:12

以下为自己遇到的一些问题及解决办法。

初衷

因为每次学生查饭卡余额,挂失,消费记录等信息时,都必须去食堂窗口或者找食堂管理部门,虽然学校官网也可以查到,但是需要登录vpn连接至学校内网,更重要的是95%以上的学生不知道这个办法,因为学校从来也没有提起过。于是,我决定做一个学生可以方便查询的系统。

遇到的问题和解决办法

1.首先是平台选择的问题?
如果做到安卓上,那么ios的用户则不能使用,并且加上安卓的适配性,兼容性等问题,也会给我们带来很多麻烦,于是,决定做成网页的形式,依托于微信公众号,这样,所有的用户都可以使用,也不用担心上面的问题。


2.怎么获取到学校的数据?
因为我们并没有和学校合作,所以基本不可能拿到学生的数据,但是学生个人可以看到自己的信息,那么我们可以通过Java的解析工具jsoup去做,每个学生用正确的账号密码通过我们的平台去登录,但是这里还有一个问题,因为学校的官网是带验证码的,每次让学生输入验证码也会带来一定的麻烦,我们需要再做一个去处验证码的处理。


3.怎么去处验证码?
我们在这之前做过一个“玩转山大”的安卓项目,在那个项目中也用到了对验证码的处理,我们直接套用上次的代码。


4.如何登录,因为毕竟每次登录都需要连接vpn?
首先,我们的电脑自己登录上vpn,那么我们的电脑就已经接入了学校的内网,然后,再把我们的电脑映射到公网上,通过花生壳(frp)这两工具中一个,花生壳是商业项目,frp网上有教程,我们可以搭建在自己的服务器上,就这样,将我们自己电脑上的项目映射到公网上,让大家都可以使用。


5.网页前端的制作?
因为我前端学的也不太深,所以这里直接套用网上的模板。


6.数据库设计?
因为我们基本所有数据都是获得的用户数据,所以直接用户名密码这些都是用户登陆后填充,用户可以绑定自己的邮箱。


7.进入页面权限的处理?
因为一个项目总会存在很多页面,比如登录页面,登录成功后的页面,一般,登陆成功后的页面必须验证身份后才可以登录,我们的做法是,post一个学校官网的页面,如果可以返回我们预期的数据,说明已经登录成功,否则,跳回登录页面。


8.解析遇到的一些问题?
因为学校一些记录比如说是消费记录,都是利用数据库分页分了很多页面的,我们一下无法解析出来,解决办法:先进行一次post,得到一共有多少页,然后用一个循环去挨个post,然后进行解析。


9.邮箱定时提醒功能的实现?
用线程休眠显然不合适,最后采用的是Calendar定时任务。


10.怎么去给一个用户发送邮件?
采用Javamail发送邮件的库,在qq邮箱中开启smtp服务。

曾经录制的视频。

http://pan.baidu.com/s/1qYhYBmc