liujihong 发布的文章

解决方法:使用onclone去除tr背景颜色

html_to_image2: function(ele,head) {
    html2canvas(ele,{
        onclone: function(clonedDoc) {
            // 在这里修改克隆的 DOM 元素
            clonedDoc.querySelectorAll('tr').forEach(function (item) {
                item.style.backgroundColor = 'transparent';
            });
        }
    }).then(canvas => {
        // 将 canvas 转换为图片并显示或下载
        document.body.appendChild(canvas); // 可选:在页面上显示 canvas
        $('canvas').hide();
        const imgData = canvas.toDataURL("image/png"); // 将 canvas 转换为图片数据URL
        const link = document.createElement('a'); // 创建一个链接元素来下载图片
        link.download = head + '.png'; // 设置下载文件名
        link.href = imgData; // 设置链接的 href 为图片数据URL
        link.click(); // 模拟点击以触发下载
    });
},

{
    name: 'view_one_btn',
    title: __('View'),
    classname: 'btn btn-xs btn-info btn-dialog',
    icon: 'fa fa-search-plus',
    extend:'data-toggle="tooltip" data-area=\'["1000px","700px"]\'',
    url: 'checking/task/view',
    hidden: function (row) {
        if(row['a.labels_num'] > 1){
            return false;
        }else{
            return true;
        }
    },
},

报错

Operation timed out after 3000 milliseconds with 0 bytes received

分析

定时任务插件里url类型用的是extend/fast/Http.phpsendRequest方法,里面有两个参数:
CURLOPT_CONNECTTIMEOUT
CURLOPT_TIMEOUT

解决方法

修改addon/crontab/library/CommandRunnable.php
将:

$ret = Http::sendRequest($url, $params, $method);

改为:

$options = [CURLOPT_CONNECTTIMEOUT => 10*60,CURLOPT_TIMEOUT => 10*60];
$ret = Http::sendRequest($url, $params, $method,$options);