sessionStroage实现下载限制功能

192 阅读1分钟

通过sessionStroage来记录下载文件的时间,实现少于一段时间不能下载的功能

//sessionId = url 作为ID值,每个导出都是不同的url;

    let sessionId = window.currentUrl;
    //getT是上次点击时记录的时间;nowT是现在点击的时间;两者比较
    let getT = window.sessionStorage.getItem(sessionId);
    let nowT = new Date().getTime();
    if ((nowT - getT) / 1000 / 60 < 2) {
        layer.msg('请勿频繁操作(2分钟内)')
        return false;
    } else {
        if (url && typeof url == 'string') {
            typeof data == 'boolean' ? (openWindow = data) :
                typeof data === 'object' && (url += '?' + $.param(data) || '');
            openWindow === false ? window.open(url) : (window.location.href = url);
        }
        window.sessionStorage.setItem(sessionId, nowT);
    }