Skip to content

Commit 144dc25

Browse files
cyfung1031CodFrm
andauthored
🐛 修正本机档案拖拉安装时错误设置origin问题 (#1371)
* 修正本机档案拖拉安装时错误设置origin问题 * 注释修正 * ♻️ 简化 origin 处理逻辑:合并脏前缀过滤与 createtime 回填条件 --------- Co-authored-by: 王一之 <yz@ggnb.top>
1 parent f8e76e6 commit 144dc25

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+
// 现存的脚本:以最初的安装(即 createtime)为标准,回填 origin 用于更新检查。
420+
// 如果最初是从网络安装,之后拖拉安装本机档案,则保留 origin 资讯。
421+
// 如果本机安装的版本号较低,则会在下次更新检查时提醒有更新。那个时候,用户可以选择更新至网络上最新版本,或忽略并保留本机版本。
422+
// 跳过 ScriptCat 旧版本 (1.0.0-beta.2 ~ 1.4.x,自 commit d9b0eeede1a8b114f79a43fade99d825323c63f6 @ 2025.07.23)
423+
// 误写入的 file:///*from-local*/ 与 file://-/ 前缀
424+
if (
425+
oldScript &&
426+
script.createtime === oldScript.createtime &&
427+
oldScript.origin &&
428+
!script.origin &&
429+
!oldScript.origin.startsWith("file:///*from-local*/") &&
430+
!oldScript.origin.startsWith("file://-/")
431+
) {
432+
script.origin = oldScript.origin;
433+
script.originDomain = oldScript.originDomain;
434+
script.downloadUrl = oldScript.downloadUrl;
435+
script.checkUpdateUrl = oldScript.checkUpdateUrl;
436+
}
412437
return this.scriptDAO
413438
.save(script)
414439
.then(async () => {

0 commit comments

Comments
 (0)