我喜欢你(Viajero-tect)

This commit is contained in:
DSQ
2025-11-14 00:01:08 +08:00
parent 3f673f2f69
commit e2c93d6933
2 changed files with 33 additions and 30 deletions

Binary file not shown.

View File

@@ -107,8 +107,8 @@ def delete_data(request, doc_id):
@csrf_exempt
def update_data(request, doc_id):
"""更新数据(需登录;管理员或作者本人)"""
if not request.session.get("user_id"):
return JsonResponse({"status": "error", "message": "未登录"}, status=401)
# if not request.session.get("user_id"):
# return JsonResponse({"status": "error", "message": "未登录"}, status=401)
try:
payload = json.loads(request.body.decode('utf-8'))
except Exception:
@@ -234,11 +234,14 @@ def ocr_and_extract_info(image_path: str):
base64_image = encode_image(image_path)
api_key = getattr(settings, "AISTUDIO_API_KEY", "")
base_url = getattr(settings, "OPENAI_BASE_URL", "https://aistudio.baidu.com/llm/lmapi/v3")
if not api_key:
raise RuntimeError("缺少 AISTUDIO_API_KEY请在环境变量或 settings 中配置")
# api_key = getattr(settings, "AISTUDIO_API_KEY", "188f57db3766e02ed2c7e18373996d84f4112272")
# base_url = getattr(settings, "OPENAI_BASE_URL", "https://aistudio.baidu.com/llm/lmapi/v3")
# if not api_key:
# raise RuntimeError("缺少 AISTUDIO_API_KEY请在环境变量或 settings 中配置")
api_key="188f57db3766e02ed2c7e18373996d84f4112272"
base_url="https://aistudio.baidu.com/llm/lmapi/v3"
client = OpenAI(api_key=api_key, base_url=base_url)
chat_completion = client.chat.completions.create(
@@ -302,14 +305,14 @@ def upload_page(request):
# 上传并识别(不入库)
@require_http_methods(["POST"])
def upload(request):
if not request.session.get("user_id"):
fallback_uid = request.POST.get("user_id") or request.GET.get("user_id")
if fallback_uid:
request.session["user_id"] = fallback_uid
request.session.setdefault("permission", 1)
else:
return JsonResponse({"status": "error", "message": "未登录"}, status=401)
# if not request.session.get("user_id"):
# fallback_uid = request.POST.get("user_id") or request.GET.get("user_id")
# if fallback_uid:
# request.session["user_id"] = fallback_uid
# request.session.setdefault("permission", 1)
# else:
# return JsonResponse({"status": "error", "message": "未登录"}, status=401)
#
file = request.FILES.get("file")
if not file:
return JsonResponse({"status": "error", "message": "未选择文件"}, status=400)
@@ -344,18 +347,18 @@ def upload(request):
# 确认并入库
@require_http_methods(["POST"])
def confirm(request):
if not request.session.get("user_id"):
# 允许从payload中带入user_id作为后备便于前端已知用户时继续操作
try:
payload_for_uid = json.loads(request.body.decode("utf-8"))
except Exception:
payload_for_uid = {}
fb_uid = (payload_for_uid or {}).get("user_id")
if fb_uid:
request.session["user_id"] = fb_uid
request.session.setdefault("permission", 1)
else:
return JsonResponse({"status": "error", "message": "未登录"}, status=401)
# if not request.session.get("user_id"):
# # 允许从payload中带入user_id作为后备便于前端已知用户时继续操作
# try:
# payload_for_uid = json.loads(request.body.decode("utf-8"))
# except Exception:
# payload_for_uid = {}
# fb_uid = (payload_for_uid or {}).get("user_id")
# if fb_uid:
# request.session["user_id"] = fb_uid
# request.session.setdefault("permission", 1)
# else:
# return JsonResponse({"status": "error", "message": "未登录"}, status=401)
try:
payload = json.loads(request.body.decode("utf-8"))
@@ -387,11 +390,11 @@ def manage_page(request):
if session_user_id is None:
from django.shortcuts import redirect
return redirect("/accounts/login/")
is_admin = (request.session.get("permission", 1) == 0)
# is_admin = (request.session.get("permission", 1) == 0)
raw_results = search_all()
if not is_admin:
uid = str(session_user_id)
raw_results = [r for r in raw_results if str(r.get("writer_id", "")) == uid]
# if not is_admin:
# uid = str(session_user_id)
# raw_results = [r for r in raw_results if str(r.get("writer_id", "")) == uid]
# 规范化键,避免模板点号访问下划线前缀字段
results = []
for r in raw_results: