75 lines
2.2 KiB
Python
75 lines
2.2 KiB
Python
from flask import Flask, jsonify
|
|
import sqlite3
|
|
from datetime import datetime
|
|
|
|
# 创建Flask蓝图
|
|
api_bp = Flask(__name__)
|
|
|
|
# 连接数据库的辅助函数
|
|
def get_db_connection():
|
|
conn = sqlite3.connect('car_info.db')
|
|
conn.row_factory = sqlite3.Row # 使返回的数据可以通过列名访问
|
|
return conn
|
|
|
|
# API函数1: 返回所有的参数信息
|
|
@api_bp.route('/api/parameters', methods=['GET'])
|
|
def get_all_parameters():
|
|
try:
|
|
# 连接数据库
|
|
conn = get_db_connection()
|
|
cursor = conn.cursor()
|
|
|
|
# 查询所有参数配置记录
|
|
cursor.execute("""
|
|
SELECT id, param1, param2, param3, param4, param5, update_time
|
|
FROM parameter_config
|
|
ORDER BY update_time DESC
|
|
""")
|
|
|
|
# 获取所有查询结果
|
|
rows = cursor.fetchall()
|
|
|
|
# 关闭数据库连接
|
|
conn.close()
|
|
|
|
# 如果没有查询到数据
|
|
if not rows:
|
|
return jsonify({
|
|
'success': False,
|
|
'error': '未找到参数配置记录',
|
|
'data': []
|
|
}), 404
|
|
|
|
# 格式化查询结果
|
|
parameters_list = []
|
|
for row in rows:
|
|
parameters_list.append({
|
|
'id': row['id'],
|
|
'param1': row['param1'],
|
|
'param2': row['param2'],
|
|
'param3': row['param3'],
|
|
'param4': row['param4'],
|
|
'param5': row['param5'],
|
|
'update_time': row['update_time']
|
|
})
|
|
|
|
# 返回JSON格式的参数信息
|
|
return jsonify({
|
|
'success': True,
|
|
'message': '参数信息获取成功',
|
|
'data': parameters_list,
|
|
'total': len(parameters_list)
|
|
}), 200
|
|
|
|
except Exception as e:
|
|
# 处理异常情况
|
|
return jsonify({
|
|
'success': False,
|
|
'error': f'获取参数信息失败: {str(e)}',
|
|
'data': []
|
|
}), 500
|
|
|
|
# 如果直接运行此文件(用于测试)
|
|
if __name__ == '__main__':
|
|
# 在生产环境中不应使用debug=True
|
|
api_bp.run(debug=True) |