547a4eeae6
* docs(requirements.txt):升级fastapi、uvicorn版本 * refactor(user):重构用户router、service * ref: role list api * doc: 1 * refactor(backend): mvc ref
27 lines
743 B
Python
27 lines
743 B
Python
import asyncio
|
|
|
|
from websockets.exceptions import WebSocketException
|
|
|
|
from core.dbhelper import has_user
|
|
from core.security import generate_token, verify_password
|
|
from core.utils import get_system_info
|
|
|
|
|
|
async def user_login(data):
|
|
"""用户登录"""
|
|
user_obj = await has_user(data.username)
|
|
if user_obj:
|
|
if verify_password(data.password, user_obj.password):
|
|
return dict(data=dict(id=user_obj.id, token=generate_token(data.username)))
|
|
return dict(code=400, msg="账号或密码错误")
|
|
|
|
|
|
async def system_info(ws):
|
|
await ws.accept()
|
|
try:
|
|
while True:
|
|
await asyncio.sleep(1)
|
|
await ws.send_json(get_system_info())
|
|
except WebSocketException:
|
|
await ws.close()
|