From f28ac0166536a2a4b68cac685a41ea667f60f7e9 Mon Sep 17 00:00:00 2001 From: yj <2077506045@qq.com> Date: 星期三, 03 九月 2025 14:43:03 +0800 Subject: [PATCH] 兼容企业微信 --- app/api/friend_ignore.py | 64 ++++++++++++++----------------- 1 files changed, 29 insertions(+), 35 deletions(-) diff --git a/app/api/friend_ignore.py b/app/api/friend_ignore.py index 4f8c68a..dc7043c 100644 --- a/app/api/friend_ignore.py +++ b/app/api/friend_ignore.py @@ -17,16 +17,19 @@ class AddFriendsRequest(BaseModel): """娣诲姞濂藉弸鍒板拷鐣ュ垪琛ㄨ姹傛ā鍨�""" + friends: List[str] class RemoveFriendRequest(BaseModel): """浠庡拷鐣ュ垪琛ㄧЩ闄ゅソ鍙嬭姹傛ā鍨�""" + w_id: str class IgnoreListResponse(BaseModel): """蹇界暐鍒楄〃鍝嶅簲妯″瀷""" + success: bool message: str data: Set[str] = None @@ -37,19 +40,16 @@ async def get_ignore_list(): """ 鑾峰彇褰撳墠鐨勫ソ鍙嬪拷鐣ュ垪琛� - + Returns: 蹇界暐鍒楄〃鍝嶅簲 """ try: ignore_list = friend_ignore_service.get_ignore_list() count = friend_ignore_service.get_ignore_list_count() - + return IgnoreListResponse( - success=True, - message="鑾峰彇蹇界暐鍒楄〃鎴愬姛", - data=ignore_list, - count=count + success=True, message="鑾峰彇蹇界暐鍒楄〃鎴愬姛", data=ignore_list, count=count ) except Exception as e: logger.error(f"鑾峰彇蹇界暐鍒楄〃澶辫触: {str(e)}") @@ -60,26 +60,26 @@ async def add_friends_to_ignore_list(request: AddFriendsRequest): """ 娣诲姞濂藉弸鍒板拷鐣ュ垪琛� - + Args: request: 娣诲姞濂藉弸璇锋眰 - + Returns: 鎿嶄綔缁撴灉 """ try: success = friend_ignore_service.add_friends_to_ignore_list(request.friends) - + if success: count = friend_ignore_service.get_ignore_list_count() return IgnoreListResponse( success=True, message=f"鎴愬姛娣诲姞 {len(request.friends)} 涓ソ鍙嬪埌蹇界暐鍒楄〃", - count=count + count=count, ) else: raise HTTPException(status_code=400, detail="娣诲姞濂藉弸鍒板拷鐣ュ垪琛ㄥけ璐�") - + except Exception as e: logger.error(f"娣诲姞濂藉弸鍒板拷鐣ュ垪琛ㄥけ璐�: {str(e)}") raise HTTPException(status_code=500, detail=f"娣诲姞濂藉弸鍒板拷鐣ュ垪琛ㄥけ璐�: {str(e)}") @@ -89,26 +89,26 @@ async def remove_friend_from_ignore_list(request: RemoveFriendRequest): """ 浠庡拷鐣ュ垪琛ㄤ腑绉婚櫎濂藉弸 - + Args: request: 绉婚櫎濂藉弸璇锋眰 - + Returns: 鎿嶄綔缁撴灉 """ try: success = friend_ignore_service.remove_friend_from_ignore_list(request.w_id) - + if success: count = friend_ignore_service.get_ignore_list_count() return IgnoreListResponse( success=True, message=f"鎴愬姛浠庡拷鐣ュ垪琛ㄤ腑绉婚櫎濂藉弸: {request.w_id}", - count=count + count=count, ) else: raise HTTPException(status_code=400, detail="浠庡拷鐣ュ垪琛ㄧЩ闄ゅソ鍙嬪け璐�") - + except Exception as e: logger.error(f"浠庡拷鐣ュ垪琛ㄧЩ闄ゅソ鍙嬪け璐�: {str(e)}") raise HTTPException(status_code=500, detail=f"浠庡拷鐣ュ垪琛ㄧЩ闄ゅソ鍙嬪け璐�: {str(e)}") @@ -118,22 +118,18 @@ async def clear_ignore_list(): """ 娓呯┖蹇界暐鍒楄〃 - + Returns: 鎿嶄綔缁撴灉 """ try: success = friend_ignore_service.clear_ignore_list() - + if success: - return IgnoreListResponse( - success=True, - message="鎴愬姛娓呯┖蹇界暐鍒楄〃", - count=0 - ) + return IgnoreListResponse(success=True, message="鎴愬姛娓呯┖蹇界暐鍒楄〃", count=0) else: raise HTTPException(status_code=400, detail="娓呯┖蹇界暐鍒楄〃澶辫触") - + except Exception as e: logger.error(f"娓呯┖蹇界暐鍒楄〃澶辫触: {str(e)}") raise HTTPException(status_code=500, detail=f"娓呯┖蹇界暐鍒楄〃澶辫触: {str(e)}") @@ -143,26 +139,24 @@ async def sync_contacts_and_rebuild_ignore_list(): """ 閲嶆柊鍚屾鑱旂郴浜哄苟閲嶅缓蹇界暐鍒楄〃 - + Returns: 鎿嶄綔缁撴灉 """ try: if not settings.ecloud_w_id: raise HTTPException(status_code=400, detail="鏈厤缃甧cloud_w_id") - + success = contact_sync_service.sync_contacts_on_startup(settings.ecloud_w_id) - + if success: count = friend_ignore_service.get_ignore_list_count() return IgnoreListResponse( - success=True, - message="鑱旂郴浜哄悓姝ュ畬鎴愶紝蹇界暐鍒楄〃宸查噸寤�", - count=count + success=True, message="鑱旂郴浜哄悓姝ュ畬鎴愶紝蹇界暐鍒楄〃宸查噸寤�", count=count ) else: raise HTTPException(status_code=400, detail="鑱旂郴浜哄悓姝ュけ璐�") - + except Exception as e: logger.error(f"鑱旂郴浜哄悓姝ュけ璐�: {str(e)}") raise HTTPException(status_code=500, detail=f"鑱旂郴浜哄悓姝ュけ璐�: {str(e)}") @@ -185,7 +179,7 @@ return { "success": True, "data": status_info, - "message": f"w_id {w_id} 鐘舵�佹鏌ュ畬鎴�" + "message": f"w_id {w_id} 鐘舵�佹鏌ュ畬鎴�", } except Exception as e: @@ -208,7 +202,7 @@ "success": True, "data": whitelist, "count": len(whitelist), - "message": "鑾峰彇鐧藉悕鍗曟垚鍔�" + "message": "鑾峰彇鐧藉悕鍗曟垚鍔�", } except Exception as e: @@ -231,9 +225,9 @@ "ignore_enabled": settings.friend_ignore_enabled, "whitelist": settings.friend_ignore_whitelist, "whitelist_count": len(settings.friend_ignore_whitelist), - "ignore_list_count": friend_ignore_service.get_ignore_list_count() + "ignore_list_count": friend_ignore_service.get_ignore_list_count(), }, - "message": "鑾峰彇閰嶇疆淇℃伅鎴愬姛" + "message": "鑾峰彇閰嶇疆淇℃伅鎴愬姛", } except Exception as e: -- Gitblit v1.9.1