Skip to content

Commit 6202ecd

Browse files
committed
修正本机档案拖拉安装时错误设置origin问题
1 parent f8e76e6 commit 6202ecd

1 file changed

Lines changed: 25 additions & 0 deletions

File tree

src/app/service/service_worker/script.ts

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -409,6 +409,31 @@ export class ScriptService {
409409
if (updatetime) {
410410
script.updatetime = updatetime;
411411
}
412+
// 拖拉安装等同本地创建脚本
413+
if (script.origin?.startsWith("file:///*from-local*/")) {
414+
script.origin = "";
415+
script.originDomain = "";
416+
script.downloadUrl = "";
417+
script.checkUpdateUrl = "";
418+
}
419+
// 处理 ScriptCat 旧版本进行安装时的 origin 错误 ( 1.2.x & 1.3.x & 1.4.x - 自 commit d9b0eeede1a8b114f79a43fade99d825323c63f6 @ 2025.07.23 )
420+
if (oldScript?.origin?.startsWith("file:///*from-local*/") || oldScript?.origin?.startsWith("file://-/")) {
421+
oldScript.origin = "";
422+
oldScript.originDomain = "";
423+
oldScript.downloadUrl = "";
424+
oldScript.checkUpdateUrl = "";
425+
}
426+
// 现存的脚本:以最初的安装(即creationtime)为标准
427+
if (oldScript && script.createtime === oldScript.createtime) {
428+
// 如果最初是从网络安装,之后拖拉安装本机档案,则保留origin资讯。用于更新检查。
429+
// 如果本机安装的版本号较低,则会在下次更新检查时提醒有更新。那个时候,用户可以选择更新至网络上最新版本,或忽略并保留本机版本
430+
if (oldScript && oldScript.origin && !script.origin) {
431+
script.origin = oldScript.origin;
432+
script.originDomain = oldScript.originDomain;
433+
script.downloadUrl = oldScript.downloadUrl;
434+
script.checkUpdateUrl = oldScript.checkUpdateUrl;
435+
}
436+
}
412437
return this.scriptDAO
413438
.save(script)
414439
.then(async () => {

0 commit comments

Comments
 (0)