2019独角兽企业重金招聘Python工程师标准>>>


第一次更新

写本系列博客的主要原因是,我在处理一个微信公众号项目时要做一个网页授权的操作(官方地址是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()后修改的,导致没有修改完全。

第四次更新

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


附上列表

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

转载于:https://my.oschina.net/valuetodays/blog/1626061

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

  1. php微信授权没有code返回,解决关于微信公众号网页授权获取code参数的问题

    解决关于微信公众号网页授权获取code参数的问题 发布时间:2018-07-24 23:21, 浏览次数:3327 , 标签: code * 在微信网页授权过程中,需要获取code参数,因为我用的是公 ...

  2. 微信公众号网页授权--前端获取code及用户信息(vue)

    前段时间开发微信公众号网页授权,虽然网上已经有很多关于这方面的博客或者教程,但是第一次开发还是遇到挺多坑的,以下分享一下我的踩坑填坑之路. 一.测试号相关配置 首先在你公司申请的测试号上配置好相关信息 ...

  3. 微信公众号网页授权--前端获取code及用户信息(vue)【简单详细版】

    嗨喽大家好,前段时间开发微信公众号网页授权,虽然网上已经有很多关于这方面的博客或者教程,但是第一次开发还是遇到挺多坑的,以下分享一下我的遇到的一些问题的见解,希望对你们有帮助. 一.测试号相关配置 首 ...

  4. 微信公众号网页授权思路解析及具体代码

    微信公众号网页授权思路解析及具体代码 微信开发文档 实现方式也是两种: 1.静默授权登录 授权登录以snsapi_base为scope发起的网页授权,是用来获取进入页面的用户的openid的,并且是静 ...

  5. 微信公众号网页授权,获取用户信息以及openid -- PHP后台

    微信公众号网页授权,获取用户信息以及openid 这几天做项目,想通过公众号的appid获取用户的openid就,然后在网上查资料,问朋友,最后找到了方法,就是这个网页授权. 起初一直很蒙,这个怎么弄 ...

  6. 微信公众号网页授权时序图

    微信公众号网页授权时序图 公众号网页授权时序图

  7. 微信公众号网页授权登录的超简单实现步骤

    微信开放平台为第三方移动程序提供分享.传播的接口, 使用户可将第三方程序的内容发布给好友或分享至朋友圈, 下面这篇文章主要给大家介绍了关于微信公众号网页授权登录的超简单实现方法, 需要的朋友可以参考下 ...

  8. 微信公众号网页授权40163问题【php】

    微信公众号网页授权40163问题 tp5为例,emmmm-一直报40163或40029问题,翻遍了各大网站都没找到合适我的办法. 如图: 解决之后如图: 因为重定向所以请求了两次code,所以一直报4 ...

  9. 在做微信公众号网页授权的时候,有时会重定向两次网页(302问题)

    在做微信公众平台网页授权时,发现每次请求授权链接 https://open.weixin.qq.com/connect/oauth2/authorize?appid=xxx&redirect_ ...

最新文章

  1. Nginx 一个牛X的功能,流量拷贝!
  2. 无线传感器网络协议与体系结构 思维导图 (book) Protocols and Architectures for Wireless Sensor Networks, Holger Karl
  3. 择天记服务器维护中,择天记修仙正统
  4. 开源的方舟编译器将进入深圳大学课堂
  5. 查看详细_教师资格准考证开始打印!点击查看详细流程!
  6. Safe Or Unsafe(hdu2527)哈弗曼VS优先队列
  7. 【MYSQL笔记】分组计算多表查询
  8. 浅谈python可视化编程之tkinter(一)
  9. 修改网课播放器倍速播放
  10. Android项目导入高德地图
  11. 51单片机用HS0038B读取遥控按键码
  12. 网络分析笔记11:2 Reassembled TCP Segments问题
  13. 阳光房市场深度研究分析报告
  14. 计算机图形学 :中点画圆法
  15. 考勤统计表sql 某个项目在某个月的考勤统计
  16. android 动画遮盖,android view用动画实现遮罩效果
  17. Matlab常用清除命令:clc、clear、clear all、clf、close、close all
  18. 双向链表插入、删除操作
  19. 金融危机的影响(ISAS课题)
  20. FreeCAD-0.19源码编译教程

热门文章

  1. [JavaScript] 按钮点击事件失效
  2. 奈奎斯特速率怎么理解
  3. 花了30分钟,给女朋友们写了个最近抖音很火的3D立体动态相册
  4. Python AND 其它27种编程语言
  5. 黑马Pink老师DOM和BOM学习笔记
  6. 游戏的服务器端文件夹,游戏服务器放在linux哪个文件夹
  7. 对i++和++i的深刻理解
  8. 【webGoat】Broken Authentication
  9. 自然语言处理 2.形态分析
  10. 数组和链表的区别和优缺点总结!