改成前后端分离
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