记一次关于本地门禁系统的二次开发(内网穿透+消息推送等)

为当地某教育机构的一家分店做关于本地门禁系统的二开,老师介绍的,具体报酬没谈,要是坑我以后就没有以后了…

情况是这样的:用户每次进出,都需要刷卡通过闸机,但坑爹的是,这套系统是单机版的,没有联网的功能,连数据库都是在他们本地的电脑里。现在需要实现一个功能:用户每次进出刷卡之后,需要在手机上进行相关推送,比如:某某某,进入/离开…之类的。

去现场看了一下具体的情况,双方商讨了一波,采用微信模板消息推送这套方案。随后看了一下数据库,sql server 2000…对,就是这个玩意儿,后来坑了我好久…

开始撸代码

框架搭建

没啥好说的,果断springboot,快速,好上手,也好部署,由于是属于“帮忙”性质的(对,所以可能报酬少得可怜),所以我也没打算写的有多好…能偷懒的肯定要偷的

这里最坑的就是数据库了,因为实在是有点老了,网上的教程也不多,以至于我找依赖找了一晚上,不断的尝试,不断的换,第二天才知道,sql server 2000的驱动包必须要用当前这个版本的,后面的2008一系列的驱动都不兼容了…最后下了一个sqljdbc4-3.0.jar,搞定~

微信网页授权

这玩意儿网上代码一大堆,我就不贴了,这块当初我是在慕课网上看七月的教程学的,所以相关代码直接copy,改一下就完事儿了。对于个人来说,如果要使用这套方案,门槛还是有点高的,需要企业的资质,然后再去申请公众号(服务号),个人的话,可以用测试号,申请地址

在本地开发的话,还需要一个内网穿透,如果不想折腾可以直接使用花生壳或者natapp(收费),在甲方提供了服务器的情况下,我就没有用第三方的了,直接搭建了frp进行内网穿透。对了,在开始测试授权之前,需要将ip加入白名单,其次还要将微信提供的txt文件上传到服务器,我是直接部署了nginx,然后将文件传了上去,但这里有个坏处,80端口就被nginx使用了,所以我springboot的端口改为了81,然后在nginx中配置端口转发,监听80端口的请求,如果有请求过来,就转到81的端口。但我感觉这个始终不是一个好办法,不知道还有没有更好的解决方案。

前端输入用户的卡号和姓名,如果和本地数据库的数据匹配,就开始授权,获取openid,然后再把卡号和openid写到本地数据库中,嗯,多一事不如少一事,这里就省了一个外网数据库的部署

隐藏内容,您需要满足以下条件方可查看
End

人已赞赏
职场经验

成功上岸~记录和总结一下我的秋招

2019-9-24 21:31:51

职场经验

项目开发、自测总结

2020-2-13 20:03:34

3 条回复 A文章作者 M管理员
  1. 就需要这样的教程

  2. 有时候这些恰饭机会蛮浪费时间的,做的东西不深不专业,哎无力吐槽[托腮][偷笑]

    • 哈哈哈哈,是啊,被迫营业也没办法咯。在闲的时候玩玩儿也行的。

个人中心
今日签到
有新私信 私信列表
搜索