86 lines
2.4 KiB
Plaintext
86 lines
2.4 KiB
Plaintext
|
import win.ui;
|
|||
|
|
|||
|
/*
|
|||
|
|
|||
|
载入配置,配置文件读取顺序,后读的可以覆盖先读的值。
|
|||
|
1. 读取当前路径下的 config.json
|
|||
|
2. 读取 %APPDATA%/%app% 路径下的 config.json。其中 %APPDATA% 为操作系统提供的当前用户软件目录。
|
|||
|
%app% 为当前路径下的 config.json 中配置的 app
|
|||
|
|
|||
|
*/
|
|||
|
gConfig = {}
|
|||
|
// 使用示例
|
|||
|
try {
|
|||
|
gConfig = loadConfigs()
|
|||
|
console.log(configs);
|
|||
|
} catch (e) {
|
|||
|
console.error(e.message);
|
|||
|
}
|
|||
|
|
|||
|
/*DSG{{*/
|
|||
|
mainForm = win.form(text="awin";right=759;bottom=469)
|
|||
|
mainForm.add()
|
|||
|
/*}}*/
|
|||
|
|
|||
|
import web.view;
|
|||
|
var theView = web.view(mainForm);
|
|||
|
|
|||
|
//导出为 JavaScript 中的 aardio 对象
|
|||
|
theView.external = {
|
|||
|
onCounterUpdate = function(name,value){
|
|||
|
if(name!==null && value!==null){
|
|||
|
return "aardio 返回的值:网页中 React 状态值改变了:value:"+value;
|
|||
|
}
|
|||
|
};
|
|||
|
}
|
|||
|
|
|||
|
import wsock.tcp.simpleHttpServer;
|
|||
|
/*
|
|||
|
如果导入 simpleHttpServer,则单个斜杠开头的路径会转换为嵌入式 HTTP 地址,
|
|||
|
如果同时文件名为 index.html ,则上级目录自动设为根目录,前端应用发布根目录使用默认的 "/" 即可,不需要改动。
|
|||
|
|
|||
|
去掉下面的前端项目调试端口号 37151 或发布 EXE 后运行才会打开 "\web\index.html"。
|
|||
|
否则打开 http://localhost:37151
|
|||
|
*/
|
|||
|
theView.go("\web\index.html",37151);
|
|||
|
|
|||
|
mainForm.show();
|
|||
|
win.loopMessage();
|
|||
|
|
|||
|
|
|||
|
// 配置载入函数
|
|||
|
function loadConfigs() {
|
|||
|
var configs = {};
|
|||
|
var currentPath = file.dir();
|
|||
|
var appDataPath = env.get("APPDATA");
|
|||
|
|
|||
|
// 读取当前路径下的 config.json
|
|||
|
var currentConfigPath = file.path(currentPath, "config.json");
|
|||
|
if (file.exists(currentConfigPath)) {
|
|||
|
var currentConfigContent = file.read(currentConfigPath);
|
|||
|
configs = json.parse(currentConfigContent);
|
|||
|
}
|
|||
|
|
|||
|
// 从当前路径下的 config.json 中读取 app 值
|
|||
|
var appValue = configs.app;
|
|||
|
if (!appValue) {
|
|||
|
error("'app' value not found in the config file.");
|
|||
|
}
|
|||
|
|
|||
|
// 构建 %APPDATA%/%app% 路径
|
|||
|
var appDataConfigPath = file.path(appDataPath, appValue, "config.json");
|
|||
|
|
|||
|
// 读取 %APPDATA%/%app% 路径下的 config.json
|
|||
|
if (file.exists(appDataConfigPath)) {
|
|||
|
var appDataConfigContent = file.read(appDataConfigPath);
|
|||
|
var appDataConfig = json.parse(appDataConfigContent);
|
|||
|
|
|||
|
// 合并配置,后读取的覆盖先读取的
|
|||
|
object.merge(configs, appDataConfig, true);
|
|||
|
}
|
|||
|
|
|||
|
return configs;
|
|||
|
}
|
|||
|
|
|||
|
|