From 8968cc7c8717613cd20fc3d094fc9b5188091ad8 Mon Sep 17 00:00:00 2001 From: hackrobot Date: Wed, 20 Mar 2024 19:43:50 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E7=9B=B4=E6=8E=A5=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E5=BA=93=E6=96=B0=E5=BB=BA=E7=94=A8=E6=88=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- __pycache__/WXBotService.cpython-312.pyc | Bin 0 -> 39852 bytes __pycache__/config.cpython-312.pyc | Bin 0 -> 308 bytes __pycache__/crud.cpython-312.pyc | Bin 0 -> 2343 bytes __pycache__/database.cpython-312.pyc | Bin 0 -> 575 bytes __pycache__/main.cpython-312.pyc | Bin 0 -> 15896 bytes __pycache__/models.cpython-312.pyc | Bin 0 -> 1025 bytes __pycache__/planet.cpython-312.pyc | Bin 0 -> 13497 bytes __pycache__/schemas.cpython-312.pyc | Bin 0 -> 1006 bytes crud.py | 3 ++- main.py | 14 +++++++++++--- models.py | 10 ++++++++++ schemas.py | 6 ------ 12 files changed, 23 insertions(+), 10 deletions(-) create mode 100644 __pycache__/WXBotService.cpython-312.pyc create mode 100644 __pycache__/config.cpython-312.pyc create mode 100644 __pycache__/crud.cpython-312.pyc create mode 100644 __pycache__/database.cpython-312.pyc create mode 100644 __pycache__/main.cpython-312.pyc create mode 100644 __pycache__/models.cpython-312.pyc create mode 100644 __pycache__/planet.cpython-312.pyc create mode 100644 __pycache__/schemas.cpython-312.pyc diff --git a/__pycache__/WXBotService.cpython-312.pyc b/__pycache__/WXBotService.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..2f710e764ff0727bcd1dd7c1e499bb1e4bc73071 GIT binary patch literal 39852 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 WGb~aa<{0Nu!D~$Y6M4+)`F{a%D(a{J literal 0 HcmV?d00001 diff --git a/__pycache__/config.cpython-312.pyc b/__pycache__/config.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..6db8c70394ea49ba334542e5217f3aea87fd72de GIT binary patch literal 308 zcmX@j%ge<81of{QlRAL(V-N=hn4pZ$Wl+%G>lpx{p_P$=k&(W4Kq(JU{$=NuXLFmM zFQ4&p(o#*I3~3yGdad3wK%&ZzaS>NG_N2vFFh?Wr#L$%IX^EgGhMHs z@)w6qZhlH>PO4oIH&8Pp5Esh>i4V+-jEuJ#I3Mtcb~yEWc6xSuH*ntIQ3DdZ(v4h2 HoIo`I=7&<% literal 0 HcmV?d00001 diff --git a/__pycache__/crud.cpython-312.pyc b/__pycache__/crud.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..b460edaae8fbf1cc082279272fd327937a0f4628 GIT binary patch literal 2343 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 oR6GJ5UW保存到数据库 + newFriendDict=WXBotService.get_friend_info(account_wxid, wxid) + print('newFriendDict[data]---',newFriendDict['data']) + # print(type(newFriendDict['data'])) + crud.create_user(db=get_db(),user=json.dumps(newFriendDict['data'])) + + elif msg_type == 3: # 3 图片消息 kp_log = f'{type_str} 图片消息 内容:{filepath}' # 本地dat图片解密 @@ -231,6 +238,7 @@ def kp(event_data): newFriendWxid=xml_msg.get('alias') # 将好友信息=>保存到数据库 newFriendDict=WXBotService.get_friend_info(account_wxid, newFriendWxid) + crud.create_user(db=get_db(),user=newFriendDict) elif msg_type == 42: # 42 名片消息 xml_msg = ET.fromstring(msg) diff --git a/models.py b/models.py index 7bc5a26..ad7138c 100644 --- a/models.py +++ b/models.py @@ -11,6 +11,7 @@ class User(Base): wxid = Column(String) openId = Column(String) sex = Column(String) #性别 + city = Column(String) #城市 country = Column(String) #"CN" province = Column(String) #"Hubei" sourceStr = Column(String) #:"通过朋友验证消息添加" @@ -19,4 +20,13 @@ class User(Base): wxaccount = Column(String) #微信号 remark = Column(String) #备注 smallhead = Column(String) #头像 + # bighead = Column(String) #头像-打 + # labels = Column(String) # + # source = Column(String) #来源 + # generator = Column(String) + # v1 = Column(String) + + + + diff --git a/schemas.py b/schemas.py index d7c3fab..45fb242 100644 --- a/schemas.py +++ b/schemas.py @@ -1,11 +1,7 @@ from pydantic import BaseModel - - - # 用户信息 class UserCreate(BaseModel): - password: str wxid: str openId: str sex: str @@ -22,7 +18,5 @@ class UserCreate(BaseModel): class User(UserCreate): id: int - is_active: bool - class Config: orm_mode = True \ No newline at end of file