mirror of
https://github.com/kuaifan/dootask.git
synced 2025-12-13 12:02:51 +00:00
perf: 优化桌面端出现打开久之后访问错误的情况
This commit is contained in:
parent
f6d43c9f39
commit
0af967d6c9
8
electron/electron.js
vendored
8
electron/electron.js
vendored
@ -176,7 +176,8 @@ async function startWebServer(force = false) {
|
||||
loger.warn('Temporary file cleaned up by system:', err.path, req.url);
|
||||
|
||||
// 临时文件被系统清理,尝试从serverPublicDir重新读取并恢复
|
||||
const requestedFile = path.join(serverPublicDir, req.url === '/' ? '/index.html' : req.url);
|
||||
const requestedUrl = new URL(req.url, serverUrl);
|
||||
const requestedFile = path.join(serverPublicDir, requestedUrl.pathname === '/' ? '/index.html' : requestedUrl.pathname);
|
||||
try {
|
||||
// 检查文件是否存在于serverPublicDir
|
||||
fs.accessSync(requestedFile, fs.constants.F_OK);
|
||||
@ -191,9 +192,8 @@ async function startWebServer(force = false) {
|
||||
fs.writeFileSync(err.path, fs.readFileSync(requestedFile));
|
||||
|
||||
// 文件恢复成功后,301重定向到带__redirect参数的URL
|
||||
const redirectUrl = new URL(req.url, serverUrl);
|
||||
redirectUrl.searchParams.set('_dt_restored', Date.now());
|
||||
res.redirect(301, redirectUrl.toString());
|
||||
requestedUrl.searchParams.set('_dt_restored', Date.now());
|
||||
res.redirect(301, requestedUrl.toString());
|
||||
} catch (accessErr) {
|
||||
// 文件不存在于serverPublicDir,返回404
|
||||
loger.warn('Source file not found:', requestedFile, 'Error:', accessErr.message);
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user