const API = require("../../lib/API"); const { BaseStdResponse } = require("../../BaseStdResponse"); const VersionService = require("../../lib/DownloadVersionService"); class CheckClientVersion extends API { constructor() { super(); this.setPath('/Public/CheckClientVersion'); this.setMethod('GET'); this.noEncrypt(); } async onRequest(req, res) { const clientType = VersionService.normalizeClientType(req.query.client_type || req.query.clientType || req.query.platform); const versionName = req.query.version || req.query.version_name || req.query.edition_name || ""; const versionCode = req.query.version_code || req.query.versionCode || req.query.edition_number || 0; if (!clientType) return res.json({ ...BaseStdResponse.MISSING_PARAMETER, msg: 'client_type不能为空' }); try { const latest = await VersionService.getMatchedVersion(clientType, { version_name: versionName, version_code: versionCode }); return res.json({ ...BaseStdResponse.OK, data: VersionService.toPublicPayload(latest, { version_name: versionName, version_code: versionCode }) }); } catch (err) { this.logger.error(`检查客户端版本失败:${err.stack || err}`); return res.json({ ...BaseStdResponse.ERR, msg: '检查客户端版本失败' }); } } } module.exports.CheckClientVersion = CheckClientVersion;