f28b5dc50a
Co-authored-by: Cursor <cursoragent@cursor.com>
37 lines
1.1 KiB
JavaScript
37 lines
1.1 KiB
JavaScript
import platform from '@/platform'
|
|
|
|
const pkg = require('../../../../package.json')
|
|
|
|
export function getFrontendVersion() {
|
|
return String((pkg && pkg.version) || '0.0.0').replace(/^v/i, '')
|
|
}
|
|
|
|
export function formatAppVersionLine(front, back) {
|
|
const f = String(front || '').replace(/^v/i, '') || '—'
|
|
const b = String(back || '').replace(/^v/i, '').trim() || '—'
|
|
return `DiscWorker V${f} 基于DiscProducer 核心V${b}`
|
|
}
|
|
|
|
export function loadBackendVersion() {
|
|
if (!(platform.hasNativeFs && platform.hasNativeFs())) {
|
|
return Promise.resolve('')
|
|
}
|
|
const root = platform.getAppRoot()
|
|
const candidates = [
|
|
platform.pathJoin(root, 'CardsoonServer', 'VERSION'),
|
|
platform.pathJoin(root, 'cardsoonServer', 'VERSION')
|
|
]
|
|
const tryRead = (i) => {
|
|
if (i >= candidates.length) return Promise.resolve('')
|
|
return platform.readFile(candidates[i], 'utf8')
|
|
.then((text) => String(text || '').trim().split(/\r?\n/)[0] || '')
|
|
.catch(() => tryRead(i + 1))
|
|
}
|
|
return tryRead(0)
|
|
}
|
|
|
|
export function loadAppVersionLine() {
|
|
const front = getFrontendVersion()
|
|
return loadBackendVersion().then((back) => formatAppVersionLine(front, back))
|
|
}
|