From e38b19c8efc61f625c76000367471f9583c41233 Mon Sep 17 00:00:00 2001 From: Crimson Date: Mon, 11 Dec 2023 22:55:49 +0800 Subject: [PATCH] =?UTF-8?q?=E9=87=8D=E6=96=B0=E6=95=B4=E7=90=86=E4=BB=93?= =?UTF-8?q?=E5=BA=93?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 4 + checksum.lzma => .update-files/checksum.lzma | Bin .../files}/SimpleNotes-aar.exe.lzma | Bin version.txt => .update-files/version.txt | 0 default.aproj | 6 + lib/config.aardio | 17 + main.aardio | 291 ++++++++++++++++++ 7 files changed, 318 insertions(+) create mode 100644 .gitignore rename checksum.lzma => .update-files/checksum.lzma (100%) rename {files => .update-files/files}/SimpleNotes-aar.exe.lzma (100%) rename version.txt => .update-files/version.txt (100%) create mode 100644 default.aproj create mode 100644 lib/config.aardio create mode 100644 main.aardio diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..1e892b7 --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +/.build/ +dist/ +.build/default.init.aardio +.build/mp.lock \ No newline at end of file diff --git a/checksum.lzma b/.update-files/checksum.lzma similarity index 100% rename from checksum.lzma rename to .update-files/checksum.lzma diff --git a/files/SimpleNotes-aar.exe.lzma b/.update-files/files/SimpleNotes-aar.exe.lzma similarity index 100% rename from files/SimpleNotes-aar.exe.lzma rename to .update-files/files/SimpleNotes-aar.exe.lzma diff --git a/version.txt b/.update-files/version.txt similarity index 100% rename from version.txt rename to .update-files/version.txt diff --git a/default.aproj b/default.aproj new file mode 100644 index 0000000..091ee14 --- /dev/null +++ b/default.aproj @@ -0,0 +1,6 @@ + + + + + + diff --git a/lib/config.aardio b/lib/config.aardio new file mode 100644 index 0000000..5da06a0 --- /dev/null +++ b/lib/config.aardio @@ -0,0 +1,17 @@ +//config 配置文件 +import fsys.config; +config = fsys.config("/config/"); +//config = fsys.config( io.appData("/软件作者/应用程序名/") ); + +//不需要序列化的配置名字前请添加下划线 +namespace config { + __appName = "应用程序名"; + __website = "http://www.aardio.com/"; +} + +/**intellisense(config) +__appName = 应用程序名 +__website = 官方网站 +saveAll() = 写入所有配置到文件 +? = 获取值时指定不以下划线开始的配置表名称,\n返回一个可自动序列化到同名配置文件的表对象。\n如果此对象名以下划线开始,则可以正常读写值不会序列化为配置文件。\n否则不能对此对象直接赋值,只能对配置表对象的成员赋值。\n\n配置表可自动自文件加载,退出线程前自动序列化并存入文件。\n仅序列化以字符串、数值为键的元素,\n仅序列化值为字符串、数值、buffer 以及定义了 _serialize 元方法的成员。\n循环引用的值转换为 null,序列化时忽略成员函数\n!fsys_table. +end intellisense**/ \ No newline at end of file diff --git a/main.aardio b/main.aardio new file mode 100644 index 0000000..4227099 --- /dev/null +++ b/main.aardio @@ -0,0 +1,291 @@ +//无边框窗口 +import win.ui; +/*DSG{{*/ +var winform = win.form(text="Edge 浏览器控件 - web.view";right=759;bottom=469;border="none") +winform.add() +/*}}*/ + +import fsys.update.simpleMain; +if( fsys.update.simpleMain( + "SimpleNotes-aar", + "https://begin2019.com:3000/OTAHub/SimpleNotes-aar/raw/branch/main/version.txt", /*网址也可以改用目录名,并使用服务端代码动态返回version.txt*/ + "/download/update-files", /*绿色软件建议改为 io.appData("/软件厂商名/软件名字/update-files") */ + function(version,description,status){ + /* + version参数包含最新版本号, + description包含最新版本更新说明, + status参数值见下面的列表: + "ready": 下载已完成并准备更新, + "updated": 已更新到新版本并准备启动新版 + "complete": 当前已更新并已启动新版本主程序,所有操作已完成 + "latest": 已经是最新版不需要更新 + "failed": 出错了,description参数为错误信息 + + 这个回调函数不是必须的, + 在此检测更新代码之前或之后都可以在界面线程调用 + fsys.update.simpleMain.onStatusChanged 订阅更新状态变更信息。 + 该认阅回调函数的参数与上面的回调参数相同。 + */ + winform.msgbox(version); + winform.msgbox(description); + winform.msgbox(status); + } )){ + return 0; //必须退出 main.aardio 以启动更新 +} + +import web.view; +var wb = web.view(winform); + +//导出为 Javascript 中的 aardio 对象 +wb.external = { + close = function(){ + winform.close(); + }; + hitCaption = function(){ + winform.hitCaption(); + }; + hitMin = function(){ + winform.hitMin(); + }; + hitMax = function(){ + return winform.hitMax(); + }; + upgrade = function(){ + fsys.update.simpleMain.checkUpdate(true); + } +} + +// wb.go("/res/index.html"); //直接打开资源目录下的文件 +wb.html = /** + + + + + + + + + + +
+
SimpleNotes
+
+ + + + +
+
+
+
+ +
    +
    +
    + + + + +**/ + +//添加阴影边框 +import win.ui.shadow; +win.ui.shadow(winform); + +//设置窗口缩放范围 +import win.ui.minmax; +win.ui.minmax(winform); + +//切换最大化、还原按钮 +winform.adjust = function( cx,cy,wParam ) { + if( wParam == 0x2/*_SIZE_MAXIMIZED*/ ){ + wb.doScript(`document.getElementById("max-btn").innerText="2";`) + } + elseif( wParam == 0x0/*_SIZE_RESTORED*/ ){ + wb.doScript(`document.getElementById("max-btn").innerText="1";`) + } +}; + +winform.show(); +win.loopMessage(); \ No newline at end of file