from flask import Flask, jsonify, request from flask_cors import CORS import sqlite3 import os # 获取当前文件所在目录 basedir = os.path.abspath(os.path.dirname(__file__)) db_path = os.path.join(basedir, '..', 'data', 'cars.db') app = Flask(__name__) CORS(app) def get_db_connection(): conn = sqlite3.connect(db_path) conn.row_factory = sqlite3.Row return conn @app.route('/api/cars', methods=['GET']) def get_all_cars(): conn = get_db_connection() cars = conn.execute('SELECT * FROM cars').fetchall() conn.close() cars_list = [dict(car) for car in cars] return jsonify(cars_list) @app.route('/api/cars/search', methods=['GET']) def search_car(): plate = request.args.get('plate', '') if not plate: return jsonify({'error': '请输入车牌号码'}), 400 conn = get_db_connection() cars = conn.execute('SELECT * FROM cars WHERE plate LIKE ?', (f'%{plate}%',)).fetchall() conn.close() cars_list = [dict(car) for car in cars] return jsonify(cars_list) @app.route('/api/cars/', methods=['GET']) def get_car_by_plate(plate): conn = get_db_connection() car = conn.execute('SELECT * FROM cars WHERE plate = ?', (plate,)).fetchone() conn.close() if car is None: return jsonify({'error': '未找到该车牌号码对应的车主信息'}), 404 return jsonify(dict(car)) if __name__ == '__main__': app.run(debug=True, host='0.0.0.0', port=5000)