File tree Expand file tree Collapse file tree
src/app/service/service_worker Expand file tree Collapse file tree Original file line number Diff line number Diff 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 ( ) => {
You can’t perform that action at this time.
0 commit comments