Skip to content
  • 版块
  • 最新
  • 标签
  • 热门
  • 用户
  • 群组
皮肤
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • 默认(不使用皮肤)
  • 不使用皮肤
折叠
品牌标识

AIRIOT智慧系统搭建平台经验交流

  1. 主页
  2. 其他功能
  3. 翻牌器显示与脚本不通

翻牌器显示与脚本不通

已定时 已固定 已锁定 已移动 其他功能
帖子 发布者 浏览
  • 从旧到新
  • 从新到旧
  • 最多赞同
回复
  • 在新帖中回复
登录后回复
此主题已被删除。只有拥有主题管理权限的用户可以查看。
  • 平 离线
    平 离线
    平安喜乐
    编写 最后由 编辑
    #1

    ({
    // Update component parameters (更新组件参数)
    // outParams: External parameter configuration(外部参数配置)
    params: function(params, tool) {
    // params.test = "abc" // Parameters can be updated in the script(可以在脚本中更新参数)

    return params
    // return new Promise(...) //  Can return asynchronous methods (可以返回异步方法)
    

    },
    effect: function(params, tool) {
    let intervalId;
    let currentNumber = 788;

    function startInterval() {
    if (intervalId) {
    return;
    }

    intervalId = setInterval(() => {
        getDVariable().then(res => {
            let newNumber = res?.b || currentNumber;  
            if (newNumber !== currentNumber) {
                currentNumber = newNumber;  
            }
    
            currentNumber += 1;  
    
            addEditDVariable('b', currentNumber); 
        });
    }, 24 * 60 * 60 * 1000);  
    

    }

    startInterval();},
    })
    脚本现在是这样写的,应该是24小时进行一个加一,但是预览的时候基本6秒左右就会加1,这个是为什么

    1 条回复 最后回复
    0
  • Zhang书书Z 离线
    Zhang书书Z 离线
    Zhang书书
    编写 最后由 编辑
    #2
    此回复已被删除!
    1 条回复 最后回复
    0
  • Zhang书书Z 离线
    Zhang书书Z 离线
    Zhang书书
    编写 最后由 编辑
    #3

    应该是你写的这个脚本有问题,如果脚本没问题的话,组件肯定会按照定时器执行

    平 1 条回复 最后回复
    0
  • 平 离线
    平 离线
    平安喜乐
    回复了Zhang书书 最后由 编辑
    #4

    @Zhang书书 能帮忙看一下这个脚本的问题在哪里吗?

    1 条回复 最后回复
    0
  • Zhang书书Z 离线
    Zhang书书Z 离线
    Zhang书书
    编写 最后由 编辑
    #5

    ({
    // Update component parameters (更新组件参数)
    // outParams: External parameter configuration(外部参数配置)
    params: function(params, tool) {
    // params.test = "abc" // Parameters can be updated in the script(可以在脚本中更新参数)

    return params
    // return new Promise(...) // Can return asynchronous methods (可以返回异步方法)
    },
    effect: function(params, tool) {
    // 清除可能存在的旧定时器
    if (window.dailyIncrementTimer) {
    clearInterval(window.dailyIncrementTimer);
    window.dailyIncrementTimer = null;
    }

    let isRunning = false;
    
    // 执行定时任务
    async function executeTask() {
        if (isRunning) {
            console.log('任务正在执行中,跳过');
            return;
        }
    
        isRunning = true;
        console.log('开始执行递增任务...');
        
        try {
            // 获取数据库中的当前值
            const res = await getDVariable();
            const currentValue = res?.b || 788;
            
            console.log(`当前数据库中的值: ${currentValue}`);
            
            // 递增1
            const newValue = currentValue + 1;
            
            // 更新到数据库
            await addEditDVariable('b', newValue);
            
            console.log(`已更新为: ${newValue}`);
            
        } catch (error) {
            console.error('执行任务失败:', error);
        } finally {
            isRunning = false;
            console.log('任务执行完成');
        }
    }
    
    // 启动定时器,使用全局变量防止重复创建
    console.log('启动每日递增定时器');
    window.dailyIncrementTimer = setInterval(executeTask, 60 * 1000);
    

    }
    })

    1 条回复 最后回复
    0
  • Zhang书书Z 离线
    Zhang书书Z 离线
    Zhang书书
    编写 最后由 Zhang书书 编辑
    #6

    下次建议你们咨询一下ai,正常我们这边是不负责提供脚本的,后续如果需要我们这边提供脚本需要先联系一下销售

    1 条回复 最后回复
    0

  • 登录

  • 没有帐号? 注册

  • 登录或注册以进行搜索。
  • 第一个帖子
    最后一个帖子
0
  • 版块
  • 最新
  • 标签
  • 热门
  • 用户
  • 群组