feat: unify login UI and improve kdocs defaults
This commit is contained in:
@@ -59,7 +59,10 @@ def get_kdocs_status_api():
|
||||
uploader = get_kdocs_uploader()
|
||||
status = uploader.get_status()
|
||||
live = str(request.args.get("live", "")).lower() in ("1", "true", "yes")
|
||||
if live:
|
||||
|
||||
# 重启后首次查询时(last_login_ok is None)自动做一次实时状态校验
|
||||
should_live_check = live or status.get("last_login_ok") is None
|
||||
if should_live_check:
|
||||
live_status = uploader.refresh_login_status()
|
||||
if live_status.get("success"):
|
||||
logged_in = bool(live_status.get("logged_in"))
|
||||
|
||||
@@ -234,10 +234,12 @@ def get_user_email():
|
||||
@login_required
|
||||
def get_user_kdocs_settings():
|
||||
"""获取当前用户的金山文档设置"""
|
||||
settings = database.get_user_kdocs_settings(current_user.id)
|
||||
if not settings:
|
||||
return jsonify({"kdocs_unit": "", "kdocs_auto_upload": 0})
|
||||
return jsonify(settings)
|
||||
settings = database.get_user_kdocs_settings(current_user.id) or {}
|
||||
cfg = database.get_system_config() or {}
|
||||
default_unit = (cfg.get("kdocs_default_unit") or "").strip() or "道县"
|
||||
kdocs_unit = (settings.get("kdocs_unit") or "").strip() or default_unit
|
||||
kdocs_auto_upload = 1 if int(settings.get("kdocs_auto_upload", 0) or 0) == 1 else 0
|
||||
return jsonify({"kdocs_unit": kdocs_unit, "kdocs_auto_upload": kdocs_auto_upload})
|
||||
|
||||
|
||||
@api_user_bp.route("/api/user/kdocs", methods=["POST"])
|
||||
@@ -265,8 +267,14 @@ def update_user_kdocs_settings():
|
||||
):
|
||||
return jsonify({"error": "更新失败"}), 400
|
||||
|
||||
settings = database.get_user_kdocs_settings(current_user.id) or {"kdocs_unit": "", "kdocs_auto_upload": 0}
|
||||
return jsonify({"success": True, "settings": settings})
|
||||
settings = database.get_user_kdocs_settings(current_user.id) or {}
|
||||
cfg = database.get_system_config() or {}
|
||||
default_unit = (cfg.get("kdocs_default_unit") or "").strip() or "道县"
|
||||
response_settings = {
|
||||
"kdocs_unit": (settings.get("kdocs_unit") or "").strip() or default_unit,
|
||||
"kdocs_auto_upload": 1 if int(settings.get("kdocs_auto_upload", 0) or 0) == 1 else 0,
|
||||
}
|
||||
return jsonify({"success": True, "settings": response_settings})
|
||||
|
||||
|
||||
@api_user_bp.route("/api/user/bind-email", methods=["POST"])
|
||||
@@ -405,6 +413,14 @@ def get_kdocs_status_for_user():
|
||||
login_required_flag = status.get("login_required", False)
|
||||
last_login_ok = status.get("last_login_ok")
|
||||
|
||||
# 重启后首次查询时,状态可能还是 None,这里做一次轻量实时校验
|
||||
if last_login_ok is None:
|
||||
live_status = kdocs.refresh_login_status()
|
||||
if live_status.get("success"):
|
||||
logged_in = bool(live_status.get("logged_in"))
|
||||
login_required_flag = not logged_in
|
||||
last_login_ok = logged_in
|
||||
|
||||
# 判断是否在线
|
||||
is_online = not login_required_flag and last_login_ok is True
|
||||
|
||||
|
||||
Reference in New Issue
Block a user