131 lines
4.3 KiB
Python
131 lines
4.3 KiB
Python
from fastapi import FastAPI, HTTPException, Request
|
||
from fastapi.responses import FileResponse
|
||
import base64
|
||
import os
|
||
|
||
app = FastAPI()
|
||
|
||
|
||
@app.get("/")
|
||
async def root():
|
||
return "welcome to fastAPI!"
|
||
|
||
|
||
@app.post("/user/login")
|
||
async def login(request: Request):
|
||
print(request)
|
||
data = await request.json()
|
||
username = data.get("username")
|
||
password = data.get("password")
|
||
print(f"username: {username},password: {password}")
|
||
if username == "1" and password == "1":
|
||
data1 = None
|
||
return {"code": "0", "msg": "ok", "data": data1}
|
||
else:
|
||
data2 = None
|
||
return {"code": "-1", "msg": "账号或密码错误", "data": data2}
|
||
|
||
|
||
@app.get("/api/get-menu")
|
||
async def get_menu():
|
||
base_url = "http://127.0.0.1:8000/api/menu-image/"
|
||
directory = "assets/images/icon"
|
||
pic_list = [
|
||
{id: 1, "menu_name": "政策查询", "url": "/pages/policy/policy", "icon_name": "政策解读.png"},
|
||
{id: 2, "menu_name": "问答", "url": "/pages/qa/qa", "icon_name": "问答.png"},
|
||
{id: 3, "menu_name": "信息管理", "url": "/pages/assist/assist", "icon_name": "群众信息管理.png"},
|
||
{id: 4, "menu_name": "招聘", "url": "/pages/recruit/recruit", "icon_name": "招聘.png"}
|
||
]
|
||
data = []
|
||
for item in pic_list:
|
||
data.append({
|
||
"id": item[id],
|
||
"menu_name": item['menu_name'],
|
||
"url": item['url'],
|
||
"image_url": base_url + item['icon_name']
|
||
})
|
||
|
||
return {
|
||
"code": 0,
|
||
"msg": "ok",
|
||
"data": data
|
||
}
|
||
|
||
|
||
@app.get("/api/get-swiper-list")
|
||
async def get_swiper_list():
|
||
# 设置图片所在的目录
|
||
directory = "assets/images/pictures"
|
||
base_url = "http://127.0.0.1:8000/api/swiper-image/"
|
||
|
||
# 列出目录下所有文件
|
||
files = os.listdir(directory)
|
||
for i in files:
|
||
if i == '.DS_Store':
|
||
files.remove(i)
|
||
print(files)
|
||
# 生成包含完整路径的图片列表
|
||
swiper_list = [{"id": i + 1, "path": base_url + file} for i, file in enumerate(files)]
|
||
|
||
return {
|
||
"code": 0,
|
||
"msg": "ok",
|
||
"data": swiper_list
|
||
}
|
||
|
||
|
||
@app.get("/api/swiper-image/{image_id}.png")
|
||
async def get_swiper_image(image_id: str):
|
||
base_image_path = "assets/images/pictures"
|
||
# 构造图片文件的完整路径
|
||
image_path = f"{base_image_path}/{image_id}.png" # 假设图片格式为png,根据需要修改
|
||
print(image_path)
|
||
try:
|
||
# 返回图片文件的响应
|
||
return FileResponse(image_path)
|
||
except FileNotFoundError:
|
||
# 如果文件没有找到,返回404错误
|
||
raise HTTPException(status_code=404, detail="Image not found")
|
||
|
||
|
||
@app.get("/api/menu-image/{image_name}.png")
|
||
async def get_menu_image(image_name: str):
|
||
base_image_path = "assets/images/icon"
|
||
# 构造图片文件的完整路径
|
||
image_path = f"{base_image_path}/{image_name}.png" # 假设图片格式为png,根据需要修改
|
||
print(image_path)
|
||
try:
|
||
# 返回图片文件的响应
|
||
return FileResponse(image_path)
|
||
except FileNotFoundError:
|
||
# 如果文件没有找到,返回404错误
|
||
raise HTTPException(status_code=404, detail="Image not found")
|
||
|
||
|
||
@app.get("/api/policy-list")
|
||
async def get_policy_list():
|
||
policy_list = [
|
||
{"title": "政策标题1", "date": "2024-01-01"},
|
||
{"title": "政策标题2", "date": "2023-01-02"},
|
||
{"title": "政策标题3", "date": "2022-01-03"},
|
||
{"title": "政策标题4", "date": "2023-01-14"},
|
||
{"title": "政策标题5", "date": "2022-01-14"},
|
||
{"title": "政策标题6", "date": "2023-01-15"},
|
||
{"title": "政策标题7", "date": "2021-01-16"},
|
||
{"title": "政策标题8", "date": "2021-01-02"},
|
||
{"title": "政策标题9", "date": "2024-02-02"},
|
||
{"title": "政策标题10", "date": "2024-03-02"},
|
||
{"title": "政策标题11", "date": "2024-04-02"},
|
||
{"title": "政策标题12", "date": "2024-01-02"},
|
||
{"title": "政策标题13", "date": "2023-01-24"},
|
||
{"title": "政策标题14", "date": "2022-01-02"},
|
||
{"title": "政策标题15", "date": "2022-12-02"},
|
||
{"title": "政策标题16", "date": "2021-04-02"},
|
||
{"title": "政策标题17", "date": "2020-02-02"}
|
||
]
|
||
return {
|
||
"code": 0,
|
||
"msg": "ok",
|
||
"data": policy_list
|
||
}
|