聚合掃碼方案:判斷掃碼的客戶端是微信還是支付寶

今天突然想到一個聚合二維碼,微信和支付寶不同客戶端掃能拉起不同的支付頁面/或效果.看到網上基本上都是使用判斷user-agent進行判斷,可以使用前端/後端進行判斷.

1.下面是前端JS僞代碼示例:

//頁面加載執行代碼段
window.onload = function(){
    var ua = window.navigator.userAgent;
    if ( ua.indexOf('MicroMessenger') != -1 ) {
        alert('wechatClient');
    } else if (ua.indexOf('AlipayClient') != -1) {
        alert('aliClient');
    } else { 
        alert('other');
        alert(ua);
    }
}

2. 使用後端Java的僞代碼示例:

    @RequestMapping(value="getUserAgent")
    @ResponseBody
    public String getUserAgent(HttpServletRequest request){
        //獲取header中的屬性
        String userAgent = request.getHeader("user-agent");
        if (userAgent != null && userAgent.contains("AlipayClient")) {
            return "AliPay";
        }else if (userAgent != null && userAgent.contains("MicroMessenger")) {
            return "WeChat";
        }else{
            return "Other";
        }
    }

--------摸着石頭過河的我,還在路上

發佈了11 篇原創文章 · 獲贊 22 · 訪問量 4萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章