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