脚本按页面维护,没有可编辑的项目级脚本文档。当前页逻辑放在 Page Script,跨页复用使用宿主 runtime 或模板。
- 页面逻辑放当前页 Page Script
- 跨页复用优先交给宿主 runtime 或模板
- 单页流程不应作为全局公共逻辑维护
function openAlarmPage() {
hqVisuDesigner.openPage("Alarm");
} 脚本入口决定运行时机和可用上下文。
脚本入口决定运行时机和可用上下文。
脚本按页面维护,没有可编辑的项目级脚本文档。当前页逻辑放在 Page Script,跨页复用使用宿主 runtime 或模板。
function openAlarmPage() {
hqVisuDesigner.openPage("Alarm");
} Page Script 处理当前页初始化、局部变量、数据整理、表格和交互逻辑。
window.hqVisuDesignerPageReady = function(ctx) {
var rows = window.tableRows || [];
hqVisuDesigner.setComponentText("RowCountText", String(rows.length));
}; Setup Script 读取 Tag、计算中间值,供 Condition、Value 或 Display Text 使用。旧配置名为 Definition;设备写入由点击行为触发。
var running = ReadTagInteger("PLC_LINE01.PUMP01.RUN", 0);
var alarm = ReadTagBoolean("PLC_LINE01.PUMP01.ALARM", false);
var ready = running === 1 && !alarm; Click Script 处理点击、跳页、写值和弹窗;Hover Script 处理悬停提示、预览和样式变化。页面初始化使用 Page Script。
// Click Script
hqVisuDesigner.openPage("Alarm");
// Hover Script -> Mouse Over
object.style.opacity = "0.75"; 表达式字段须同步返回布尔值、文本、颜色或数字。fetch、Promise 和定时器放在 Page Script、对象脚本或 hqVisuDesignerPageReady 中,将结果存入页面变量。设备写入由用户操作触发。
// Page Script
function pressureColor() {
var pressure = ReadTagDouble("PLC_LINE01.PUMP01.PRESSURE", 0);
return pressure > 8 ? "#dc2626" : "#16a34a";
}
// Script Color / Fill
pressureColor()
页面级逻辑优先放入 Page Script,避免分散在大量对象脚本中。
按钮或对象动作优先放点击脚本,职责会更清晰。
悬停类交互和提示行为更适合放在这里。