谈谈最近java微信开发中遇到的IOS返回错误
来源:互联网 发布:hp软件安装 编辑:程序博客网 时间:2024/05/17 02:44
一转眼都毕业四五年了,来到csdn也很久了,现在回头看看除了瞎忙基本上没啥长进,遇到原生态的东西只能gg,算了不瞎扯了......
15年底开始接触微信开发,其中遇到一个自己难解决的问题就是IOS端返回通过授权进来的页面时报错问题,刚开始在网上找了好
多资料但是没有行之有效的办法,大多说的都跟自己的实际情况不同,再加上项目是自己一个人做,没有个可以咨询的前辈,摸索了好久
才找到解决的办法。
1、 先说说为什么IOS返回授权进来的页面会报错:
1)IOS跟安卓的返回区别是:IOS返回会刷新当前页面,而安卓不会,只是机械的返回,对页面不操作。
2)微信授权页面的code只能使用一次,第二次是使用就会出错,code不使用,默认5分钟后失效(具体几分钟要看微信开发文档有可能会变)。
2、 这样一来问题就来了,当IOS返回授权页面时,因为code还是原来的,而IOS还会继续用这个code来刷新当前页面,相当于二次使用code,所以
必然会报错。我自己研究的解决办法就是把授权页面的code缓存同时缓存通过code拿到的微信信息,如果再一次请求授权页面时,将缓存中的code
拿出来跟这次请求的code对比,如果相同的话,那么就不再用code请求数据,而是使用原先缓存到的数据,如果不相同就用新的code请求数据。
3、 但是这样一来会有个问题,就是该页面在用微信自带分享,分享出去该页面时该链接会无法使用,因为我们加了之前的判断跟微信自带分享冲突,
所以要想使用以上办法,同时必须做自定义分享......
4、因为IOS跟安卓返回的不同,还会导致返回带参数的页面时,参数丢失的问题,所以在微信开发中尽量避免url带参数,可以放在缓存中。
以上是我对IOS返回错误自己研究跟探索的结果,应该不是最合理的解决办法,但是也是一种解决问题的途经,希望可以帮助遇到同样问题的人,同时也希
望资深的微信开发大师能够批评指导,帮忙给出更合理的解决方案。
一个独自在微信开发中跌摸滚爬的认真小白~
- 谈谈最近java微信开发中遇到的IOS返回错误
- 最近iOS开发中遇到的问题
- ios开发中遇到的错误总结
- iOS开发中遇到的一个错误
- 微信开发中遇到的问题
- 最近mysql学习中遇到的错误
- 谈谈java与微信公众平台的交互式开发
- ios中最近遇到的一些问题
- ios 实现微信的非最近会话聊天界面的返回按钮
- 最近开发中遇到的“砖头”记录
- 最近开发中遇到的问题汇总
- java-谈谈工作中遇到的问题
- 微信开发返回【470001】错误
- 微信开发返回【10003】错误
- 最近在ArcGIS Engine开发中关于调用gp工具过程出现COM 组件的调用返回了错误 HRESULT E_FAIL 错误的解决方法 和 学习oracle中遇到的一些问题总结
- iOS开发 微信支付 包看包会 系统返回的坑
- iOS开发之最近开发遇到的问题总结
- 微信开发 IOS 返回键问题
- 数据结构之选择排序(四)
- java试练之路--分页实现
- 浅谈java异常[Exception]
- 线程取消(pthread_cancel)
- Tablayout + ViewPager + fragment 实现底部或顶部导航栏
- 谈谈最近java微信开发中遇到的IOS返回错误
- Ubuntu14.04/16.04 不能使用PPA更新并提示缺失pubkey的方法
- Java数据结构与算法:堆
- 我的 2016 年总结
- MySQL工具:doDBA
- 饿汉式与懒汉式单例模式的区别
- 高德地图定位
- docker安装
- ajax阻止表单提交