mirror of
https://github.com/the1812/Bilibili-Evolved.git
synced 2025-11-04 21:22:45 +08:00
Change notifyNewVersion to define api
This commit is contained in:
parent
5678c19868
commit
fae9a7eeb3
@ -1,13 +1,12 @@
|
|||||||
import { cdnRoots } from '@/core/cdn-types'
|
import { cdnRoots } from '@/core/cdn-types'
|
||||||
import { ComponentMetadata, componentsTags } from '../types'
|
import { defineComponentMetadata } from '@/components/define'
|
||||||
|
import { componentsTags } from '../types'
|
||||||
|
|
||||||
export const component: ComponentMetadata = {
|
export const component = defineComponentMetadata({
|
||||||
name: 'notifyNewVersion',
|
name: 'notifyNewVersion',
|
||||||
displayName: '新版本提示',
|
displayName: '新版本提示',
|
||||||
description: '定期检查脚本本体的更新, 并弹出提示.',
|
description: '定期检查脚本本体的更新, 并弹出提示.',
|
||||||
tags: [
|
tags: [componentsTags.utils],
|
||||||
componentsTags.utils,
|
|
||||||
],
|
|
||||||
options: {
|
options: {
|
||||||
lastUpdateCheck: {
|
lastUpdateCheck: {
|
||||||
displayName: '最后检查更新日期',
|
displayName: '最后检查更新日期',
|
||||||
@ -28,19 +27,28 @@ export const component: ComponentMetadata = {
|
|||||||
const { getGeneralSettings } = await import('@/core/settings')
|
const { getGeneralSettings } = await import('@/core/settings')
|
||||||
const now = Number(new Date())
|
const now = Number(new Date())
|
||||||
const duration = now - options.lastUpdateCheck
|
const duration = now - options.lastUpdateCheck
|
||||||
if (duration < options.minimumDuration) { // 未到间隔期
|
if (duration < options.minimumDuration) {
|
||||||
|
// 未到间隔期
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
// 本地调试版不检查
|
// 本地调试版不检查
|
||||||
if (!GM_info.scriptUpdateURL) {
|
if (!GM_info.scriptUpdateURL) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
const updateUrl = `${cdnRoots[getGeneralSettings().cdnRoot](meta.compilationInfo.branch)}dist/${meta.originalFilename}`
|
const updateUrl = `${cdnRoots[getGeneralSettings().cdnRoot](
|
||||||
const scriptText: string = await monkey({ url: updateUrl, responseType: 'text' })
|
meta.compilationInfo.branch,
|
||||||
|
)}dist/${meta.originalFilename}`
|
||||||
|
const scriptText: string = await monkey({
|
||||||
|
url: updateUrl,
|
||||||
|
responseType: 'text',
|
||||||
|
})
|
||||||
options.lastUpdateCheck = Number(new Date())
|
options.lastUpdateCheck = Number(new Date())
|
||||||
const versionMatch = scriptText.match(/^\/\/ @version\s*([\d\.]+)$/m)
|
const versionMatch = scriptText.match(/^\/\/ @version\s*([\d.]+)$/m)
|
||||||
if (!versionMatch?.[1]) {
|
if (!versionMatch?.[1]) {
|
||||||
console.warn('[新版本提示] 未能检测出脚本版本, scriptText.length =', scriptText.length)
|
console.warn(
|
||||||
|
'[新版本提示] 未能检测出脚本版本, scriptText.length =',
|
||||||
|
scriptText.length,
|
||||||
|
)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
const latestVersion = new Version(versionMatch[1])
|
const latestVersion = new Version(versionMatch[1])
|
||||||
@ -48,9 +56,12 @@ export const component: ComponentMetadata = {
|
|||||||
if (!latestVersion.greaterThan(currentVersion)) {
|
if (!latestVersion.greaterThan(currentVersion)) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
Toast.info(/* html */`新版本 <span>${latestVersion.versionString}</span> 已发布. <a href="https://github.com/the1812/Bilibili-Evolved/releases" target="_blank" class="link">更新说明</a><a href="${updateUrl}" target="_blank" class="link">安装</a>`, '检查更新')
|
Toast.info(
|
||||||
|
/* html */ `新版本 <span>${latestVersion.versionString}</span> 已发布. <a href='https://github.com/the1812/Bilibili-Evolved/releases' target='_blank' class='link'>更新说明</a><a href='${updateUrl}' target='_blank' class='link'>安装</a>`,
|
||||||
|
'检查更新',
|
||||||
|
)
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.warn('[新版本提示] 检查更新时发生错误: ', error)
|
console.warn('[新版本提示] 检查更新时发生错误: ', error)
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
}
|
})
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user