AnyMath 文档
Notebook

从Engee应用程序管理模型

此示例演示如何从交互式应用程序向Engee计算核心发送命令。

程序执行

我们的程序将执行一个非常简单的任务:运行一个开放的模型来执行。

以下命令允许您启动应用程序:

In [ ]:
genie_app = engee.genie.start("$(@__DIR__)/app.jl", log_file="log.txt");
display("text/html", """<a href="$(string(genie_app.url))" target="_blank" rel="noopener noreferrer">在单独的窗口中打开</a>""")

此链接将允许您在单独的浏览器中打开应用程序(例如,在智能手机上),并且该链接在服务器运行时保持不变,这允许您从收藏夹面板或作为单独的web应

如果您需要停止应用程序,例如重新启动或用于调试目的,请取消注释并执行以下代码:

In [ ]:
# engee.genie.stop("$(@__DIR__)/app.jl");

用户可以使用以下类型的控制面板:

应用程序操作说明

用于将命令发送到Engee核心,在文件中 app.jl 行响应:

engee.eval("engee.run()")

此示例演示如何从"外部"应用程序在主Engee核心上执行代码,而代码可以是任何内容。

Screenshot From 2025-10-02 00-11-32.png

简化的应用程序代码

在这个应用程序中有很多格式,但是如果你删除了元素的所有标记和定位,那么我们将有一个相当清晰的模板示例。:

using Engee, GenieFramework

@app begin
    @out message = ""
    @in press_btn = false
    
    @onbutton press_btn begin
        try
            engee.eval("""engee.run()""")
            message = "Команда выполнена успешно! Модель запущена."
        catch e
            message = "Ошибка: $e"
        end
    end
end

function ui()
    [
        h5("Специальная кнопка для запуска модели"),
        h6("model_1.engee"),
        btn("🚀 ПУСК", @click(:press_btn))
    ]
end

@page("/", ui)

反应式数据模型的一个部分可以区分(@app)和带有用户界面元素的界面标记(ui(()).

结论

通过适当的代码设计和符合Engee应用程序的标准语法,可以在Engee平台上创建非常复杂的工具,允许您创建,运行模型和分析结果。