微信公众号网页授权代码优化过程(一)


第一次更新

写本系列博客的主要原因是,我在处理一个微信公众号项目时要做一个网页授权的操作(官方地址是https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421140842, 如果打不开,请访问https://mp.weixin.qq.com/wiki, 然后依次点击“微信网页开发” ->“微信网页授权”页面即可) 功能是完成了,但是随着项目的进展,发现尽管功能已实现,但代码看起来并不友好。也在网上查找一些解决方案,但都是说功能的实现。最后听取网上的意见,最终实现了,谢谢大家!

在写本系列博客之前我曾在csdn上发贴求助,页面是http://bbs.csdn.net/topics/392325573

本系列博客不对微信网页授权的基本概念及openid、服务端的配置等等加以解释。 需要说明的是,我使用的编程语言是java,但解决方案是相同的,其它语言应该也可以实现。

从我自己的经历来看,网页授权的代码优化过两次,也就是共有三个版本,所以本系列博客会有四篇(含本篇)。大致说下每个版本的特点:

  • V1.0:使用最简单最基本的代码实现。但遗留了一个问题——在微信浏览器内点击右上角的刷新时会导致页面不能正常获取到数据
  • V2.0:使用SpringMVC的ModelAttribute来解决,解决了上个版的遗留问题,但是又产生了另外一个问题——业务代码中的最开始都处理了同样一个操作:判断Session是否有openid。
  • V3.0:使用SpringMVC的拦截器(Interceptor)来实现,其实使用Servlet的Filter也一样。

在重新整理这三个版本的代码时,我已整理出一个git地址https://gitee.com/valuetodays/weixin-oauth-code-optimization-demo, 最终会有三个Tag来保留这三个版本。


第二次更新

第二次更新该博客是为了填写git地址,并发现了目前得用四个Tag来保留代码版本,因为多了一个框架Tag。在提交代码的时候发现几个问题:

  • 把自己的appId及secret提交上去了,不知道会不会产生什么影响,但我用的是测试号,且只有我本人的微信才能扫码登录,但愿不要出什么差错。(什么?删除仓库重新建立一个,感觉没必要,即使重建一个,我还是可能把配置文件提上去)
  • 发现代码中类文件的注释稍有不同,有些类是从其它地方复制的,可能没有文档注释。
  • 代码过于简单,没有添加什么注释,感觉博客解释的已经足够了,实在不理解的,请在博客正文评论。

第三次更新

一个小错误,也不影响什么问题,就是GoodsController里的list()错写成了to(),但请求路径是list。是我从GotoController里复制to()后修改的,导致没有修改完全。

第四次更新

已完成博客内容,水平有限,暂时只能写成这样了。


附上列表

猜你喜欢

转载自my.oschina.net/valuetodays/blog/1626061