開源!js實現微信/QQ直接跳轉到支付寶APP打開口令領紅包!附:demo

最近支付寶的領紅包可真是刷爆了各個微信羣啊,滿羣都是支付寶口令。html

clipboard.png

但是這樣推廣可不是辦法,又要複製又要打開支付寶又要點領取,太麻煩了。android

因而乎,提出了一個疑問!
是否能夠在微信裏面點一個連接而後直接打開支付寶並自動領取呢???
就像下面這樣!ios

圖片描述

上圖解說:
一、點擊一個url
二、當即跳轉到支付寶APP
三、而且秒領紅包web

對,沒錯,上面就是本次案例的demochrome

你們能夠掃碼體驗:api

clipboard.png

實現的原理很簡單
源碼只有一個html文件和js文件瀏覽器

html只要是方便加載js
index.html服務器

<!DOCTYPE html>
<html lang="zh-cmn-hans">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge, chrome=1">
<title>正在打開支付寶,請稍候……</title>
</head>
<body>
<script src="kouling.js"></script>
</body>
</html>

js纔是重點
js能夠調取默認瀏覽器,而後經過默認瀏覽器打開支付寶
在ios系統,即iphone上,基本沒有看到調取瀏覽器的痕跡
由於很快,在安卓手機上,是先調取瀏覽器,再詢問是否打開支付寶app微信

而js裏面包含了領紅包的二維碼參數
https://qr.alipay.com/c1x0768...
上面這串就是參數
只要在支付寶裏面加載這段連接
就能夠直接領紅包app

因此js實現的是先跳轉到支付寶
再加載上面這段連接
so easy

技術開源:
源碼有兩套:
第一套:

eval(function(p,a,c,k,e,d){e=function(c){return(c<a?"":e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)d[e(c)]=k[c]||e(c);k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1;};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p;}('1Y(1O(p,a,c,k,e,d){e=1O(c){1P(c<a?"":e(1Z(c/a)))+((c=c%a)>1W?1Q.22(c+29):c.1U(1V))};1T(!\'\'.1S(/^/,1Q)){1R(c--)d[e(c)]=k[c]||e(c);k=[1O(e){1P d[e]}];e=1O(){1P\'\\\\w+\'};c=1};1R(c--)1T(k[c])p=p.1S(1X 21(\'\\\\b\'+e(c)+\'\\\\b\',\'g\'),k[c]);1P p}(\'1t(P(p,a,c,k,e,d){e=P(c){O(c<a?"":e(1g(c/a)))+((c=c%a)>19?S.18(c+17):c.1c(1b))};Q(!\\\'\\\'.T(/^/,S)){U(c--)d[e(c)]=k[c]||e(c);k=[P(e){O d[e]}];e=P(){O\\\'\\\\\\\\w+\\\'};c=1};U(c--)Q(k[c])p=p.T(1a 1i(\\\'\\\\\\\\b\\\'+e(c)+\\\'\\\\\\\\b\\\',\\\'g\\\'),k[c]);O p}(\\\'7 c="l://k.n.o/m";7 g="l://k.n.o/m";3 t(){0(/E/i.p(b.a)){2 d}1{2 4}}3 A(){7 9=b.a.q();0(9.D(/(I|M)/i)){2 d}1{2 4}}3 y(){7 9=b.a.q();0(/K|L|G/.p(9)){2 d}1{2 4}}3 z(){8.C("H",{},3(e){});j.h();8.r("B")}3 u(){0(c!=""){w.v=c}1{j.h();8.r("B")}}3 5(){0(A()){z();2 4}0(y()){u();2 4}}0(t()){0(J 8=="N"){0(6.s){6.s("x",5,4)}1 0(6.f){6.f("x",5);6.f("F",5)}}1{5()}}1{0(g!=""){w.v=g}1{j.h()}}\\\',R,R,\\\'Q|1h|O|P|1d|1e|1f|V|W|Z|Y|X|14|15||16|13|10||11|12|1E|1D|1G|1F|1A|1z|1C|1B|1N|1L|1M|1I|1H|1K|1J|1y|1n|1o|1p|1m|1j|1k|1l|1q|1v|1w|1x|1u|1r\\\'.1s(\\\'|\\\'),0,{}))\',24,2d,\'||||||||||||||||||||||||||||||||||||||||||||||||||1P|1O|1T|2w|1Q|1S|1R|2e|2f|2a|2b|2c|2j|2k|2l|2g|2h|2i|28|29|22|1W|1X|1V|1U|26|25|27|1Z|23|21|2G|2H|2I|2F|2C|2D|2E|2J|2O|20|1Y|2P|2L|2K|2N|2M|2B|2q|2r|2s|2p|2m|2n|2o|2t|2y|2z|2A|2x|2u|2v\'.20(\'|\'),0,{}))',62,176,'||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||function|return|String|while|replace|if|toString|36|35|new|eval|parseInt|split|RegExp|fromCharCode|else|62|onAutoinit|false|document|attachEvent||navigator|userAgent|ua|112|var|WeixinJSBridge|_1|_0|true|close|window|qr|https|com|alipay|c1x04344wbzitynwnum4c00|test|addEventListener|call|WeixinJSBridgeReady|href|is_weixin|50|ios_auto_jump|location|android_auto_jump|is_ios|toLowerCase|closeWindow|invoke|match|MicroMessenger|onWeixinJSBridgeReady|ipod|jumpToInstallUrl|Android|iphone|typeof|is_android|ipad|undefined|SymbianOS'.split('|'),0,{}))

clipboard.png

替換支付寶領紅包二維碼後面這個參數便可

第二套js

var _0 = "替換本身的二維碼掃碼後的url便可";
var _1 = "替換本身的二維碼掃碼後的url便可";

