微信小程序部分安卓机型发起 HTTPS 请求频繁出现超时问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了微信小程序部分安卓机型发起 HTTPS 请求频繁出现超时问题相关的知识,希望对你有一定的参考价值。

参考技术A 首先引入微信小程序官方关于HTTPS网络请求问题的 相关说明

如果苹果机型和本地微信开发工具请求都相对正常,唯独安卓部分机型频繁出现请求超时问题,那么可能就是服务器域名证书的信任链不完整或者缺失中间证书引发的,请对照下述流程检查或使用 SSL证书在线检测工具 。

微信小程序对证书要求如下:

原因:在部分安卓系统下证书不可信从而导致无法请求到数据。在证书文件的详细信息-授权信息访问一栏的 Alternative Name 中指定了中间证书的获取 URL 地址。ios、MAC、Windows、都支持这种方式获取中间证书,唯独部分 android 系统不支持,所以就无法建立可信连接。所以在切换小程序网络请求域名时请注意检查 SSL 证书是否配置正确。

微信小程序不同机型底部安全区域问题

在微信小程序开发过程中,有些页面底部按钮是固定在底部的,还有如果是自定义tabbar也是需要固定在底部的,这里有两个问题:

  • 不同机型的底部安全区域不同,如有些苹果手机底部有操作栏,这部分距离需要留出来否则会遮挡内容
  • 如果底部有固定定位元素,可能会导致内容区域底部部分元素被固定元素遮挡

问题1 解决方案

利用IOS新增的 env()constant() 特性即可解决,开发者不需要自己动态计算高度,只需将如下CSS代码添加至样式中:

示例代码:

.bottom-wrap 
	position: fixed;
	bottom: 0;
	padding-bottom: constant(safe-area-inset-bottom);
	padding-bottom: env(safe-area-inset-bottom);

问题2 解决方案

内容区域设置 padding-bottom,如果底部固定定位元素的高度是 50px ,那么只需要设置css:

.content-wrap 
   padding-bottom: calc(constant(safe-area-inset-bottom) + 50px);
   padding-bottom: calc(env(safe-area-inset-bottom) + 50px);

实现效果:

以上是关于微信小程序部分安卓机型发起 HTTPS 请求频繁出现超时问题的主要内容,如果未能解决你的问题,请参考以下文章

监控微信小程序wx.request请求失败

微信小程序wx.canvasToTempFilePath压缩上传图片,ios压缩成功但是数据sm2加密后无法发起请求,安卓一切正常

[小程序]微信小程序获取input并发送网络请求

微信小程序不同机型底部安全区域问题

微信小程序不同机型底部安全区域问题

微信小程序异步请求问题