iKuai爱快流控路由

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 2059|回复: 1
打印 上一主题 下一主题

[web-radius] 请教爱快路由使用web-radius工作流程和放行机制

[复制链接]
跳转到指定楼层
楼主
发表于 2018-12-9 12:14:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 zhangxc90 于 2018-12-9 12:17 编辑

最近无事,上网看到了一段简单的微信连wifi,的代码。

自已下下来玩了一下,对接后,发现一个问题,就是一直弹出认证页面。

但就是无法上网。 判断问题出在“认证页,没有告诉爱快路由,可以让这个人上网了

请技术给指导下,如何给操作。

我应该在jsonpCallback 内如何操作,填加什么代码,或者如何传参让路由放行。
还是在下面的 authUrl  填写,如爱快自定义portal 方法写的,地址如:(对接认证http://portal.ikuai8.com/Action/webauth-up?type=8),个人觉得应该不是这种放法。


还请技术做下指导。


有兴趣的快友,也可以一起互相学习下,已经了解情况的,麻烦告诉下。
下面是网上的代码:
  1. <!DOCTYPE HTML>
  2. <html>
  3. <head lang="zh-CN">
  4.     <meta charset="UTF-8">
  5.     <title>微信连Wi-Fi</title>
  6.     <meta name="viewport" content="width=device-width, initial-scale=1" />
  7.     <meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
  8.     <meta name="apple-mobile-web-app-capable" content="yes">
  9.     <meta name="apple-mobile-web-app-status-bar-style" content="black">
  10.     <meta name="format-detection" content="telephone=no">
  11.         <script src="libs.baidu.com/jquery/2.0.0/jquery.min.js"></script>
  12.     <script type="text/javascript">
  13.                        
  14.         /**
  15.          * 微信连Wi-Fi协议3.1供运营商portal呼起微信浏览器使用
  16.          */
  17.         var loadIframe = null;
  18.         var noResponse = null;
  19.         var callUpTimestamp = 0;

  20.         function putNoResponse(ev){
  21.              clearTimeout(noResponse);
  22.         }

  23.          function errorJump()
  24.          {
  25.              var now = new Date().getTime();
  26.              if((now - callUpTimestamp) > 4*1000){
  27.                  return;
  28.              }
  29.              alert('该浏览器不支持自动跳转微信请手动打开微信\n如果已跳转请忽略此提示');
  30.          }

  31.          myHandler = function(error) {
  32.              errorJump();
  33.          };

  34.          function createIframe(){
  35.              var iframe = document.createElement("iframe");
  36.              iframe.style.cssText = "display:none;width:0px;height:0px;";
  37.              document.body.appendChild(iframe);
  38.              loadIframe = iframe;
  39.          }
  40.         //注册回调函数
  41.         function jsonpCallback(result){
  42.             if(result && result.success){
  43.                 alert('WeChat will call up : ' + result.success + '  data:' + result.data);
  44.                 var ua=navigator.userAgent;
  45.                 if (ua.indexOf("iPhone") != -1 ||ua.indexOf("iPod")!=-1||ua.indexOf("iPad") != -1) {   //iPhone
  46.                     document.location = result.data;
  47.                 }else{

  48.                     if('false'=='true'){
  49.                         alert('[强制]该浏览器不支持自动跳转微信请手动打开微信\n如果已跳转请忽略此提示');
  50.                         return;
  51.                     }

  52.                     createIframe();
  53.                     callUpTimestamp = new Date().getTime();
  54.                     loadIframe.src=result.data;
  55.                     noResponse = setTimeout(function(){
  56.                         errorJump();
  57.                       },3000);
  58.                 }
  59.             }else if(result && !result.success){
  60.                 alert(result.data);
  61.             }
  62.         }

  63.         function Wechat_GotoRedirect(appId, extend, timestamp, sign, shopId, authUrl, mac, ssid, bssid){

  64.             //将回调函数名称带到服务器端
  65.             var url = "https://wifi.weixin.qq.com/operator/callWechatBrowser.xhtml?appId=" + appId
  66.                                                                                 + "&extend=" + extend
  67.                                                                                 + "×tamp=" + timestamp
  68.                                                                                 + "&sign=" + '';

  69.             //如果sign后面的参数有值,则是新3.1发起的流程
  70.             if(authUrl && shopId){
  71.                 url = "https://wifi.weixin.qq.com/operator/callWechat.xhtml?appId=" + appId
  72.                                                                                 + "&extend=" + extend
  73.                                                                                 + "×tamp=" + timestamp
  74.                                                                                 + "&sign=" + sign
  75.                                                                                 + "&shopId=" + shopId
  76.                                                                                 + "&authUrl=" + encodeURIComponent(authUrl)
  77.                                                                                 + "&mac=" + mac
  78.                                                                                 + "&ssid=" + ssid
  79.                                                                                 + "&bssid=" + bssid;

  80.             }

  81.             //通过dom操作创建script节点实现异步请求
  82.             var script = document.createElement('script');
  83.             script.setAttribute('src', url);
  84.             document.getElementsByTagName('head')[0].appendChild(script);
  85.         }
  86.     </script>
  87.     <link rel="stylesheet" href="https://wifi.weixin.qq.com/resources/css/style-simple-follow.css"/>
  88. </head>
  89. <body class="mod-simple-follow">
  90. <div class="mod-simple-follow-page">
  91.     <div class="mod-simple-follow-page__banner">
  92.         <img class="mod-simple-follow-page__banner-bg" src="https://wifi.weixin.qq.com/resources/images/background.jpg" alt=""/>
  93.         <div class="mod-simple-follow-page__img-shadow"></div>
  94.         <div class="mod-simple-follow-page__logo">
  95.             <img class="mod-simple-follow-page__logo-img" src="https://wifi.weixin.qq.com/resources/images/t.weixin.logo.png" alt=""/>
  96.             <p class="mod-simple-follow-page__logo-name"></p>
  97.             <p class="mod-simple-follow-page__logo-welcome">立远科技 欢迎您</p>
  98.         </div>
  99.     </div>
  100.     <div class="mod-simple-follow-page__attention">
  101.         <p class="mod-simple-follow-page__attention-txt">欢迎使用微信连Wi-Fi</p>
  102.         <p class="mod-simple-follow-page__attention-txt">MianFeiWifi 已连接,希望能给您,一个良好的上网体验</p>
  103.         <a class="mod-simple-follow-page__attention-btn" href="#" onclick="callWechatBrowser()">一键打开微信连Wi-Fi</a>
  104.     </div>
  105. </div>
  106. </body>

  107. <script src="http://cdn.bootcss.com/blueimp-md5/1.1.0/js/md5.js"></script>
  108. <script type="text/javascript">
  109.     var appId          = "wx10fb4548a16725c8";
  110.     var secretkey      = "b89a25164dcfbd5e7a15e2418523499a";
  111.     var extend         = "90done";       //开发者自定义参数集合
  112.     var timestamp      = new Date().getTime();    //时间戳(毫秒)
  113.     var shop_id        = "3252716";               //AP设备所在门店的ID
  114.     var authUrl        = "http://test.90done.com/auth.php?httpCode=200&gwId=xxx";        //认证服务端URL
  115.     var mac            = "3c:91:57:c5:cc:af";     //用户手机mac地址 安卓设备必需
  116.     var ssid           = "MianFeiWifi";         //AP设备信号名称,非必须
  117.     var bssid          = "00:e0:61:4c:a7:c5";     //AP设备mac地址,非必须

  118.     function callWechatBrowser(){
  119.         var sign = md5(appId + extend + timestamp + shop_id + authUrl + mac + ssid + bssid + secretkey);

  120.         Wechat_GotoRedirect(appId, extend, timestamp, sign, shop_id, authUrl, mac, ssid, bssid);        
  121.     }
  122. </script>

  123. <script type="text/javascript">
  124.     document.addEventListener('visibilitychange', putNoResponse, false);
  125. </script>
  126. </html>
复制代码


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 支持支持 反对反对
沙发
 楼主| 发表于 2018-12-9 16:49:07 | 只看该作者
话说,我这个没有人看,也没有人回复。怎么办?

只是想学习下,
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

QQ|小黑屋|手机版|Archiver|论坛规章制度|iKuai Inc. ( 京ICP备13042604号 )

GMT+8, 2024-5-6 06:59

Powered by Discuz! X3.3

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表