CheckClientVersion.js 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. const API = require("../../lib/API");
  2. const { BaseStdResponse } = require("../../BaseStdResponse");
  3. const VersionService = require("../../lib/DownloadVersionService");
  4. class CheckClientVersion extends API {
  5. constructor() {
  6. super();
  7. this.setPath('/Public/CheckClientVersion');
  8. this.setMethod('GET');
  9. this.noEncrypt();
  10. }
  11. async onRequest(req, res) {
  12. const clientType = VersionService.normalizeClientType(req.query.client_type || req.query.clientType);
  13. const versionName = req.query.version || req.query.version_name || "";
  14. const versionCode = req.query.version_code || req.query.versionCode || 0;
  15. if (!clientType)
  16. return res.json({ ...BaseStdResponse.MISSING_PARAMETER, msg: 'client_type不能为空' });
  17. try {
  18. const latest = await VersionService.getLatestVersion(clientType);
  19. return res.json({
  20. ...BaseStdResponse.OK,
  21. data: VersionService.toPublicPayload(latest, {
  22. version_name: versionName,
  23. version_code: versionCode
  24. })
  25. });
  26. } catch (err) {
  27. this.logger.error(`检查客户端版本失败:${err.stack || err}`);
  28. return res.json({ ...BaseStdResponse.ERR, msg: '检查客户端版本失败' });
  29. }
  30. }
  31. }
  32. module.exports.CheckClientVersion = CheckClientVersion;