环境:

  认证路由ROS ,认证后台python django

ios11系统 更新以来先后出现微信wifi认证,无法打开微信,无法重定向到weixin:开头网址等相关问题。

经过问题的收集,查询到网络上此类问题普遍存在

收集到的有如下网址,市面上大多数厂商在使用微信wifi 认证都存在这个问题

  http://www.ruijie.com.cn/fw/wt/61089/

  http://www.adslr.com/bbs/forum.php?mod=viewthread&tid=1143

  https://www.v2ex.com/t/445255

  http://www.tg-net.cn/faq_article507_399.html

  http://www.natshell.com/plus/view.php?aid=1319

  http://www.sohu.com/a/193853473_421197

收集到的一些解决办法:

  http://www.xiegaosheng.com/post/view?id=99

  https://segmentfault.com/a/1190000016226365?utm_source=tag-newest

 

下面简单说明下此类问题:

  无法打开微信认证问题,只有IOS 11.X后会出现。

  默认IOS 认证连接上wifi 会自动弹出wifi 认证页面,后台会自动临时放行。认证页面的状态显示完成。

  用户点击一键打开微信连接wifi,会提示 无法重定向到weixin:开头网址。

  导致不能打开微信,完成微信wifi认证。

  然后,在此继续打开safari浏览器,输入http开头的网址。会继续提示微信wifi认证。然后打开微信成功。

  说明,默认的认证页面 存在了限制,导致无法使用微信相关的私有协议网址。

如何解决?

  需要解决之类问题,就需要引导用户去加载到safari上才能打开微信完成微信认证。

  所以首先要判断系统是否为ios

  下面是JS代码:

    //首次加载页面提示正在准备网络中
function btntime1(btn1) {
btn.style.display='none';
btn1.style.display='';
if (wait ==0) {
//倒计时加载完显示一键打开微信
btn1.style.display='none';
//判断是ios
var u = navigator.userAgent;
var isAndroid = u.indexOf('Android') > -1 || u.indexOf('Adr') > -1; //android终端
var isiOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/); //ios终端
if (isiOS) {
//如果是ios,就显示ios的a标签
btn.style.display='none';
btn3.style.display='';
var ios_auto_url ="{{ loginurl }}".replace("login","") + "ios_auto_weixin_login.html";
setTimeout("captive();",500);
btn3.href= ios_auto_url; } else {
//如果不是ios,就显示默认的a标签,
btn3.style.display='none';
btn.style.display='';
}
wait = 5;
} else {
btn1.style.backgroundColor= "#f2f2f2";
btn1.style.color= "#bbb1b1";
btn1.innerHTML="正在准备网络(" + wait +")";
wait --;
setTimeout(function () {
btntime1(btn1);
},
1000)
}
}

  判断是IOS 就把 一键打开微信认证的 A 标签href地址改成自己定义好的网址。

  此时用户的状态是临时放行的。

  用户点击自己定义的一个html地址,这个html地址就会从safari上打开,加载微信认证页面。这个认证页面也会自动去加载微信

    (ps:重新设置一个html页面,和重新设置一个能自动加载呼起微信函数认证页面)

yoghurt

  用户就点下微信打开就可以完成微信认证了。

期待优化的问题:

  目前这种流程大部分手机可以正常使用,但是还是有少部分手机会认证页面不自动关闭。

  这时候就在页面上提示点击右上角完成,然后就到safari浏览器中完成微信认证。

  也可以优化下页面,变成这种有剪头指引的。让用户体验更好。

  目前测试了一天,还是存在一个手机无法浏览器中打开的问题,和个别手机会认证两次才会成功的问题。

  所以期待你的流程优化。

