插件生命周期挂钩

Aura SL5 支持生命周期挂钩,允许插件(地图)在状态更改时自动执行特定逻辑。

on_reload() 钩子

on_reload() 函数是一个特殊的可选函数,您可以在任何插件映射 (.py) 中定义它。

### 行为

  • **触发:该函数在模块成功热重载(检测到文件更改+语音触发)后立即执行。

  • 上下文: 它在主应用程序流程中运行。

  • 范围: 在系统初始启动(冷启动)期间执行。它严格适用于重新加载场景。

用例

  • 安全性: 编辑后自动重新加密或重新压缩敏感文件。

  • 状态管理: 重置全局计数器或清除特定缓存。

  • 通知: 记录特定的调试信息以验证更改是否已应用。

技术细节和安全

  • 错误处理: 执行被包装在 try/ except 块中。如果你的on_reload函数崩溃了(例如,DivisionByZero),它会记录一个错误(❌执行on_reload时出错...),但不会使Aura崩溃

  • 性能: 函数同步运行。避免直接在此功能中执行长时间运行的任务(如大型下载),因为它们会短暂阻止语音命令处理。对于繁重的任务,生成一个线程。

示例代码

代码_块_0