返回介绍

数据模型 Model

发布于 2024-09-11 01:11:55 字数 906 浏览 0 评论 0 收藏 0

聊天会话的数据模型是在 src/model 目录下定义的,因为应用的主进程和渲染进程都可能会用到数据模型,所以把它放置在 renderer 和 main 的同级目录下。

新建 src/model/ModelChat.ts,如下所示:

import { ModalBase } from './ModalBase';

export class ModelChat extends ModalBase {
  fromName?: string;
  sendTime?: string | number;
  isSelected = false;
  lastMsg?: string;
  avatar?: string;
  // 0 单聊,1 群聊,2 公众号,3 文件传输助手
  chatType?: number;
}

模型主要用于描述对象携带的信息,由于所有的模型都会拥有一些共同的字段,所以把这些字段放置在模型的基类 ModelBase 中。

新建 src/model/ModelBase.ts,如下所示:

import crypto from 'crypto';

export class ModalBase {
  id: string;
  constructor() {
    this.id = crypto.randomUUID();
  }
}

暂时只提供了一个公共字段:id,凡继承于 ModelBase 的子类都将拥有这个字段,而且这个字段是随模型实例化的时候自动创建的。

只有 new ModelXXXX 时才会创建这个字段,let model = obj as ModelXXXX 时不会创建这个字段。

使用 Node.js crypto 模块的 randomUUID 方法来生成每个聊天会话的 ID。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文