mobile-check.js 905 Bytes
/**
 * 手机访问检测
 */
'use strict';
module.exports = () => {
    return (req, res, next) => {
        let isMobile = /(nokia|iphone|android|ipad|motorola|^mot\-|softbank|foma|docomo|kddi|up\.browser|up\.link|htc|dopod|blazer|netfront|helio|hosin|huawei|novarra|CoolPad|webos|techfaith|palmsource|blackberry|alcatel|amoi|ktouch|nexian|samsung|^sam\-|s[cg]h|^lge|ericsson|philips|sagem|wellcom|bunjalloo|maui|symbian|smartphone|midp|wap|phone|windows ce|iemobile|^spice|^bird|^zte\-|longcos|pantech|gionee|^sie\-|portalmmm|jig\s browser|hiptop|^ucweb|^benq|haier|^lct|opera\s*mobi|opera\*mini|320x320|240x320|176x220)/i.test(req.get('user-agent')); // eslint-disable-line

        if (isMobile) {
            req.url = req.url.replace(/^\/product\/p([\d]+).html(.*)/, '/product/pro_$1_1/1.html$2');
            return res.redirect(`//m.yohobuy.com${req.url}`);
        }

        next();
    };
};