feat: 用户端显示金山文档在线状态
- 新增 /api/kdocs/status 接口(用户端简化版) - 工具栏显示"表格上传: ✅ 就绪"或"⚠️ 离线" - 页面加载时获取状态,每60秒自动刷新 - 系统未启用时不显示 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -348,3 +348,37 @@ def get_run_stats():
|
||||
"today_attachments": stats.get("total_attachments", 0),
|
||||
}
|
||||
)
|
||||
|
||||
|
||||
@api_user_bp.route("/api/kdocs/status", methods=["GET"])
|
||||
@login_required
|
||||
def get_kdocs_status_for_user():
|
||||
"""获取金山文档在线状态(用户端简化版)"""
|
||||
try:
|
||||
# 检查系统是否启用了金山文档功能
|
||||
cfg = database.get_system_config() or {}
|
||||
kdocs_enabled = int(cfg.get("kdocs_enabled") or 0)
|
||||
|
||||
if not kdocs_enabled:
|
||||
return jsonify({"enabled": False, "online": False, "message": "未启用"})
|
||||
|
||||
# 获取金山文档状态
|
||||
from services.kdocs_uploader import get_kdocs_uploader
|
||||
|
||||
kdocs = get_kdocs_uploader()
|
||||
status = kdocs.get_status()
|
||||
|
||||
login_required_flag = status.get("login_required", False)
|
||||
last_login_ok = status.get("last_login_ok")
|
||||
|
||||
# 判断是否在线
|
||||
is_online = not login_required_flag and last_login_ok is True
|
||||
|
||||
return jsonify({
|
||||
"enabled": True,
|
||||
"online": is_online,
|
||||
"message": "就绪" if is_online else "离线"
|
||||
})
|
||||
except Exception as e:
|
||||
logger.error(f"获取金山文档状态失败: {e}")
|
||||
return jsonify({"enabled": False, "online": False, "message": "获取失败"})
|
||||
|
||||
Reference in New Issue
Block a user