Compare commits

..

4 Commits

Author SHA1 Message Date
wangsiyuan 6f93326ba0 更新 website.py 2024-01-24 16:00:25 +08:00
wangsiyuan fc8976efba 更新 pictures_handle.py 2024-01-24 16:00:23 +08:00
wangsiyuan 8a16672573 更新 pictures_handle.cpython-311.pyc 2024-01-24 16:00:21 +08:00
wangsiyuan e7971b6a03 更新 website.cpython-311.pyc 2024-01-24 16:00:19 +08:00
4 changed files with 32 additions and 20 deletions

Binary file not shown.

View File

@ -1,23 +1,34 @@
import os
def get_pictures_info(directory):
def get_pictures_info(directory, page, page_size):
pictures = []
counter = 1
start_index = (page - 1) * page_size
end_index = start_index + page_size
counter = 0
for filename in os.listdir(directory):
# print(f"directory: {directory}")
if filename.lower().endswith(('.png', '.jpg', '.jpeg', '.gif', '.bmp')):
file_path = os.path.join(directory, filename)
size = os.path.getsize(file_path)
size_mb = size / (1024 * 1024)
photo_name = filename
picture_info = {
"id": counter,
"photo_name": photo_name,
"photo_size": round(size_mb,2),
"photo_url": file_path
}
pictures.append(picture_info)
if start_index <= counter < end_index:
file_path = os.path.join(directory, filename)
size = os.path.getsize(file_path)
size_mb = size / (1024 * 1024)
picture_info = {
"id": counter + 1,
"photo_name": filename,
"photo_size": round(size_mb, 2),
"photo_url": file_path
}
pictures.append(picture_info)
counter += 1
if counter >= end_index:
break
return pictures
def get_total_pages(directory, page_size):
total_photos = 0
for filename in os.listdir(directory):
if filename.lower().endswith(('.png', '.jpg', '.jpeg', '.gif', '.bmp')):
total_photos += 1
return (total_photos + page_size - 1) // page_size

View File

@ -2,6 +2,7 @@ from fastapi import FastAPI, HTTPException, Request
from fastapi.middleware.cors import CORSMiddleware
from fastapi.responses import FileResponse
from utils.pictures_handle import get_pictures_info
from utils.pictures_handle import get_total_pages
import os
from fastapi.staticfiles import StaticFiles
@ -38,17 +39,17 @@ async def get_menu():
@app.get("/api/get-photo-list")
async def get_photo_list():
base_url = "http://127.0.0.1:5173/"
dir = "pictures"
photo_list = get_pictures_info(dir)
async def get_photo_list(page: int = 1, page_size: int = 10):
dir_path = "pictures"
total_pages = get_total_pages(dir_path, page_size)
photo_list = get_pictures_info(dir_path, page, page_size)
for photo in photo_list:
photo["photo_url"] = f"http://127.0.0.1:8000/static/{photo['photo_name']}"
# print(photo_list)
return {
"code": 0,
"msg": "ok",
"data": photo_list
"data": photo_list,
"total_pages": total_pages
}