Files
drawing/message.py
2023-03-13 14:08:42 +08:00

43 lines
1.3 KiB
Python

'''
0. 消息模型
1. 消息盒子(储存消息)
2. 消息信道(收发消息)
'''
from pydantic import BaseModel
from datetime import datetime
class Message(BaseModel):
id: str # 消息ID(可基于此更新消息)
type: str # 消息类型(可基于此分发消息)
data: dict # 消息数据(用于展示的消息主体)
date: datetime=datetime.now() # 时间(消息被创建的时间)
class MessageBox:
def __init__(self, sender, receiver, content):
self.sender = sender
self.receiver = receiver
self.content = content
def send(self):
self.receiver.receive(self)
def __str__(self):
return 'From: %s' % self.sender
class MessageChannel:
pass
#def watch(self, websocket: WebSocket, task: Task):
# await websocket.accept()
# # 将websocket连接加入到任务的观察者列表中
# task.add_observer(websocket)
# await websocket.send_text(f"Task {task.id} is being watched")
# # 从websocket连接中读取消息
# await websocket.receive_text()
# # 将websocket连接从任务的观察者列表中移除
# task.remove_observer(websocket)
# await websocket.send_text(f"Task {task.id} is no longer being watched")
# await websocket.close()