Files
SoonWorkerD/src/renderer/utils/console/appVersion.js
T

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))
}