文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
数据模型 Model
聊天会话的数据模型是在 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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论