改成前后端分离
This commit is contained in:
parent
78014142c6
commit
1008ae50d3
|
|
@ -0,0 +1,53 @@
|
|||
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/<plate>', 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)
|
||||
|
|
@ -0,0 +1,38 @@
|
|||
import sqlite3
|
||||
import os
|
||||
|
||||
# 获取当前文件所在目录
|
||||
basedir = os.path.abspath(os.path.dirname(__file__))
|
||||
db_path = os.path.join(basedir, '..', 'data', 'cars.db')
|
||||
|
||||
# 创建数据目录(如果不存在)
|
||||
os.makedirs(os.path.dirname(db_path), exist_ok=True)
|
||||
|
||||
# 创建数据库连接
|
||||
conn = sqlite3.connect(db_path)
|
||||
cursor = conn.cursor()
|
||||
|
||||
# 创建车辆表
|
||||
cursor.execute('''
|
||||
CREATE TABLE IF NOT EXISTS cars (
|
||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||||
plate TEXT UNIQUE NOT NULL,
|
||||
phone TEXT NOT NULL,
|
||||
brand TEXT NOT NULL
|
||||
)
|
||||
''')
|
||||
|
||||
# 插入示例数据
|
||||
sample_cars = [
|
||||
("京B67890", "131-2222-2222", "本田雅阁"),
|
||||
("沪C11111", "132-3333-3333", "大众帕萨特"),
|
||||
("浙D22222", "133-4444-4444", "奔驰E级")
|
||||
]
|
||||
|
||||
cursor.executemany('INSERT OR IGNORE INTO cars (plate, phone, brand) VALUES (?, ?, ?)', sample_cars)
|
||||
|
||||
# 提交更改并关闭连接
|
||||
conn.commit()
|
||||
conn.close()
|
||||
|
||||
print("数据库初始化完成")
|
||||
|
|
@ -0,0 +1,2 @@
|
|||
Flask==2.3.2
|
||||
flask-cors==4.0.0
|
||||
|
|
@ -0,0 +1,13 @@
|
|||
# 挪车电话查询系统
|
||||
|
||||
这是一个前后端分离的挪车电话查询系统,使用Python Flask作为后端,SQLite作为数据库,HTML/CSS/JavaScript作为前端。
|
||||
|
||||
## 项目结构
|
||||
|
||||
- `backend/`: 后端代码(Python Flask)
|
||||
- `frontend/`: 前端代码(HTML/CSS/JavaScript)
|
||||
- `data/`: 数据库存放目录
|
||||
|
||||
## 安装与运行
|
||||
|
||||
1. 安装Python依赖:
|
||||
Loading…
Reference in New Issue