34 lines
		
	
	
		
			931 B
		
	
	
	
		
			Python
		
	
	
	
	
	
		
		
			
		
	
	
			34 lines
		
	
	
		
			931 B
		
	
	
	
		
			Python
		
	
	
	
	
	
|   | from flask import Blueprint, jsonify | ||
|  | import sqlite3 | ||
|  | from flask_cors import cross_origin | ||
|  | 
 | ||
|  | bp = Blueprint('shi1', __name__) | ||
|  | 
 | ||
|  | def get_db_connection(): | ||
|  |     conn = sqlite3.connect('agriculture.db') | ||
|  |     conn.row_factory = sqlite3.Row | ||
|  |     return conn | ||
|  | 
 | ||
|  | @bp.route('/moisture', methods=['GET']) | ||
|  | @cross_origin() | ||
|  | def get_moisture_data(): | ||
|  |     conn = get_db_connection() | ||
|  |     try: | ||
|  |         cur = conn.cursor() | ||
|  |         # 获取最近7条记录并按日期正序排列 | ||
|  |         cur.execute('''
 | ||
|  |             SELECT record_date as date, moisture  | ||
|  |             FROM ( | ||
|  |                 SELECT record_date, moisture  | ||
|  |                 FROM soil_moisture  | ||
|  |                 ORDER BY id DESC  | ||
|  |                 LIMIT 7 | ||
|  |             )  | ||
|  |             ORDER BY date ASC | ||
|  |         ''')
 | ||
|  |         rows = cur.fetchall() | ||
|  |         return jsonify([dict(row) for row in rows]) | ||
|  |     except Exception as e: | ||
|  |         return jsonify({'error': str(e)}), 500 | ||
|  |     finally: | ||
|  |         conn.close() |