讓你家的WIFI裝逼

一、新建門店javascript

添加功能插件--》門店管理--》新建門店(如今是能夠隨便建的,免費能夠作測試)css

二、WIFI鏈接html

添加功能插件--》微信鏈接WIFI--》設備管理--》添加設備java

2.一、在這裏咱們能夠看到添加門店web

2.二、兩種類型選擇
json

2.2.一、密碼型瀏覽器

直接輸入WIFI名和密碼(注意WIFI用戶名和密碼必須其中一個是WX開頭)服務器

效果圖:直接生成二維碼,掃碼後複製密碼直接鏈接微信

2.2.二、portal型app

(這裏生成的參數,代碼中須要配置)

注意官網提出:

(注意:簽名須從後臺傳遞(其實也能夠直接用JS的MD5加密))

注意:連接WIFI的URL不能在微信中打開,必須在瀏覽器中打開,而後點擊連接,會自動跳轉到微信)

 md5.js的連接:https://yunpan.cn/cqfjUBTjr634w  訪問密碼 85b6

<%
request.setAttribute("ctx", request.getContextPath());
%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="utf-8"%>
<!DOCTYPE HTML>
<html>
<head>
    <meta charset="UTF-8">
    <title>微信連Wi-Fi</title>
    <meta name="viewport" content="width=device-width, initial-scale=1" />
    <meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
    <meta name="apple-mobile-web-app-capable" content="yes">
    <meta name="apple-mobile-web-app-status-bar-style" content="black">
    <meta name="format-detection" content="telephone=no">
    <script type="text/javascript">
        /**
         * 微信連Wi-Fi協議3.1供運營商portal呼起微信瀏覽器使用
         */
        var loadIframe = null;
        var noResponse = null;
        var callUpTimestamp = 0;

        function putNoResponse(ev){
             clearTimeout(noResponse);
        }

         function errorJump()
         {
             var now = new Date().getTime();
             if((now - callUpTimestamp) > 4*1000){
                 return;
             }
             alert('該瀏覽器不支持自動跳轉微信請手動打開微信\n若是已跳轉請忽略此提示');
         }

         myHandler = function(error) {
             errorJump();
         };

         function createIframe(){
             var iframe = document.createElement("iframe");
             iframe.style.cssText = "display:none;width:0px;height:0px;";
             document.body.appendChild(iframe);
             loadIframe = iframe;
         }
        //註冊回調函數
        function jsonpCallback(result){
            if(result && result.success){
                //成功的回調函數
                alert('WeChat will call up : ' + result.success + '  data:' + result.data);
                var ua=navigator.userAgent;
                if (ua.indexOf("iPhone") != -1 ||ua.indexOf("iPod")!=-1||ua.indexOf("iPad") != -1) {   //iPhone
                    document.location = result.data;
                }else{

                    if('false'=='true'){
                        alert('[強制]該瀏覽器不支持自動跳轉微信請手動打開微信\n若是已跳轉請忽略此提示');
                        return;
                    }

                    createIframe();
                    callUpTimestamp = new Date().getTime();
                    loadIframe.src=result.data;
                    noResponse = setTimeout(function(){
                        errorJump();
                      },3000);
                }
            }else if(result && !result.success){
                alert(result.data);
            }
        }

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

            //將回調函數名稱帶到服務器端
            var url = "https://wifi.weixin.qq.com/operator/callWechatBrowser.xhtml?appId=" + appId
                                                                                + "&extend=" + extend
                                                                                + "&timestamp=" + timestamp
                                                                                + "&sign=" + sign;

            //若是sign後面的參數有值,則是新3.1發起的流程
            if(authUrl && shopId){
                url = "https://wifi.weixin.qq.com/operator/callWechat.xhtml?appId=" + appId
                                                                                + "&extend=" + extend
                                                                                + "&timestamp=" + timestamp
                                                                                + "&sign=" + sign
                                                                                + "&shopId=" + shopId
                                                                                + "&authUrl=" + encodeURIComponent(authUrl)
                                                                                + "&mac=" + mac
                                                                                + "&ssid=" + ssid
                                                                                + "&bssid=" + bssid;

            }

            //經過dom操做建立script節點實現異步請求
            var script = document.createElement('script');
            script.setAttribute('src', url);
            document.getElementsByTagName('head')[0].appendChild(script);
        }
    </script>
    <link rel="stylesheet" href="https://wifi.weixin.qq.com/resources/css/style-simple-follow.css"/>
</head>
<body>
<div>
    <div>
        <img src="https://wifi.weixin.qq.com/resources/images/background.jpg" alt=""/>
        <div></div>
        <div>
            <img src="https://wifi.weixin.qq.com/resources/images/t.weixin.logo.png" alt=""/>
            <p></p>
            <p>歡迎您</p>
        </div>
    </div>
    <div>
        <p>歡迎使用微信連Wi-Fi</p>
        <a onclick="callWechatBrowser()">一鍵打開微信連Wi-Fi</a>
    </div>
</div>
</body>
<script type="text/javascript" src="${ctx}/wifi/js/md5.js"></script>
<script type="text/javascript">
    var appId          = "appId";
    var secretkey      = "secretkey";
    var extend         = "curtain";       //開發者自定義參數集合
    var timestamp      = new Date().getTime();    //時間戳(毫秒)
    var shop_id        = "4544921";               //AP設備所在門店的ID
    var authUrl        = "外網URL";        //認證服務端URL
    var mac            = "A4:5E:60:28:82:8C";     //用戶手機mac地址 安卓設備必需
    var ssid           = "WXCURTAIN";         //AP設備信號名稱,非必須
    var bssid          = "18:67:B0:A8:BE:93";     //AP設備mac地址,非必須

    function callWechatBrowser(){
        var sign = hex_md5(appId + extend + timestamp + shop_id + authUrl + mac + ssid + bssid + secretkey);
        Wechat_GotoRedirect(appId, extend, timestamp, sign, shop_id, authUrl, mac, ssid, bssid);
    }
</script>

<script type="text/javascript">
    document.addEventListener('visibilitychange', putNoResponse, false);
</script>
</html>

效果圖:

注意:

聯網成功後能夠作些處理,好比髮卡券。紅包。作些推廣等等。可是目前只支持認證的公衆號(不然,未認證的只能是默認的歡迎頁面)

相關文章
相關標籤/搜索