Files
crawler-plugin/backend/blueprints/version.py
T

42 lines
1.3 KiB
Python

"""
版本公开 API 蓝图:当前版本、最新版本下载链接
"""
import os
from flask import Blueprint, jsonify, current_app
from utils.db import get_db
version_bp = Blueprint('version', __name__, url_prefix='/api')
@version_bp.route('/version')
def api_version():
"""检测更新:返回当前版本及可选的最新版本信息"""
return jsonify({
'version': os.environ.get('APP_VERSION', '1.0.0'),
'desc': '',
'url': os.environ.get('APP_UPDATE_URL', ''),
})
@version_bp.route('/version/latest')
def api_version_latest():
"""GET 获取最新版本的下载链接(按创建时间取最新一条)"""
try:
conn = get_db()
with conn.cursor() as cur:
cur.execute(
"SELECT version, file_url FROM web_config ORDER BY created_at DESC LIMIT 1"
)
row = cur.fetchone()
conn.close()
if not row:
return jsonify({'version': None, 'file_url': None})
return jsonify({
'version': row['version'] or '',
'file_url': row['file_url'] or '',
})
except Exception as e:
current_app.logger.error('[version] internal error: %s', e, exc_info=True)
return jsonify({'error': '服务器内部错误,请稍后重试'}), 500