加入登录账户信息

This commit is contained in:
liuwei
2025-04-11 17:51:46 +08:00
parent 89bac7123c
commit ea59ceeef2
4 changed files with 94 additions and 5 deletions

View File

@@ -44,6 +44,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.logger.info("使用Robot实例的对象进行初始化")
else:
self.logger.error("未提供Robot实例Dashboard无法正常工作")
@@ -165,3 +167,42 @@ class DashboardServer:
self._server.shutdown()
self.logger.info("服务器已停止")
def get_current_user_info(self):
"""获取当前登录的微信用户信息"""
try:
if not self.wcf:
self.logger.error("WCF实例不可用无法获取当前用户信息")
return {"success": False, "message": "WCF实例不可用"}
# 获取当前登录的微信ID
wx_id = self.wcf.get_self_wxid()
if not wx_id:
return {"success": False, "message": "未获取到微信ID"}
# 获取用户详细信息
user_info = self.wcf.get_user_info()
# 获取头像
avatar_path = None
try:
avatar_path = self.wcf.get_avatar(wx_id)
except Exception as e:
self.logger.warning(f"获取用户头像失败: {e}")
return {
"success": True,
"data": {
"wx_id": wx_id,
"nickname": user_info.get("nickname", "未知用户"),
"avatar": avatar_path,
"signature": user_info.get("signature", ""),
"gender": user_info.get("gender", 0),
"country": user_info.get("country", ""),
"province": user_info.get("province", ""),
"city": user_info.get("city", "")
}
}
except Exception as e:
self.logger.error(f"获取当前用户信息失败: {e}")
return {"success": False, "message": f"获取用户信息出错: {str(e)}"}