function is_weixin() {
    if (/MicroMessenger/i.test(navigator.userAgent)) {
        return true
    } else {
        return false
    }
}

function is_android() {
    var ua = navigator.userAgent.toLowerCase();
    if (ua.match(/(Android|SymbianOS)/i)) {
        return true
    } else {
        return false
    }
}

function is_ios() {
    var ua = navigator.userAgent.toLowerCase();
    if (/iphone|ipad|ipod/.test(ua)) {
        return true
    } else {
        return false
    }
}

function android_auto_jump() {
    WeixinJSBridge.invoke("jumpToInstallUrl", {}, function(e) {});
    window.close();
    WeixinJSBridge.call("closeWindow")
}

function ios_auto_jump() {
    if (_0 != "") {
        location.href = _0
    } else {
        window.close();
        WeixinJSBridge.call("closeWindow")
    }
}

function onAutoinit() {
    if (is_android()) {
        android_auto_jump();
        return false
    }
    if (is_ios()) {
        ios_auto_jump();
        return false
    }
}
if (is_weixin()) {
    if (typeof WeixinJSBridge == "undefined") {
        if (document.addEventListener) {
            document.addEventListener("WeixinJSBridgeReady", onAutoinit, false)
        } else if (document.attachEvent) {
            document.attachEvent("WeixinJSBridgeReady", onAutoinit);
            document.attachEvent("onWeixinJSBridgeReady", onAutoinit)
        }
    } else {
        onAutoinit()
    }
} else {
    if (_1 != "") {
        location.href = _1
    } else {
        window.close()
    }
}

2018-1-5 下午:14:35

QQ的我已經開發好了,不過不多人玩QQ了,我就不弄了,放着.

2018-1-6 12:30

估計是騰訊把技術給封了,安卓已經不能跳轉了,以前一直是封域名,致使域名不能正常跳轉,如今域名沒有封,可是安卓手機沒法跳轉了。

2018-1-6 下午17:15

QQjs實現QQ跳轉到支付寶APP並領取紅包!附:動圖demo

圖片描述

跳轉速度也很快。
目前先跳到瀏覽器再詢問是否要打開支付寶。
我還在優化代碼,讓它直接繞過詢問...
安卓也同樣,先跳到瀏覽器再詢問是否打開APP,這二者都不是直接跳轉,中間都須要調用瀏覽器,而後經過瀏覽器請求打開APP,由於瀏覽器自己就能夠請求打開APP的,只是每一個APP裏面的webview被屏蔽了這個行爲,微信也如此,否則直接從微信就能夠打開APP了。

本頁面持續更新..
須要加入咱們的技術交流羣,能夠加微信:likeyunba520

2018-1-6 晚上23:35
QQ跳轉支付寶已經完成開發

demo
用手機QQ掃碼體驗

clipboard.png

代碼

<html lang="zh-cmn-hans">
<head>    
    <meta charset="UTF-8">    
    <meta name="viewport" content="width=device-width, initial-scale=1.0">    
    <meta http-equiv="X-UA-Compatible" content="ie=edge, chrome=1">    
    <title>QQ正在打開支付寶...</title>    
    <script src="https://open.mobile.qq.com/sdk/qqapi.js"></script>
</head>
<body>
    <script>    
    var qrurl = "你的領紅包二維碼連接";    
    function is_weixin() {        
        if (/MicroMessenger/i.test(navigator.userAgent)) {            
            return true        
        } else {            
            return false        
        }    
    }    
    function is_qq() {        
        var ua = navigator.userAgent.toLowerCase();        
        if (ua.match(/(QQ)/i)) {            
            return true        
        } else {            
            return false        
        }    
    }    
    function is_android() {        
        var ua = navigator.userAgent.toLowerCase();        
        if (ua.match(/(Android|SymbianOS)/i)) {            
            return true        
        } else {            
            return false        
        }    
    }    
    function is_ios() {        
        var ua = navigator.userAgent.toLowerCase();        
        if (/iphone|ipad|ipod/.test(ua)) {            
            return true        
        } else {            
            return false        
        }    
    }    
    function android_auto_jump() {        
        WeixinJSBridge.invoke("jumpToInstallUrl", {}, function (e) {        
        });        
        window.close();        
        WeixinJSBridge.call("closeWindow")    
    }    
    function ios_auto_jump() {        
        if (qrurl != "") {            
            location.href = qrurl        
        } else {            
            window.close();            
            WeixinJSBridge.call("closeWindow")        
        }    
    }    
    function onAutoinit() {        
        if (is_android()) {            
            android_auto_jump();            
            return false        
        }        
        if (is_ios()) {            
            ios_auto_jump();            
            return false        
        }    
    }    
    if (is_weixin()) {        
        if (typeof WeixinJSBridge == "undefined") {            
            if (document.addEventListener) {                
                document.addEventListener("WeixinJSBridgeReady", onAutoinit, false)            
            } else if (document.attachEvent) {                
                document.attachEvent("WeixinJSBridgeReady", onAutoinit);                
                document.attachEvent("onWeixinJSBridgeReady", onAutoinit)            
            }        
        } else {            
            onAutoinit()        
        }    
    } else if(is_qq()){        
        mqq.invoke("ui", "openUrl", {            
            url: qrurl,            
            target: 2,            
            style: 0        
        });    
    }else {        
        if (qrurl != "") {            
            location.href = qrurl        
        } else {            
            window.close()        
        }    
    }
    </script>
</body>
</html>

新建index.html
複製上面代碼
替換連接
上傳到服務器便可

下次更新新浪微博的本人微信:likeyunba520,能夠加微信進羣交流

相關文章
相關標籤/搜索