搜索次数接口

This commit is contained in:
Miyamizu-MitsuhaSang 2025-11-06 19:21:35 +08:00
parent 2c893df2cf
commit 055cad882b
6 changed files with 40 additions and 1 deletions

View File

@ -11,7 +11,7 @@ async def get_and_set_last_key(redis: Redis, word: str, user_id: str):
print(last_word)
# 如果上一次查的词和这次不同,就清空旧词的记录
if last_word and last_word != word:
if last_word and last_word.decode() != word:
await clear_chat_history(redis, user_id, last_word.decode())
# 更新当前词

View File

@ -67,7 +67,10 @@ async def search(request: Request, body: SearchRequest, user=Depends(get_current
:param user:
:return:
"""
redis = request.app.state.redis
query = body.query
if body.language == 'fr':
query = normalize_text(query)
word_contents = await (
@ -100,6 +103,9 @@ async def search(request: Request, body: SearchRequest, user=Depends(get_current
eng_explanation=wc.eng_explanation,
)
)
await service.search_time_updates(redis)
return WordSearchResponse(
query=query,
pos=pos_contents,
@ -130,6 +136,9 @@ async def search(request: Request, body: SearchRequest, user=Depends(get_current
example=wc.example,
)
)
await service.search_time_updates(redis)
return WordSearchResponse(
query=query,
pos=pos_contents,

View File

@ -2,6 +2,7 @@ import re
from typing import List, Tuple, Dict, Literal, Type
from fastapi import HTTPException
from redis.asyncio import Redis
from tortoise import Tortoise, Model
from tortoise.expressions import Q
@ -12,6 +13,12 @@ from app.utils.textnorm import normalize_text
from settings import TORTOISE_ORM
async def search_time_updates(redis: Redis) -> None:
key = "search_times"
await redis.incr(key, 1)
async def detect_language(text: str) -> Tuple[str, str, bool]:
"""
自动检测输入语言:

View File

View File

@ -0,0 +1,20 @@
#TODO 更新接口文档
from fastapi import APIRouter
from starlette.requests import Request
ulit_router = APIRouter()
@ulit_router.get("/search_time", tags=["search times"])
async def get_search_time(request: Request):
redis = request.app.state.redis
key = f"search_time"
count = int(await redis.get(key))
if not count:
await redis.set(key, value=0)
count = 0
return {
"count": count,
}

View File

@ -15,6 +15,7 @@ from app.api.redis_test import redis_test_router
from app.api.search_dict.routes import dict_search
from app.api.translator import translator_router
from app.api.user.routes import users_router
from app.api.util_api.routes import ulit_router
from app.api.word_comment.routes import word_comment_router
from app.core.redis import init_redis, close_redis
from app.utils.phone_encrypt import PhoneEncrypt
@ -67,5 +68,7 @@ app.include_router(pron_test_router, tags=["Pron Test API"], prefix="/test/pron"
app.include_router(article_router, tags=["Article API"])
app.include_router(ulit_router, tags=["Util Functions API"])
if __name__ == "__main__":
uvicorn.run("main:app", host="127.0.0.1", port=8000, reload=True)