util.js 2.37 KB
const yoho = require('yoho');
const interceptClick = require('common/intercept-click');
const Modal = require('common/modal');

const getImgHost = function(url, bucket = 'goodsimg') {
    let urlArr = url.split('/'),
        num = urlArr[urlArr.length - 1].substr(1, 1),
        domain = `static.yhbimg.com/${bucket}`;

    url = domain + url;
    if (num === '1') {
        return '//img11.' + url;
    } else {
        return '//img12.' + url;
    }
};

const visibilitychange = function() {
    document.addEventListener('visibilitychange', function() {
        if (yoho.isApp && !document.hidden) {
            yoho.showLoading(false);
        }
    });

};

const getImgUrl = function(src, width = 300, height = 300, mode = 2) {
    return src ? src.replace(/(\{width}|\{height}|\{mode})/g, function($0) {
        const dict = {
            '{width}': width,
            '{height}': height,
            '{mode}': mode || 2
        };

        return dict[$0];
    }).replace(/https?:/, '') + '/interlace/1' : '';
};

// 退换货 申请 成功, 打开 modal
const applySuccuss = function(type, applyId) {
    yoho.store.set('orderDetail', true);

    const config = {
        exchange: {
            name: '换货',
            detailUrl: `/me/return/exchange/detail/${applyId}`
        },
        refund: {
            name: '退货',
            detailUrl: `/me/return/refund/detail/${applyId}`
        }
    };
    const kind = config[type];
    const goStatusPage = function() {
        const header = Object.assign({}, interceptClick.defaultTitleMap[1]);

        header.left.action = location.origin + '/me/return';
        header.title.des = `${kind.name}状态`;
        return yoho.goNewPage({
            header: header,
            url: location.origin + kind.detailUrl,
            backThrough: '1'
        });
    };

    const modal = new Modal({
        styleClass: 'return-success-modal',
        title: `${kind.name}申请已提交,请等待审核.....`,
        buttons: [{
            text: '返回订单',
            handler: function() {
                this.hide();
                yoho.goBack();
            }
        }, {
            text: '查看进度',
            handler: function() {
                this.hide();
                goStatusPage();
            }
        }]
    });

    modal.show();
};

module.exports = {
    getImgHost,
    getImgUrl,
    applySuccuss,
    visibilitychange
};