关于ios 11.X后微信wifi认证,无法打开微信,无法重定向到weixin:开头网址等问题的处理的更多相关文章

  1. iOS 11更新后以及iPhone X推出后工程中遇到的问题及适配

    1.UITableView滑动时右侧的滑动条忽长忽短的乱跳以及MJRefresh上拉刷新死循环 这是因为tableView在iOS11默认使用Self-Sizing,tableView的estimat ...

  2. 一起来给iOS 11找bug: 苹果还是乔布斯时代的细节控吗?

    众所周知,前几天苹果在位于苹果公园的Steve Jobs剧院召开了一年一度的新品发布会,正式揭幕了全屏的iPhoneX, 随后又把iOS 11推送给了测试员(Beta Tester)(正式版将于几周后 ...

  3. iOS 11确认将完全停止支持 32 位应用

    苹果正在逐渐淘汰 32 位应用,而且会在今年秋天完成.根据知名开发者 Steven Troughton-Smith 透露,苹果会在 iOS 11 发布后,停止支持 32 位应用.这意味着 App St ...

  4. 微信连wifi认证

    官网 https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1444894086 https://blog.csdn.net/u0116 ...

  5. 混合应用 微信登录授权 微信登录认证失败 ios PGWXAPI错误-1 code:-100 / 安卓 message:invalid appsecret innerCode:40125

    最近项目需要做微信登录,于是利用HTML5+ API Reference的OAuth模块管理客户端的用户登录授权验证功能,允许应用访问第三方平台的资源.(链接:https://www.dcloud.i ...

  6. 解决iOS微信H5支付跳转微信后不返回App问题(Swift-WKWebview)(转)

    问题分析 正常的H5支付流程如下 按照上面的支付流程会出现 App -> 微信 -> 支付 -> 点击 完成 -> safari访问redirect_url设置的URL,这种流 ...

  7. 微信公众平台开发(110) 微信连Wi-Fi

    关键字:微信公众平台 微信连Wi-Fi 微信 WiFi 硬件鉴权作者:方倍工作室 原文:http://www.cnblogs.com/txw1958/p/weixin-wifi.html 微信连Wi- ...

  8. 你可能需要为你的 APP 适配 iOS 11

    本文来自于腾讯Bugly公众号(weixinBugly),未经作者同意,请勿转载,原文地址:https://mp.weixin.qq.com/s/AZFrqL9dnlgA6Vt2sVhxIw 作者:s ...

  9. iOS 11: CORE ML—浅析

    本文来自于腾讯Bugly公众号(weixinBugly),未经作者同意,请勿转载,原文地址:https://mp.weixin.qq.com/s/OWD5UEiVu5JpYArcd2H9ig 作者:l ...

随机推荐

  1. React: 认识React

    一.简介 React-Native是Facebook开源的跨平台框架,用于实现前端和原生进行混合开发.React-Native开发可以很好的使用原生UI构建用户界面,与传统的使用WebView相比,不 ...

  2. 分布式SQL数据库中部分索引的好处

    在优锐课的java学习分享中,探讨了分布式SQL数据库中部分索引的优势,并探讨了性能测试,结果等. 如果使用局部索引而不是常规索引,则在可为空的列上(其中只有一小部分行的该列不具有空值),然后可以大大 ...

  3. FCN用卷积层代替FC层原因(转)

    原博客连接 : https://www.cnblogs.com/byteHuang/p/6959714.html CNN对于常见的分类任务,基本是一个鲁棒且有效的方法.例如,做物体分类的话,入门级别的 ...

  4. jQuery 源码分析(十八) ready事件详解

    ready事件是当DOM文档树加载完成后执行一个函数(不包含图片,css等),因此它的触发要早于load事件.用法: $(document).ready(fun) ;fun是一个函数,这样当DOM树加 ...

  5. mysql多表关联update

    日常的开发中一般都是写的单表update语句,很少写多表关联的update. 不同于SQL Server,在MySQL中,update的多表连接更新和select的多表连接查询在使用的方法上存在一些小 ...

  6. VS2019安装好后,经常打不开软件没反应解决方法

    原文地址:https://blog.csdn.net/FL1623863129/article/details/89013137 VS2019于昨日正式发布,博主立马下载一个专业版尝尝鲜,但是发现项目 ...

  7. \" 转义字符, \a系统警报,逐字字符串(verbatim string)

    string str="The key factors are \"focus\" and \"perseverance\""; strin ...

  8. 如何搭建属于自己的Web服务器

    如今随着计算机和互联网技术的发展,上网现在已经不再是什么难事,打开浏览器,我们可以访问各种论坛站点,比如CSDN.博客园等,各种视频网站,例如爱奇艺,B站等.在网上我们可以写文章,看视频,购物,打游戏 ...

  9. 机器学习实战:基于Scikit-Learn和TensorFlow 读书笔记 第6章 决策树

    数据挖掘作业,要实现决策树,现记录学习过程 win10系统,Python 3.7.0 构建一个决策树,在鸢尾花数据集上训练一个DecisionTreeClassifier: from sklearn. ...

  10. C#操作SQLite数据库增、删、改、查 欢迎转载

    C#操作SQLite数据库增.删.改.查 欢迎转载 转载记得留下链接地址哦!!! 最近项目上要使用SQLite数据库,不怕大伙笑话毕业四年多了,一直使用Oracle或者MySQL或者SQLServer ...