diff --git a/AI/WxMini/Start.py b/AI/WxMini/Start.py index 8b3ee998..150ef8fc 100644 --- a/AI/WxMini/Start.py +++ b/AI/WxMini/Start.py @@ -3,7 +3,7 @@ import logging import time import uuid from contextlib import asynccontextmanager - +from fastapi import Query from fastapi import FastAPI, Form, HTTPException from openai import AsyncOpenAI from WxMini.Milvus.Config.MulvusConfig import * @@ -104,6 +104,58 @@ client = AsyncOpenAI( ) + +# 登录接口 +@app.post("/aichat/login") +async def login( + login_name: str = Form(..., description="用户名"), + password: str = Form(..., description="密码") +): + """ + 用户登录接口 + :param login_name: 用户名 + :param password: 密码 + :return: 登录结果 + """ + flag = True + if not login_name or not password: + flag = False + + # 调用 get_user_by_login_name 方法 + user = await get_user_by_login_name(app.state.mysql_pool, login_name) + if not user: + flag = False + if user and user['password'] != password: + flag = False + + if not flag: + return { + "code": 200, + "message": "登录失败", + "success": False + } + + # 返回带字段名称的数据 + return { + "code": 200, + "message": "登录成功", + "success": True, + "data": { + "person_id": user["person_id"], + "login_name": user["login_name"], + "identity_id": user["identity_id"], + "person_name": user["person_name"], + "xb_name": user["xb_name"], + "city_name": user["city_name"], + "area_name": user["area_name"], + "school_name": user["school_name"], + "grade_name": user["grade_name"], + "class_name": user["class_name"] + } + } + + +# 与用户交流聊天 @app.post("/aichat/reply") async def reply(person_id: str = Form(...), prompt: str = Form(...)): """ @@ -236,60 +288,6 @@ async def reply(person_id: str = Form(...), prompt: str = Form(...)): milvus_pool.release_connection(connection) -# 获取聊天记录 -from fastapi import Query - - -# 登录接口 -@app.post("/aichat/login") -async def login( - login_name: str = Form(..., description="用户名"), - password: str = Form(..., description="密码") -): - """ - 用户登录接口 - :param login_name: 用户名 - :param password: 密码 - :return: 登录结果 - """ - flag = True - if not login_name or not password: - flag = False - - # 调用 get_user_by_login_name 方法 - user = await get_user_by_login_name(app.state.mysql_pool, login_name) - if not user: - flag = False - if user and user['password'] != password: - flag = False - - if not flag: - return { - "code": 200, - "message": "登录失败", - "success": False - } - - # 返回带字段名称的数据 - return { - "code": 200, - "message": "登录成功", - "success": True, - "data": { - "person_id": user["person_id"], - "login_name": user["login_name"], - "identity_id": user["identity_id"], - "person_name": user["person_name"], - "xb_name": user["xb_name"], - "city_name": user["city_name"], - "area_name": user["area_name"], - "school_name": user["school_name"], - "grade_name": user["grade_name"], - "class_name": user["class_name"] - } - } - - # 获取聊天记录 @app.get("/aichat/get_chat_log") async def get_chat_log(