热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

困扰:微信开发安卓和IOS下对JSON格式解析导致苹果手机sinature签名无效的问题

该问题已解决,只是不知道是什么原因导致的。在做微信开发的时候,我一直使用安卓来测试的,最后用到苹果手机的时候,发现,所有的微信接口都调用失败了,查阅了许多资料,官方说明的是对于卡卷的接

该问题已解决,只是不知道是什么原因导致的。

在做微信开发的时候,我一直使用安卓来测试的,最后用到苹果手机的时候,发现,所有的微信接口都调用失败了,查阅了许多资料,官方说明的是对于卡卷的接口,有特殊的需求,需要另外导入一个JS文件才能防止IOS9以上的手机正常调用。

但是问题在于,我只是调用了扫描的接口,而且我的网站也没有设置HTTPS,那么到底是什么问题呢?
经过我的测试,所有生成的签名都与 微信签名检验工具 生成的是一致的。而且安卓也能正常调用,就是苹果不行,打开DEBUG就提示签名无效。

为了排除其他干扰,我重新写了一个文件调用微信接口。

发现,wx.config能正常在苹果和安卓上运行,也进入额ready方法。

由此可以判断苹果是可以正常调用这些接口的,那么问题就可能出在URL的参数里面,为此我注释掉了原本页面的所有参数,最终也如预期的一致,苹果和安卓都能正常调用微信接口了。

当我重新恢复参数的时候,在PC端打开,尝试看看能不能找到什么有用的信息,结果发现console里面偶尔会出现一句内容: 意思是JSON.parse() 导致阻塞,这也是我查找了许多资料才比较确定的错误,尽管最终我没能得出结论,这里需要说明一下的是,因为个人情况,我在参数中是添加了一个JSON格式的字符串内容。

在获取的时候通过JSON.parse将其转变成JSON格式。

为此,在得知有可能是这个问题的情况下,我注释掉了JSON.parse的解析代码,发现仍然不行。
然后再尝试在URL中不添加JSON格式的参数,结果,苹果运行正常,至此我找到了出问题的地方,也就是说,暂且排除 之前所说的JSON.parse()阻塞的问题(其导致的现象是,我无法触发任何的事件,所以我仍然觉得确实有“阻塞“这个问题的存在,但针对于我个人的情况,可以先放下这个问题先)。

那么问题来了:为什么当我在URL中添加JSON格式的字符串,WX就提示签名无效了呢?我通过签名工具生成的字符串是一致的,在IOS的微信端,它到底做了什么变化?

希望了解这些设备差异性的大神能帮我解答下疑惑,这个问题我花了一天才解决,心很累,也把原来的代码修改了,我也是第一次在URL中这样放参数,一来就给我个大的。搞死人。


推荐阅读
  • 技术分享:使用 Flask、AngularJS 和 Jinja2 构建高效前后端交互系统
    技术分享:使用 Flask、AngularJS 和 Jinja2 构建高效前后端交互系统 ... [详细]
  • 本文介绍了如何使用 Node.js 和 Express(4.x 及以上版本)构建高效的文件上传功能。通过引入 `multer` 中间件,可以轻松实现文件上传。首先,需要通过 `npm install multer` 安装该中间件。接着,在 Express 应用中配置 `multer`,以处理多部分表单数据。本文详细讲解了 `multer` 的基本用法和高级配置,帮助开发者快速搭建稳定可靠的文件上传服务。 ... [详细]
  • 【实例简介】本文详细介绍了如何在PHP中实现微信支付的退款功能,并提供了订单创建类的完整代码及调用示例。在配置过程中,需确保正确设置相关参数,特别是证书路径应根据项目实际情况进行调整。为了保证系统的安全性,存放证书的目录需要设置为可读权限。值得注意的是,普通支付操作无需证书,但在执行退款操作时必须提供证书。此外,本文还对常见的错误处理和调试技巧进行了说明,帮助开发者快速定位和解决问题。 ... [详细]
  • 微软推出Windows Terminal Preview v0.10
    微软近期发布了Windows Terminal Preview v0.10,用户可以在微软商店或GitHub上获取这一更新。该版本在2月份发布的v0.9基础上,新增了鼠标输入和复制Pane等功能。 ... [详细]
  • Ext JS MVC系列一:环境搭建与框架概览
    本文主要介绍了如何在项目中使用Ext JS 4作为前端框架,并详细讲解了Ext JS 4的MVC开发模式。文章将从项目目录结构、相关CSS和JS文件的引用以及MVC框架的整体认识三个方面进行总结。 ... [详细]
  • MySQL 5.7 学习指南:SQLyog 中的主键、列属性和数据类型
    本文介绍了 MySQL 5.7 中主键(Primary Key)和自增(Auto-Increment)的概念,以及如何在 SQLyog 中设置这些属性。同时,还探讨了数据类型的分类和选择,以及列属性的设置方法。 ... [详细]
  • Framework7:构建跨平台移动应用的高效框架
    Framework7 是一个开源免费的框架,适用于开发混合移动应用(原生与HTML混合)或iOS&Android风格的Web应用。此外,它还可以作为原型开发工具,帮助开发者快速创建应用原型。 ... [详细]
  • CentOS 7 中 iptables 过滤表实例与 NAT 表应用详解
    在 CentOS 7 系统中,iptables 的过滤表和 NAT 表具有重要的应用价值。本文通过具体实例详细介绍了如何配置 iptables 的过滤表,包括编写脚本文件 `/usr/local/sbin/iptables.sh`,并使用 `iptables -F` 清空现有规则。此外,还深入探讨了 NAT 表的配置方法,帮助读者更好地理解和应用这些网络防火墙技术。 ... [详细]
  • 本指南详细介绍了如何利用华为云对象存储服务构建视频点播(VoD)平台。通过结合开源技术如Ceph、WordPress、PHP和Nginx,用户可以高效地实现数据存储、内容管理和网站搭建。主要内容涵盖华为云对象存储系统的配置步骤、性能优化及安全设置,为开发者提供全面的技术支持。 ... [详细]
  • 基于Net Core 3.0与Web API的前后端分离开发:Vue.js在前端的应用
    本文介绍了如何使用Net Core 3.0和Web API进行前后端分离开发,并重点探讨了Vue.js在前端的应用。后端采用MySQL数据库和EF Core框架进行数据操作,开发环境为Windows 10和Visual Studio 2019,MySQL服务器版本为8.0.16。文章详细描述了API项目的创建过程、启动步骤以及必要的插件安装,为开发者提供了一套完整的开发指南。 ... [详细]
  • Android 构建基础流程详解
    Android 构建基础流程详解 ... [详细]
  • 深入浅出 webpack 系列(二):实现 PostCSS 代码的编译与优化
    在前一篇文章中,我们探讨了如何通过基础配置使 Webpack 完成 ES6 代码的编译。本文将深入讲解如何利用 Webpack 实现 PostCSS 代码的编译与优化,包括配置相关插件和加载器,以提升开发效率和代码质量。我们将详细介绍每个步骤,并提供实用示例,帮助读者更好地理解和应用这些技术。 ... [详细]
  • 本文将详细介绍如何注册码云账号、配置SSH公钥、安装必要的开发工具,并逐步讲解如何下载、编译 HarmonyOS 2.0 源码。通过本文,您将能够顺利完成 HarmonyOS 2.0 的环境搭建和源码编译。 ... [详细]
  • 在PHP中如何正确调用JavaScript变量及定义PHP变量的方法详解 ... [详细]
  • 深入解析Struts、Spring与Hibernate三大框架的面试要点与技巧 ... [详细]
author-avatar
樱花恋雪的玫瑰_484
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有