From 8c5f9c232258de1da38cd76b6f3b0d5deff3170e Mon Sep 17 00:00:00 2001 From: lanqian528 <5499636+lanqian528@users.noreply.github.com> Date: Mon, 11 Nov 2024 00:42:49 +0800 Subject: [PATCH 1/2] v1.7.0-beta4 update ui --- gateway/backend.py | 79 ++++++--- templates/chatgpt.html | 303 ++++++++++++++++++--------------- templates/chatgpt_context.json | 262 +++++++++++++++++++++------- templates/gpts_context.json | 248 ++++++++++++++++++++------- version.txt | 2 +- 5 files changed, 608 insertions(+), 286 deletions(-) diff --git a/gateway/backend.py b/gateway/backend.py index 30be77d..1f21fe7 100644 --- a/gateway/backend.py +++ b/gateway/backend.py @@ -22,6 +22,7 @@ from utils.configs import x_sign, turnstile_solver_url, chatgpt_base_url_list, n banned_paths = [ "backend-api/accounts/logout_all", "backend-api/accounts/deactivate", + "backend-api/payments/checkout" "backend-api/user_system_messages", "backend-api/memories", "backend-api/settings/clear_account_user_memory", @@ -61,34 +62,64 @@ async def get_gizmos_bootstrap(request: Request): return {"gizmos": []} -@app.get("/backend-api/conversations") -async def get_conversations(request: Request): - limit = int(request.query_params.get("limit", 28)) - offset = int(request.query_params.get("offset", 0)) - is_archived = request.query_params.get("is_archived", None) +@app.get("/backend-api/gizmos/pinned") +async def get_gizmos_pinned(request: Request): token = request.headers.get("Authorization", "").replace("Bearer ", "") if len(token) == 45 or token.startswith("eyJhbGciOi"): - return await chatgpt_reverse_proxy(request, "backend-api/conversations") + return await chatgpt_reverse_proxy(request, "backend-api/gizmos/pinned") else: - items = [] - for conversation_id in globals.seed_map.get(token, {}).get("conversations", []): - conversation = globals.conversation_map.get(conversation_id, None) - if conversation: - if is_archived == "true": - if conversation.get("is_archived", False): - items.append(conversation) - else: - if not conversation.get("is_archived", False): - items.append(conversation) - items = items[int(offset):int(offset) + int(limit)] - conversations = { - "items": items, - "total": len(items), - "limit": limit, - "offset": offset, - "has_missing_conversations": False + return {"items": [], "cursor": None} + + +@app.get("/public-api/gizmos/discovery/recent") +async def get_gizmos_discovery_recent(request: Request): + token = request.headers.get("Authorization", "").replace("Bearer ", "") + if len(token) == 45 or token.startswith("eyJhbGciOi"): + return await chatgpt_reverse_proxy(request, "public-api/gizmos/discovery/recent") + else: + return { + "info": { + "id": "recent", + "title": "Recently Used", + }, + "list": { + "items": [], + "cursor": None + } } - return Response(content=json.dumps(conversations, indent=4), media_type="application/json") + + +@app.api_route("/backend-api/conversations", methods=["GET", "PATCH"]) +async def get_conversations(request: Request): + if request.method == "GET": + limit = int(request.query_params.get("limit", 28)) + offset = int(request.query_params.get("offset", 0)) + is_archived = request.query_params.get("is_archived", None) + token = request.headers.get("Authorization", "").replace("Bearer ", "") + if len(token) == 45 or token.startswith("eyJhbGciOi"): + return await chatgpt_reverse_proxy(request, "backend-api/conversations") + else: + items = [] + for conversation_id in globals.seed_map.get(token, {}).get("conversations", []): + conversation = globals.conversation_map.get(conversation_id, None) + if conversation: + if is_archived == "true": + if conversation.get("is_archived", False): + items.append(conversation) + else: + if not conversation.get("is_archived", False): + items.append(conversation) + items = items[int(offset):int(offset) + int(limit)] + conversations = { + "items": items, + "total": len(items), + "limit": limit, + "offset": offset, + "has_missing_conversations": False + } + return Response(content=json.dumps(conversations, indent=4), media_type="application/json") + else: + raise HTTPException(status_code=403, detail="Forbidden") @app.get("/backend-api/conversation/{conversation_id}") diff --git a/templates/chatgpt.html b/templates/chatgpt.html index 92eed68..b231685 100644 --- a/templates/chatgpt.html +++ b/templates/chatgpt.html @@ -1,5 +1,5 @@ - +
@@ -18,55 +18,40 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + -