判断exe如果有启动参数则不自动打开默认浏览器,继续为修改为http协议做准备

This commit is contained in:
nonameShijian 2024-01-29 17:30:41 +08:00
parent 35cf886018
commit 195967b2a1
4 changed files with 31 additions and 33 deletions

View File

@ -1,24 +1,5 @@
/*
const module = import('../noname.js');
module.then(({ ai, game, get, lib, _status, ui, boot }) => {
const coreAndVersion = get.coreInfo();
const core = coreAndVersion[0], version = coreAndVersion[1];
if (core === 'chrome' && !isNaN(version) && version < 77) {
const tip = '检测到您的浏览器内核版本小于77请及时升级浏览器或手机webview内核';
console.warn(tip);
game.print(tip);
const redirect_tip = '您使用的浏览器或无名杀客户端内核版本过低,将在未来的版本被废弃!\n点击“确认”以前往GitHub下载最新版无名杀客户端可能需要科学上网。';
if (confirm(redirect_tip)) {
window.open('https://github.com/libccy/noname/releases/tag/chromium77-client');
}
}
boot().then(lib.other.ignore);
});
*/
import { game, get, lib, boot } from "../noname.js"; import { game, get, lib, boot } from "../noname.js";
// import { canUseHttpProtocol } from "../noname/init/index.js"; import { canUseHttpProtocol } from "../noname/init/index.js";
import { userAgent } from "../noname/util/index.js"; import { userAgent } from "../noname/util/index.js";
const coreAndVersion = get.coreInfo(); const coreAndVersion = get.coreInfo();
@ -34,20 +15,17 @@ if (core === 'chrome' && !isNaN(version) && version < 77) {
} }
// 判断是否从file协议切换到http/s协议 // 判断是否从file协议切换到http/s协议
// if (canUseHttpProtocol()) { if (canUseHttpProtocol()) {
/* /*
升级方法: 升级方法:
1. 导出数据然后以http/s协议重启 1. 导出数据然后以http/s协议重启
2. 以http/s协议导入数据 2. 以http/s协议导入数据
3. 保存http/s协议的状态以后不再以file协议启动 3. 保存http/s协议的状态以后不再以file协议启动
升级方法二:
1. app默认以http/s协议启动发现没有数据后以file协议重启
2. 以file协议导出数据
3. 以http/s协议重启导入数据
*/ */
// 导出数据到根目录的noname.config.txt // 导出数据到根目录的noname.config.txt
// 成功导入后应删除noname.config.txt // 成功导入后应删除noname.config.txt
// } else {
boot().then(lib.other.ignore); boot().then(lib.other.ignore);
// } } else {
boot().then(lib.other.ignore);
}

View File

@ -86,6 +86,23 @@ new Promise(resolve => {
exit() exit()
} }
else { else {
// 在http环境下修改__dirname
if (location.protocol.startsWith('http') &&
typeof window.require == 'function' &&
typeof window.process == 'object' &&
typeof window.__dirname == 'string' &&
window.__dirname.endsWith('electron.asar\\renderer')) {
const path = require('path');
window.__dirname = path.join(path.resolve(), 'resources/app');
// @ts-ignore
window.require = function (moduleId) {
try {
return module.require(moduleId);
} catch {
return module.require(path.join(window.__dirname, moduleId));
}
};
}
const script = document.createElement('script') const script = document.createElement('script')
script.type = "module"; script.type = "module";
script.src = `${assetURL}game/entry.js`; script.src = `${assetURL}game/entry.js`;

Binary file not shown.

View File

@ -30,11 +30,14 @@ export function canUseHttpProtocol() {
} }
// 电脑端 // 电脑端
else if (typeof window.require == 'function' && typeof window.process == 'object') { else if (typeof window.require == 'function' && typeof window.process == 'object') {
try { // 从json判断版本号
require('express'); const fs = require('fs');
return true; const path = require('path');
} catch { if (fs.existsSync(path.join(__dirname, 'package.json'))) {
return false; // @ts-ignore
const json = require('./package.json');
// 诗笺电脑版的判断
return json && Number(json.installerVersion) >= 1.7;
} }
} }
// 浏览器端 // 浏览器端