1234
This commit is contained in:
80
app/pages/login.py
Normal file
80
app/pages/login.py
Normal file
@@ -0,0 +1,80 @@
|
||||
import flet as ft
|
||||
from designer import Field, color, Button, Loger, JsonJober
|
||||
import requests
|
||||
|
||||
class Login(ft.Column):
|
||||
def __init__(self, page: ft.Page = None):
|
||||
self.page = page
|
||||
self.login = Field(label="Login"),
|
||||
self.password = Field(label="Password", password=True)
|
||||
super().__init__(
|
||||
horizontal_alignment=ft.CrossAxisAlignment.CENTER,
|
||||
expand=True,
|
||||
controls=[
|
||||
ft.Row(
|
||||
alignment=ft.MainAxisAlignment.CENTER,
|
||||
controls=[
|
||||
ft.Text(color=color[1], size=42, value="Copp")
|
||||
]
|
||||
),
|
||||
ft.Row(
|
||||
alignment=ft.MainAxisAlignment.CENTER,
|
||||
controls=[
|
||||
self.login[0]
|
||||
]
|
||||
),
|
||||
ft.Row(
|
||||
alignment=ft.MainAxisAlignment.CENTER,
|
||||
controls=[
|
||||
self.password
|
||||
]
|
||||
),
|
||||
ft.Row(
|
||||
alignment=ft.MainAxisAlignment.CENTER,
|
||||
controls=[
|
||||
Button(text="Enter", on_click=self.enter_go_to_next_page)
|
||||
]
|
||||
)
|
||||
]
|
||||
)
|
||||
|
||||
def Load_user_inf(self, response):
|
||||
from user_data import User_data as ud
|
||||
|
||||
if response is not None:
|
||||
# Используем .get() для безопасного доступа к ключам
|
||||
ud.id = response.get("id")
|
||||
ud.inn = response.get("inn") # Если ключ 'inn' отсутствует, будет None
|
||||
ud.name_poo = response.get("name_poo")
|
||||
ud.mail = response.get("mail")
|
||||
ud.suggestions = JsonJober.read_json(ud.path_json)
|
||||
print(f"{ud.id=}, {ud.inn=}, {ud.name_poo=}, {ud.mail=}")
|
||||
else:
|
||||
print("Ошибка: Пустой ответ от сервера")
|
||||
|
||||
def enter_go_to_next_page(self, e):
|
||||
url = "http://localhost:8000/api/api/login"
|
||||
data = {
|
||||
"login": self.login[0].value,
|
||||
"password": self.password.value
|
||||
}
|
||||
try:
|
||||
response = requests.post(url, json=data)
|
||||
if response.status_code == 200:
|
||||
# Получаем JSON-данные из ответа
|
||||
response_data = response.json() # Используем метод .json() для извлечения данных
|
||||
|
||||
# Проверяем сообщение в ответе
|
||||
if response_data.get("message") == "Авторизация успешна.":
|
||||
user = response_data.get("user") # Достаем пользователя из ответа
|
||||
if user.get("id") == 0:
|
||||
self.page.open(Loger(text="Неверные данные"))
|
||||
else:
|
||||
self.Load_user_inf(response=user)
|
||||
self.page.go("/user_info")
|
||||
elif response_data.get("message") == "Неверные данные":
|
||||
self.page.open(Loger(text="Неверные данные"))
|
||||
else:
|
||||
print("Ошибка:", response.status_code, response.text)
|
||||
except requests.exceptions.RequestException as e:
|
||||
print(f"Ошибка запроса: {e}")
|
||||
Reference in New Issue
Block a user