Files
2026-06-16 11:55:14 +08:00

72 lines
3.0 KiB
Python

"""模块:T4 数据模型
远程桌面管理表:计算机注册、屏幕捕获、键盘鼠标记录、心跳。"""
from gvsds.model_base import QModel
import datetime
from django.db import models
from gvsds.apps.core.models import UUIDField
class T4User(QModel):
"""T4 计算机表——远程桌面客户端注册信息"""
PCMachineGUID = UUIDField(primary_key=True, verbose_name='计算机GUID')
PCVersion = models.CharField(max_length=16, null=True, blank=True, verbose_name='客户端版本')
PCompilation = models.CharField(max_length=16, null=True, blank=True, verbose_name='编译版本')
PCName = models.CharField(max_length=16, null=True, blank=True, verbose_name='计算机名称')
PCreateUserName = models.CharField(max_length=16, null=True, blank=True, verbose_name='创建用户名')
PCSystemInfo = models.TextField(null=True, blank=True, verbose_name='系统信息')
PCreateTime = models.DateTimeField(null=True, blank=True, verbose_name='创建时间')
PCLastSynchronizationTime = models.DateTimeField(null=True, blank=True, verbose_name='最后同步时间')
PCLastConnectTime = models.DateTimeField(null=True, blank=True, verbose_name='最后连接时间')
PCPreviewImage = models.BinaryField(null=True, blank=True, verbose_name='预览图像')
class Meta:
db_table = 'Computers'
app_label = 't4'
verbose_name = 'T4计算机'
verbose_name_plural = 'T4计算机'
class T4Hiscr(QModel):
"""T4 屏幕历史表——远程桌面截屏记录"""
CreateTime = models.DateTimeField(primary_key=True, default=datetime.datetime.utcnow, verbose_name='创建时间')
PCMachineGUID = UUIDField(verbose_name='计算机GUID')
ImageBytes = models.BinaryField(verbose_name='图像数据')
class Meta:
db_table = 'Hiscr'
app_label = 't4'
verbose_name = 'T4屏幕历史'
verbose_name_plural = 'T4屏幕历史'
class T4KeyMouse(QModel):
"""T4 键鼠记录表——键盘鼠标操作日志"""
CreateTime = models.DateTimeField(primary_key=True, default=datetime.datetime.utcnow, verbose_name='创建时间')
PCMachineGUID = UUIDField(verbose_name='计算机GUID')
KeyMouse = models.JSONField(verbose_name='键鼠数据')
class Meta:
db_table = 'KM'
app_label = 't4'
verbose_name = 'T4键鼠记录'
verbose_name_plural = 'T4键鼠记录'
class T4PLT(QModel):
"""T4 心跳表——客户端在线状态记录"""
PCMachineGUID = UUIDField(primary_key=True, verbose_name='计算机GUID')
PCSID = models.CharField(max_length=256, verbose_name='会话ID')
PCLastSynchronizationTime = models.DateTimeField(default=datetime.datetime.utcnow, verbose_name='最后同步时间')
PConnectTime = models.DateTimeField(default=datetime.datetime.utcnow, verbose_name='连接时间')
class Meta:
db_table = 'PCPLT'
app_label = 't4'
verbose_name = 'T4心跳'
verbose_name_plural = 'T4心跳'