去除wcf对象

This commit is contained in:
liuwei
2025-04-22 16:26:18 +08:00
parent e0a0b28807
commit ad61f61664
7 changed files with 44 additions and 53 deletions

View File

@@ -8,6 +8,9 @@ import sys
import threading
import time
from datetime import datetime
from gewechat_client import GewechatClient
from db.message_storage import MessageStorageDB
from db.stats_db import StatsDBOperator
from flask import Flask, send_from_directory
@@ -44,8 +47,8 @@ class DashboardServer:
self.contact_manager = robot_instance.contact_manager
self.plugin_manager = robot_instance.plugin_manager
self.plugin_registry = robot_instance.plugin_registry
# 获取WCF实例
self.wcf = robot_instance.wcf
self.client:GewechatClient= robot_instance.client
self.app_id = robot_instance.app_id
self.logger.info("使用Robot实例的对象进行初始化")
else:
self.logger.error("未提供Robot实例Dashboard无法正常工作")
@@ -173,27 +176,30 @@ class DashboardServer:
def get_current_user_info(self):
"""获取当前登录的微信用户信息"""
try:
if not self.wcf:
self.logger.error("WCF实例不可用,无法获取当前用户信息")
return {"success": False, "message": "WCF实例不可用"}
if not self.client:
self.logger.error("client实例不可用,无法获取当前用户信息")
return {"success": False, "message": "实例不可用"}
# 获取当前登录的微信ID
wx_id = self.self.message_util.get_self_wxid()
if not wx_id:
return {"success": False, "message": "未获取到微信ID"}
# 获取用户详细信息
user_info = self.self.message_util.get_user_info()
self.logger.info(f"获取用户信息:{user_info}")
resp = self.client.get_profile(self.app_id)
if not resp or resp.get("ret") != 200:
self.logger.error(f"获取用户信息失败: {resp}")
return {"success": False, "message": "获取用户信息失败"}
# 从新的resp格式中获取用户信息
user_data = resp.get("data", {})
if not user_data:
return {"success": False, "message": "未获取到用户数据"}
return {
"success": True,
"data": {
"wx_id": user_info.get("wxid", wx_id),
"nickname": user_info.get("name", "未知用户"),
"avatar": "logo.png", # 使用默认LOGO
"mobile": user_info.get("mobile", ""),
"home": user_info.get("home", "")
"wx_id": user_data.get("wxid", ""),
"nickname": user_data.get("nickName", "未知用户"),
"avatar": user_data.get("smallHeadImgUrl", "logo.png"), # 使用小头像URL
"mobile": user_data.get("mobile", ""),
"home": f"{user_data.get('province', '')}-{user_data.get('city', '')}" # 组合省市信息
}
}
except Exception as e: