|
|
|
|
@ -1,268 +1,472 @@
|
|
|
|
|
// @ts-ignore
|
|
|
|
|
/* eslint-disable */
|
|
|
|
|
// @ts-ignore 这是一个 TypeScript 指令,用于告诉编译器忽略下一行代码可能出现的 TypeScript 类型检查错误。
|
|
|
|
|
// 一般在某些特殊情况下(例如引入了外部未正确声明类型的库或者使用了不符合类型规范但又需要暂时保留的代码等)使用,但应谨慎使用,避免隐藏真正的代码问题。
|
|
|
|
|
// eslint-disable 这是 ESLint 的指令,用于禁用 ESLint 的代码规范检查,同样通常在特定场景下为了允许不符合规范的代码暂时通过检查而使用,后续应尽量修正代码使其符合规范要求。
|
|
|
|
|
|
|
|
|
|
// 定义一个泛型接口 Response,用于表示通用的响应数据结构,其中 T 是一个泛型参数,可以根据具体的响应数据类型进行替换。
|
|
|
|
|
interface Response<T> {
|
|
|
|
|
// 表示响应是否成功的布尔值,true 表示成功,false 表示失败,用于快速判断请求操作的结果状态。
|
|
|
|
|
success: boolean;
|
|
|
|
|
// 存放具体的响应数据内容,其类型由传入的泛型参数 T 决定,比如可以是一个对象、数组或者其他复杂的数据结构,依具体业务场景而定。
|
|
|
|
|
data: T;
|
|
|
|
|
// 可选的错误码属性,用于在响应失败时提供具体的错误代码,方便前端根据不同的错误码进行针对性的错误处理,例如显示不同的错误提示信息等。
|
|
|
|
|
errorCode?: number;
|
|
|
|
|
// 可选的错误消息属性,当响应失败时,可通过该属性获取详细的错误描述信息,以展示给用户或者记录在日志中便于排查问题。
|
|
|
|
|
errorMessage?: string;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 定义一个接口 ContactLabelItem,用于表示联系人标签相关的信息项,通常用于描述联系人的分类标签情况。
|
|
|
|
|
interface ContactLabelItem {
|
|
|
|
|
// 标签的唯一标识符,一般是一个字符串类型的 ID,用于在系统中唯一标识该标签,便于进行查找、关联等操作。
|
|
|
|
|
labelId: string;
|
|
|
|
|
// 标签的名称,用于直观展示给用户看的标签文字内容,比如“家人”“同事”等,方便用户识别标签含义。
|
|
|
|
|
labelName: string;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 定义一个接口 AllContactItem,用于表示所有联系人相关的基础信息,包含了联系人在系统中的用户名和昵称等基本属性。
|
|
|
|
|
interface AllContactItem {
|
|
|
|
|
// 联系人在系统中的用户名,可能是唯一且用于内部系统识别、操作的名称,不一定展示给用户看,具有唯一性保证系统内的准确识别。
|
|
|
|
|
userName: string;
|
|
|
|
|
// 联系人的昵称,是展示给其他用户看的友好名称,通常可以由用户自行设置修改,更符合用户个性化展示和称呼的需求。
|
|
|
|
|
nickName: string;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 定义一个类型别名 ContactParams,用于表示查询联系人时可能用到的参数集合,这些参数大多是可选的,方便根据不同的查询需求灵活使用。
|
|
|
|
|
type ContactParams = {
|
|
|
|
|
// 当前页码,用于分页查询时指定要获取的页码,常用于联系人列表数据较多,需要分页展示的场景,默认情况下可以不传,由后端根据业务逻辑处理默认值等情况。
|
|
|
|
|
current?: number;
|
|
|
|
|
// 每页显示的记录数量,用于控制分页查询时每页展示多少条联系人信息,同样是可选参数,可根据页面布局和用户体验需求进行设置。
|
|
|
|
|
pageSize?: number;
|
|
|
|
|
// 备注信息,可能是用户对联系人添加的额外备注说明内容,用于辅助识别联系人或者记录一些特殊情况等,可用于筛选特定备注的联系人。
|
|
|
|
|
remark?: string;
|
|
|
|
|
// 联系人的昵称,可用于按照昵称进行模糊查询或者精确查询联系人,比如搜索特定昵称的联系人等操作。
|
|
|
|
|
nickName?: string;
|
|
|
|
|
// 联系人标签的 ID,用于根据标签筛选联系人,比如获取属于某个特定标签(如“朋友”标签)下的所有联系人。
|
|
|
|
|
labelId?: string;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
// 定义一个类型别名 DecryptParams,用于表示解密操作可能用到的参数集合,这些参数也是可选的,根据解密的具体需求来提供相应的值。
|
|
|
|
|
type DecryptParams = {
|
|
|
|
|
// 解密的密钥,通常是一个字符串,是解密过程中关键的信息,用于对加密的数据进行解密还原,不同的加密算法对应不同的密钥格式和使用方式。
|
|
|
|
|
key?: string;
|
|
|
|
|
// 基础路径,可能是文件所在的基础目录路径等相关信息,在涉及文件相关的解密操作时,用于定位文件或者辅助解密过程,具体含义取决于业务场景。
|
|
|
|
|
basePath?: string;
|
|
|
|
|
// 微信相关的唯一标识符,可能是微信用户的 ID 或者某个微信相关对象(如聊天记录、文件等)的唯一标识,用于明确解密对象所属的微信主体。
|
|
|
|
|
wxId?: string;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
// 定义一个接口 ContactItem,用于详细表示一个联系人的完整信息,涵盖了联系人的多方面属性,从基本信息到标签相关等内容。
|
|
|
|
|
interface ContactItem {
|
|
|
|
|
// 联系人在系统中的用户名,同前面 AllContactItem 中的 userName 作用类似,用于内部系统识别联系人。
|
|
|
|
|
userName: string;
|
|
|
|
|
// 联系人的别名,可能是在某些特定场景下使用的另一个称呼,类似于昵称但又有不同的使用场景或者含义,具体取决于业务逻辑。
|
|
|
|
|
alias: string;
|
|
|
|
|
// 联系人的类型,可能是用数字来区分不同类型的联系人,比如 1 表示个人联系人,2 表示公众号等,用于分类管理联系人。
|
|
|
|
|
type: number;
|
|
|
|
|
// 验证标识,可能用于表示联系人是否经过验证等状态信息,例如 0 表示未验证,1 表示已验证,方便判断联系人的合法性或者安全性。
|
|
|
|
|
verifyFlag: number;
|
|
|
|
|
// 联系人的备注信息,由用户添加的对该联系人的说明文字,用于帮助识别联系人身份等。
|
|
|
|
|
remark: string;
|
|
|
|
|
// 联系人的昵称,展示给其他用户看的友好称呼。
|
|
|
|
|
nickName: string;
|
|
|
|
|
// 联系人所属标签名称组成的列表,以字符串形式呈现,方便查看联系人被分配了哪些标签,直观展示联系人的分类情况。
|
|
|
|
|
labelNameList: string;
|
|
|
|
|
// 联系人头像的 URL 地址,用于在界面上展示联系人的头像图片,通过该地址可以获取并显示对应的头像资源。
|
|
|
|
|
headImgUrl: string;
|
|
|
|
|
// 可能是用于拼音排序等相关功能的拼音字段,比如存储联系人昵称的拼音全拼或者拼音首字母等,便于按照拼音顺序对联系人进行排序展示等操作。
|
|
|
|
|
py: string;
|
|
|
|
|
// 联系人所属标签的 ID 列表,以字符串形式存储,与 labelNameList 相对应,用于从 ID 角度记录联系人所属的标签情况,方便进行标签相关的数据库操作等。
|
|
|
|
|
labelIdList: string;
|
|
|
|
|
// 联系人所属标签的数组形式,直接以对象数组的形式呈现标签信息,比 labelIdList 和 labelNameList 更详细地展示标签相关情况,具体元素类型取决于实际业务中标签的定义。
|
|
|
|
|
labels: string[];
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 定义一个类型别名 ChatRoomParams,用于表示查询聊天房间(例如微信群聊等)时可能用到的参数集合,各参数可选,用于灵活定制查询条件。
|
|
|
|
|
type ChatRoomParams = {
|
|
|
|
|
// 当前页码,用于分页查询聊天房间信息时指定要获取的页码,便于处理聊天房间数据较多需要分页展示的情况。
|
|
|
|
|
current?: number;
|
|
|
|
|
// 每页显示的记录数量,控制每页展示多少个聊天房间的信息,根据页面布局和展示需求来设置具体数值。
|
|
|
|
|
pageSize?: number;
|
|
|
|
|
// 聊天房间的标题,可用于按照标题进行模糊查询或者精确查询特定标题的聊天房间,方便用户快速找到想要的聊天群组。
|
|
|
|
|
chatRoomTitle?: string;
|
|
|
|
|
// 用户在聊天房间中显示的名称,可能与用户的昵称不同,是在该特定聊天房间内展示给其他成员看的称呼,用于个性化展示。
|
|
|
|
|
selfDisplayName?: string;
|
|
|
|
|
// 创建者的标识,可能是创建聊天房间的用户的用户名、ID 等信息,用于根据创建者来筛选聊天房间,比如查看某个用户创建的所有聊天群组。
|
|
|
|
|
createBy?: string;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
// 定义一个类型别名 ChatRoomItem,用于表示一个聊天房间的基础信息项,包含了聊天房间的常见属性,用于展示和识别不同的聊天房间。
|
|
|
|
|
type ChatRoomItem = {
|
|
|
|
|
// 聊天房间的名称,可能是系统生成或者用户自定义的用于唯一标识该聊天房间的名称,在内部系统操作或者展示给用户时使用。
|
|
|
|
|
chatRoomName?: string;
|
|
|
|
|
// 聊天房间的标题,通常是更直观展示给用户看的、具有一定描述性的名称,比如“工作交流群”“同学聚会群”等,方便用户识别聊天房间的用途。
|
|
|
|
|
chatRoomTitle?: string;
|
|
|
|
|
// 是否显示名称的标识,可能用于控制在聊天房间内是否显示成员的名称等信息,例如 1 表示显示,0 表示隐藏,根据聊天房间的设置规则来确定。
|
|
|
|
|
isShowName?: number;
|
|
|
|
|
// 用户在聊天房间中显示的名称,同前面 selfDisplayName 在 ChatRoomParams 中的含义,用于在该房间内展示自己的称呼。
|
|
|
|
|
selfDisplayName?: string;
|
|
|
|
|
// 创建者的标识,用于记录聊天房间是谁创建的,与前面 createBy 在 ChatRoomParams 中的作用类似。
|
|
|
|
|
createBy?: string;
|
|
|
|
|
// 聊天房间头像的 URL 地址,用于展示聊天房间的头像图片,可能是群头像等,提升聊天房间的辨识度。
|
|
|
|
|
headImgUrl?: string;
|
|
|
|
|
// 表示聊天房间是否已解散的布尔值,true 表示已解散,false 表示正常存在,用于判断聊天房间的状态,方便进行相应的业务处理。
|
|
|
|
|
dissolution?: boolean;
|
|
|
|
|
// 表示聊天房间是否属于企业的布尔值,true 表示是企业相关的聊天房间,比如企业内部工作群等,false 表示非企业性质的聊天群组,用于区分不同类型的聊天房间。
|
|
|
|
|
enterprise?: boolean;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
// 定义一个接口 ChatRoomDetail,用于详细展示一个聊天房间的完整详细信息,除了基本信息外,还包含房间内的详细公告、成员等信息。
|
|
|
|
|
interface ChatRoomDetail {
|
|
|
|
|
// 聊天房间的名称,用于标识该聊天房间,与前面 ChatRoomItem 中的 chatRoomName 含义一致。
|
|
|
|
|
chatRoomName: string;
|
|
|
|
|
// 聊天房间的标题,与前面 ChatRoomItem 中的 chatRoomTitle 含义一致,是更直观展示给用户的描述性名称。
|
|
|
|
|
chatRoomTitle: string;
|
|
|
|
|
// 用户在聊天房间中显示的名称,即自己在该房间内展示给其他成员看的称呼。
|
|
|
|
|
selfDisplayName: string;
|
|
|
|
|
// 创建者的标识,记录创建该聊天房间的用户相关信息。
|
|
|
|
|
createBy: string;
|
|
|
|
|
// 聊天房间头像的 URL 地址,用于获取并展示聊天房间的头像图片。
|
|
|
|
|
headImgUrl: string;
|
|
|
|
|
// 聊天房间的详细信息对象,包含公告、版本等多方面的详细信息,用于深入了解聊天房间的内部情况。
|
|
|
|
|
chatRoomInfo: ChatRoomInfo;
|
|
|
|
|
// 聊天房间成员的数组,每个元素代表一个成员的详细信息,用于展示聊天房间内都有哪些成员以及他们的相关状态等情况。
|
|
|
|
|
members: ChatRoomMember[];
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 定义一个接口 ChatRoomInfo,用于表示聊天房间的详细信息,涵盖了公告、版本以及发布相关的多方面属性,方便对聊天房间进行全面管理和展示。
|
|
|
|
|
interface ChatRoomInfo {
|
|
|
|
|
// 聊天房间的公告内容,是管理员发布的用于向成员传达重要信息、规则等的文字内容,展示在聊天房间内供成员查看。
|
|
|
|
|
announcement: string;
|
|
|
|
|
// 公告的版本号,用于记录公告的更新情况,每次更新公告时版本号可能会递增,方便成员知晓公告内容是否有变化。
|
|
|
|
|
infoVersion: number;
|
|
|
|
|
// 公告的编辑者标识,可能是编辑该公告的用户的用户名、ID 等信息,用于记录谁对公告进行了编辑操作。
|
|
|
|
|
announcementEditor: string;
|
|
|
|
|
// 公告的发布者标识,记录发布该公告的用户相关信息,与 announcementEditor 可能不同,因为编辑和发布可以是不同的用户完成。
|
|
|
|
|
announcementPublisher: string;
|
|
|
|
|
// 公告发布的时间戳,以数字形式表示,用于精确记录公告发布的具体时间点,便于按照时间顺序查看公告历史等操作。
|
|
|
|
|
announcementPublishTime: number;
|
|
|
|
|
// 公告发布时间的字符串表示形式,可能是格式化后的时间字符串,方便直接展示给用户看,提高时间的可读性。
|
|
|
|
|
strAnnouncementPublishTime: string;
|
|
|
|
|
// 聊天房间的状态,可能用数字来表示不同的状态情况,例如 1 表示正常,2 表示维护中等等,用于判断聊天房间当前的运行状态,以便进行相应的业务处理。
|
|
|
|
|
chatRoomStatus: number;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 定义一个接口 ChatRoomMember,用于表示聊天房间内一个成员的详细信息,包括成员的微信相关标识、备注、状态以及头像等信息。
|
|
|
|
|
interface ChatRoomMember {
|
|
|
|
|
// 成员的微信相关唯一标识符,用于在微信系统内准确识别该成员,可能是微信用户 ID 等信息,方便进行成员相关的操作和管理。
|
|
|
|
|
wxId: string;
|
|
|
|
|
// 成员的备注信息,可能是其他成员对该成员添加的备注说明,用于辅助识别成员身份等情况,便于在聊天房间内区分不同成员。
|
|
|
|
|
remark: string;
|
|
|
|
|
// 成员的状态,可能用数字表示不同的状态情况,比如 0 表示离线,1 表示在线等,用于展示成员的实时状态,方便其他成员了解交流情况。
|
|
|
|
|
state: number;
|
|
|
|
|
// 成员头像的 URL 地址,用于在聊天房间成员列表等位置展示该成员的头像图片,提升成员辨识度。
|
|
|
|
|
headImgUrl: string;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 定义一个类型别名 FeedsParams,用于表示获取动态消息(Feeds)时可能用到的参数集合,主要涉及分页相关的可选参数,用于控制获取的数据量和页码。
|
|
|
|
|
type FeedsParams = {
|
|
|
|
|
// 当前页码,用于分页获取动态消息时指定要获取的页码,方便处理动态消息数据较多需要分页展示的情况。
|
|
|
|
|
current?: number;
|
|
|
|
|
// 每页显示的记录数量,用于控制每页展示多少条动态消息内容,根据页面展示需求和用户体验来设置具体数值。
|
|
|
|
|
pageSize?: number;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
// 定义一个接口 FeedsItem,用于表示一条动态消息(Feeds)的详细信息,涵盖了消息的多方面属性,从基本标识到内容、相关多媒体等情况。
|
|
|
|
|
interface FeedsItem {
|
|
|
|
|
// 动态消息的唯一标识符,一般是一个数字类型的 ID,用于在系统内唯一标识该条动态消息,便于进行查找、管理等操作。
|
|
|
|
|
feedId: number;
|
|
|
|
|
// 动态消息创建时间的字符串表示形式,方便直接展示给用户看,提高时间的可读性,告知用户消息发布的时间。
|
|
|
|
|
strCreateTime: string;
|
|
|
|
|
// 可能是与该动态消息相关联的故障 ID(具体取决于业务场景,比如在一些故障反馈类的动态消息中使用),用于关联对应的故障信息等操作。
|
|
|
|
|
faultId: number;
|
|
|
|
|
// 动态消息的类型,可能用数字来区分不同类型的动态消息,例如 1 表示文本消息,2 表示图片消息等,用于分类管理和展示动态消息。
|
|
|
|
|
type: number;
|
|
|
|
|
// 发布动态消息的用户在系统中的用户名,用于识别消息的发布者,方便查看谁发布了该条消息。
|
|
|
|
|
userName: string;
|
|
|
|
|
// 发布动态消息的用户的昵称,展示给其他用户看的友好称呼,比 userName 更直观地体现发布者身份。
|
|
|
|
|
nickName: string;
|
|
|
|
|
// 动态消息的状态,可能用数字表示不同的状态情况,比如 0 表示未审核,1 表示已发布等,用于判断消息当前的处理状态,以便进行相应的业务处理。
|
|
|
|
|
status: number;
|
|
|
|
|
// 扩展标识,可能用于表示动态消息是否有扩展内容或者特殊属性等情况,具体含义取决于业务逻辑中对扩展功能的定义。
|
|
|
|
|
extFlag: number;
|
|
|
|
|
// 隐私标识,用于表示动态消息的隐私设置情况,例如 0 表示公开,1 表示仅好友可见等,根据隐私需求来控制消息的可见范围。
|
|
|
|
|
privFlag: number;
|
|
|
|
|
// 可能是一个字符串类型的唯一标识符,具体用途取决于业务场景,比如用于关联其他相关对象或者作为某种特殊的标识,辅助动态消息的管理和操作。
|
|
|
|
|
stringId: string;
|
|
|
|
|
// 动态消息内容的描述信息,一般是文本形式,用于简要说明动态消息的核心内容,方便用户快速了解消息大意。
|
|
|
|
|
contentDesc: string;
|
|
|
|
|
// 动态消息相关的多媒体资源数组,每个元素代表一个多媒体对象(如图片、视频等)的详细信息,用于展示动态消息附带的多媒体内容。
|
|
|
|
|
medias: Media[];
|
|
|
|
|
// 动态消息发布的地理位置信息对象,包含地点分类、名称、地址以及所在城市等详细信息,用于展示消息发布的位置情况。
|
|
|
|
|
location: Location;
|
|
|
|
|
// 发布动态消息的用户头像的 URL 地址,用于在展示动态消息时一并展示发布者的头像,提升消息的展示效果和辨识度。
|
|
|
|
|
headImgUrl: string;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 定义一个接口 Media,用于表示多媒体资源(如图片、视频等)的详细信息,主要包含资源的 URL 地址以及缩略图的 URL 地址等信息。
|
|
|
|
|
interface Media {
|
|
|
|
|
// 多媒体资源的 URL 地址,通过该地址可以获取并展示对应的多媒体内容,比如图片的网络地址用于在页面上显示图片。
|
|
|
|
|
url: string;
|
|
|
|
|
// 多媒体资源缩略图的 URL 地址,缩略图通常用于在列表等场景下先展示一个小尺寸的预览图,用户点击后再查看完整的多媒体内容,提高页面加载速度和展示效果。
|
|
|
|
|
thumb: string;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//
|
|
|
|
|
// 定义一个接口 Location,用于表示地理位置相关的信息,包含了地点分类标识、名称、地址以及分类类型和所在城市等属性,方便在涉及位置信息的业务场景中使用。
|
|
|
|
|
interface Location {
|
|
|
|
|
// 地点分类的唯一标识符,通常是一个字符串类型的 ID,用于在系统中对不同类型的地点进行分类管理和识别,比如按商业、住宅等分类时的对应 ID。
|
|
|
|
|
poiClassifyId: string;
|
|
|
|
|
// 地点的名称,用于直观展示该地点的具体称呼,例如“XX 商场”“XX 小区”等,方便用户快速知晓所指地点是什么。
|
|
|
|
|
poiName: string;
|
|
|
|
|
// 地点的详细地址信息,包含街道、门牌号等具体内容,能精确地定位该地点所在的位置,便于导航等相关操作。
|
|
|
|
|
poiAddress: string;
|
|
|
|
|
// 地点分类的类型,一般用数字来表示不同的分类情况,例如 1 表示餐饮类地点,2 表示娱乐类地点等,用于对地点进行分类统计、筛选等操作。
|
|
|
|
|
poiClassifyType: number;
|
|
|
|
|
// 地点所在的城市名称,明确该地点位于哪个城市,方便区分不同城市的同名地点或者进行基于城市范围的相关业务处理。
|
|
|
|
|
city: string;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 定义一个接口 SessionItem,用于表示会话相关的一个项目信息,涵盖了会话中涉及的用户、消息内容、消息状态以及时间等多方面属性,通常用于展示会话列表等场景。
|
|
|
|
|
interface SessionItem {
|
|
|
|
|
// 参与会话的用户在系统中的用户名,用于唯一标识该用户,便于系统在内部进行数据关联和操作,不一定直接展示给用户看。
|
|
|
|
|
userName: string;
|
|
|
|
|
// 用户在该会话中的别名,可能是特定于这个会话场景下使用的另一个称呼,与用户名或昵称有所区别,具体取决于业务逻辑中的设置。
|
|
|
|
|
alias: string;
|
|
|
|
|
// 用户的昵称,是展示给其他用户看的友好称呼,相比用户名更具可读性和个性化,用于在会话界面等场景体现用户身份。
|
|
|
|
|
nickName: string;
|
|
|
|
|
// 会话的状态,可能用数字来表示不同的状态情况,比如 0 表示未读,1 表示已读等,方便用户了解会话的处理情况以及进行相应的业务逻辑判断。
|
|
|
|
|
status: number;
|
|
|
|
|
// 会话中的消息内容,以文本形式呈现,是会话传递的核心信息,展示具体的交流内容给用户查看。
|
|
|
|
|
content: string;
|
|
|
|
|
// 消息的类型,可能用数字区分不同种类的消息,例如 1 表示文本消息,2 表示图片消息,3 表示语音消息等,用于对消息进行分类处理和展示。
|
|
|
|
|
msgType: number;
|
|
|
|
|
// 消息的状态,同样可以用数字表示不同情况,比如 1 表示已发送成功,2 表示发送失败等,便于判断消息在传递过程中的情况,以便采取相应措施。
|
|
|
|
|
msgStatus: number;
|
|
|
|
|
// 消息的时间戳,以数字形式记录消息产生的具体时间点,方便进行时间排序、筛选等操作,例如按照时间先后展示会话消息列表。
|
|
|
|
|
time: number;
|
|
|
|
|
// 消息时间的字符串表示形式,经过格式化处理后更便于直接展示给用户看,提高时间的可读性,比如“2024-12-17 10:30:00”这种格式。
|
|
|
|
|
strTime: string;
|
|
|
|
|
// 消息的简短时间表示形式,可能是只展示时分或者更简略的时间格式,适用于在一些空间有限的界面上快速展示消息时间,例如“10:30”。
|
|
|
|
|
shortTime: string;
|
|
|
|
|
// 参与会话用户头像的 URL 地址,通过该地址可以获取并展示用户的头像图片,提升会话界面中用户的辨识度。
|
|
|
|
|
headImgUrl: string;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 定义一个类型别名 MsgParams,用于表示查询消息时可能用到的参数集合,这些参数大多是可选的,可根据具体的查询需求灵活组合使用。
|
|
|
|
|
type MsgParams = {
|
|
|
|
|
// 消息的发送者或对话者标识,可能是用户名、用户 ID 等信息,用于指定查询某个特定用户相关的消息,比如查看与某个好友的聊天记录。
|
|
|
|
|
talker?: string;
|
|
|
|
|
// 下一个消息的序列号,在分页查询消息或者按照顺序获取消息等场景下可能会用到,用于确定从哪条消息开始继续获取,方便实现消息的分批加载等功能。
|
|
|
|
|
nextSequence?: number;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
// 定义一个类型别名 ExportMsgParams,用于表示导出消息时可能用到的参数集合,目前只有一个可选的 talker 参数,可用于指定导出哪个用户相关的消息内容。
|
|
|
|
|
type ExportMsgParams = {
|
|
|
|
|
// 消息的发送者或对话者标识,作用与 MsgParams 中的 talker 类似,用于明确要导出消息的相关用户,比如导出与某个特定联系人的聊天记录。
|
|
|
|
|
talker?: string;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
// 定义一个接口 MsgItem,用于详细表示一条消息的完整信息,包含了消息的各种标识、内容、相关资源链接以及嵌套的小程序、卡片链接等详细属性,全面记录了消息的各方面情况。
|
|
|
|
|
interface MsgItem {
|
|
|
|
|
// 消息在服务器端的唯一标识符,一般是一个字符串类型的 ID,用于在服务器存储和管理消息时进行唯一标识,方便查找、关联等操作。
|
|
|
|
|
msgSvrId: string;
|
|
|
|
|
// 消息在本地的唯一标识符,通常是一个数字类型的 ID,用于在本地设备上区分不同的消息,比如在本地缓存、展示消息列表时使用。
|
|
|
|
|
localId: number;
|
|
|
|
|
// 消息的类型,用数字表示不同种类的消息,例如区分文本、图片、语音等不同类型消息,便于进行分类处理和展示逻辑编写。
|
|
|
|
|
type: number;
|
|
|
|
|
// 消息的子类型,进一步细分消息类型,比如对于图片消息,子类型可以区分是静态图片还是动态图片等更细致的分类,用于更精准的业务处理。
|
|
|
|
|
subType: number;
|
|
|
|
|
// 表示是否是消息发送者的标识,一般用数字表示,例如 1 表示是发送者发送的消息,0 表示是接收者收到的消息,方便判断消息的发送来源。
|
|
|
|
|
isSender: number;
|
|
|
|
|
// 消息创建的时间戳,记录消息产生的具体时间点,用于时间排序、消息历史记录等相关操作,比如按照时间先后展示聊天记录。
|
|
|
|
|
createTime: number;
|
|
|
|
|
// 消息的序列号,用于对消息进行顺序编号,在一些需要按顺序处理消息或者分页查询消息等场景下有重要作用,确保消息顺序的准确性。
|
|
|
|
|
sequence: number;
|
|
|
|
|
// 消息创建时间的字符串表示形式,经过格式化后便于直接展示给用户看,提高时间的可读性,比如“2024-12-17 10:30:00”格式的时间字符串。
|
|
|
|
|
strCreateTime: string;
|
|
|
|
|
// 图片消息的 MD5 值,用于验证图片数据的完整性、唯一性等,在图片存储、传输以及对比等场景下有重要作用,确保图片数据的准确性。
|
|
|
|
|
imgMd5: string;
|
|
|
|
|
// 图片消息中图片的 URL 地址,通过该地址可以获取并展示对应的图片资源,用于在消息中展示发送或接收的图片内容。
|
|
|
|
|
image: string;
|
|
|
|
|
// 图片消息中图片缩略图的 URL 地址,缩略图用于在消息列表等场景先展示一个小尺寸的预览图,用户点击后再查看完整图片,提高页面加载速度和展示效果。
|
|
|
|
|
thumb: string;
|
|
|
|
|
// 表情符号的 URL 地址,用于在消息中展示对应的表情图片资源,当消息包含表情符号时,通过该地址获取并显示表情,丰富消息的表达方式。
|
|
|
|
|
emojiUrl: string;
|
|
|
|
|
// 消息内容的文本表示形式,对于文本消息直接展示具体内容,对于其他类型消息也可能包含一些相关的描述性文本,比如图片消息的文字说明等。
|
|
|
|
|
strContent: string;
|
|
|
|
|
// 消息发送者或相关用户头像的 URL 地址,用于在消息展示界面展示对应的头像图片,方便用户识别消息来源等情况。
|
|
|
|
|
avatar: string;
|
|
|
|
|
// 引用消息的内容,当消息是回复、转发等涉及引用其他消息的情况时,该属性用于存储被引用消息的具体内容,便于用户查看引用上下文。
|
|
|
|
|
referMsgContent: string;
|
|
|
|
|
// 与消息相关的小程序信息对象,包含小程序的标题、展示名称、图标地址以及页面缩略图地址等详细信息,用于展示消息中嵌入小程序的相关情况。
|
|
|
|
|
weAppInfo: WeAppInfo;
|
|
|
|
|
// 与消息相关的卡片链接信息对象,包含卡片的标题、来源展示名称、描述以及链接地址等信息,用于展示消息中嵌入卡片(如文章链接卡片、商品链接卡片等)的详细情况。
|
|
|
|
|
cardLink: CardLink;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 定义一个接口 WeAppInfo,用于表示与小程序相关的详细信息,包含小程序的标题、展示名称、图标地址以及页面缩略图地址等属性,方便在消息中展示小程序的相关情况。
|
|
|
|
|
interface WeAppInfo {
|
|
|
|
|
// 小程序的标题,一般是小程序本身设定的主要名称,用于直观体现小程序的核心功能或主题,例如“XX 购物小程序”。
|
|
|
|
|
title: string;
|
|
|
|
|
// 小程序的来源展示名称,可能是在消息中呈现给用户看的、与小程序来源相关的称呼,比如来自某个特定商家的小程序名称展示。
|
|
|
|
|
sourceDisplayName: string;
|
|
|
|
|
// 小程序图标的 URL 地址,通过该地址可以获取并展示小程序的图标图片,方便用户在消息中快速识别小程序。
|
|
|
|
|
weAppIconUrl: string;
|
|
|
|
|
// 小程序页面缩略图的原始 URL 地址,用于获取并展示小程序页面的缩略图,通常在消息中先展示缩略图,用户点击后进入小程序相应页面。
|
|
|
|
|
weAppPageThumbRawUrl: string;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 定义一个接口 CardLink,用于表示卡片链接相关的详细信息,涵盖卡片的标题、来源展示名称、描述以及链接地址等属性,用于展示消息中嵌入卡片的具体情况。
|
|
|
|
|
interface CardLink {
|
|
|
|
|
// 卡片的标题,一般是卡片所指向内容的核心标题,比如文章标题、商品名称等,用于吸引用户点击查看卡片详细内容。
|
|
|
|
|
title: string;
|
|
|
|
|
// 卡片的来源展示名称,可能是发布该卡片内容的来源方名称,例如来自某个网站、商家等的名称展示,方便用户知晓卡片来源。
|
|
|
|
|
sourceDisplayName: string;
|
|
|
|
|
// 卡片内容的描述信息,一般是一段简短的文字,用于简要介绍卡片所指向内容的核心要点,吸引用户进一步点击查看详情。
|
|
|
|
|
des: string;
|
|
|
|
|
// 卡片链接的实际 URL 地址,通过点击该链接,用户可以跳转到对应的网页、商品页面等具体内容页面,查看详细信息。
|
|
|
|
|
url: string;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 定义一个接口 WeChatConfig,用于表示微信相关的配置信息,包含了诸如进程 ID、基础地址、版本号以及账号相关的多个属性,用于配置微信应用的各种参数和标识信息。
|
|
|
|
|
interface WeChatConfig {
|
|
|
|
|
// 进程 ID,用于在系统中唯一标识微信应用的运行进程,方便进行进程管理、资源分配以及与其他进程的交互等操作。
|
|
|
|
|
pid: number;
|
|
|
|
|
// 基础地址相关的数字标识,具体含义取决于微信应用的内部架构和数据存储等相关情况,可能用于定位资源、数据库等基础信息。
|
|
|
|
|
baseAddress: number;
|
|
|
|
|
// 微信应用的版本号,以字符串形式表示,用于区分不同版本的微信,方便进行版本更新提示、兼容性判断等业务操作。
|
|
|
|
|
version: string;
|
|
|
|
|
// 微信账号的昵称,是展示给其他用户看的友好称呼,用于在微信界面等场景体现账号使用者的身份,用户可自行修改设置。
|
|
|
|
|
nickname: string;
|
|
|
|
|
// 微信账号,一般是唯一标识该微信账号的字符串,用于登录、账号关联等操作,在系统内具有唯一性,方便进行账号相关的管理和验证。
|
|
|
|
|
account: string;
|
|
|
|
|
// 微信绑定的手机号码,用于账号安全验证、找回密码等操作,同时也方便与手机通讯录等进行关联,增加账号的安全性和便利性。
|
|
|
|
|
mobile: string;
|
|
|
|
|
// 微信相关的密钥,可能用于加密通信、数据存储等多种安全相关的操作,确保微信应用内的数据保密性和完整性,具体用途依业务逻辑而定。
|
|
|
|
|
key: string;
|
|
|
|
|
// 基础路径,可能是文件存储、资源查找等操作所依据的基础目录路径信息,用于定位微信应用相关的文件、数据等资源,具体含义取决于应用内部设计。
|
|
|
|
|
basePath: string;
|
|
|
|
|
// 微信相关的唯一标识符,比如微信用户 ID,用于在微信系统内准确识别该用户,在各种数据关联、消息传递等操作中起到关键的标识作用。
|
|
|
|
|
wxId: string;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 定义一个接口 Decrypt,用于表示解密相关的信息,包含了文件名、文件大小、当前解密进度以及总任务量等属性,方便在解密操作过程中展示相关状态信息,供用户了解解密进展情况。
|
|
|
|
|
interface Decrypt {
|
|
|
|
|
// 要解密的文件名称,以字符串形式呈现,用于标识正在进行解密操作的具体文件,方便用户知晓是哪个文件在解密。
|
|
|
|
|
fileName: string;
|
|
|
|
|
// 文件的大小,以字符串形式表示,可能是按照一定格式(如“10MB”“500KB”等)展示文件的大小情况,让用户对文件规模有直观了解。
|
|
|
|
|
fileSize: string;
|
|
|
|
|
// 当前解密操作已经完成的进度比例,以数字形式表示,取值范围一般在 0 到 100 之间(0 表示未开始,100 表示已完成),用于直观展示解密进展。
|
|
|
|
|
currentProgress: number;
|
|
|
|
|
// 解密任务的总工作量,一般以数字形式表示,比如总的文件块数量、总的字节数等,具体取决于解密任务的衡量方式,用于和当前进度对比,体现整体任务情况。
|
|
|
|
|
total: number;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 定义一个接口 MsgTypeDistributionItem,用于表示消息类型分布情况的一个项目信息,包含消息类型和对应的数量属性,常用于统计不同类型消息出现的频次等情况。
|
|
|
|
|
interface MsgTypeDistributionItem {
|
|
|
|
|
// 消息的类型,以字符串形式表示,比如“文本消息”“图片消息”等,用于明确统计的是哪种类型的消息情况。
|
|
|
|
|
type: string;
|
|
|
|
|
// 对应消息类型的数量,以数字形式表示,记录该类型消息出现的次数,方便进行消息类型分布的统计分析,例如绘制消息类型占比图表等操作。
|
|
|
|
|
value: number;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 定义一个接口 CountRecentMsgItem,用于表示最近消息统计相关的一个项目信息,包含消息类型、数量以及所属类别等属性,用于统计不同类别下不同类型消息的近期出现情况。
|
|
|
|
|
interface CountRecentMsgItem {
|
|
|
|
|
// 消息的类型,以字符串形式表示,用于区分不同种类的消息,比如“语音消息”“视频消息”等,明确统计对象的类型。
|
|
|
|
|
type: string;
|
|
|
|
|
// 对应消息类型的数量,以数字形式表示,记录该类型消息在近期出现的次数,方便分析近期消息的频次情况。
|
|
|
|
|
value: number;
|
|
|
|
|
// 消息所属的类别,以字符串形式表示,比如“社交类消息”“工作类消息”等,用于对消息从更宏观的角度进行分类统计,便于从不同维度分析消息情况。
|
|
|
|
|
category: string;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 定义一个接口 TopContactsMonthlyItem,用于表示每月热门联系人相关的一个项目信息,包含联系人的用户名、昵称、头像 URL 以及联系次数等属性,用于统计每月与用户联系较为频繁的联系人情况。
|
|
|
|
|
interface TopContactsMonthlyItem {
|
|
|
|
|
// 联系人在系统中的用户名,用于唯一标识该联系人,便于系统内部进行数据关联和操作,不一定直接展示给用户看。
|
|
|
|
|
userName: string;
|
|
|
|
|
// 联系人的昵称,是展示给其他用户看的友好称呼,相比用户名更具可读性和个性化,用于在联系人列表等场景体现联系人身份。
|
|
|
|
|
nickName: string;
|
|
|
|
|
// 联系人头像的 URL 地址,通过该地址可以获取并展示联系人的头像图片,提升联系人在界面上的辨识度。
|
|
|
|
|
headImgUrl: string;
|
|
|
|
|
// 与该联系人在本月的联系总次数,以数字形式表示,用于统计联系人之间的联系频繁程度,方便找出每月联系较多的重要联系人。
|
|
|
|
|
total: number;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 定义一个接口 StatsPanel,用于表示统计面板相关的信息,包含联系人数量、聊天房间数量、发送消息数量以及接收消息数量等属性,用于在界面上展示微信应用相关的一些关键统计数据。
|
|
|
|
|
interface StatsPanel {
|
|
|
|
|
// 联系人的总数量,以数字形式表示,用于展示用户在微信中拥有的联系人规模情况,方便用户对自己的社交资源有直观了解。
|
|
|
|
|
contact: number;
|
|
|
|
|
// 聊天房间(如微信群聊等)的总数量,以数字形式表示,体现用户参与的群聊数量情况,反映用户在群组交流方面的参与程度。
|
|
|
|
|
chatRoom: number;
|
|
|
|
|
// 用户发送消息的总数量,以数字形式表示,可用于统计用户的消息输出情况,了解用户在微信交流中的活跃程度。
|
|
|
|
|
sent: number;
|
|
|
|
|
// 用户接收消息的总数量,以数字形式表示,用于统计用户接收到的消息情况,与发送消息数量对比,可分析用户在交流中的信息流入流出情况。
|
|
|
|
|
received: number;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 定义一个接口 RecentUsedKeyWordItem,用于表示最近使用的关键字相关的一个项目信息,只包含关键字的文本内容属性,用于统计和展示用户近期在消息中经常使用的关键字情况。
|
|
|
|
|
interface RecentUsedKeyWordItem {
|
|
|
|
|
// 关键字的文本内容,以字符串形式呈现,记录用户在消息中频繁出现的字词,方便分析用户近期关注的话题、交流重点等情况。
|
|
|
|
|
text: string;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 定义一个类型别名 RecoverContactParams,用于表示恢复联系人时可能用到的参数集合,包含分页相关参数以及
|
|
|
|
|
|
|
|
|
|
// 定义一个类型别名 RecoverContactParams,用于表示恢复联系人操作时可能用到的参数集合。这些参数大多是可选的,方便根据不同的业务场景和需求来灵活使用,以实现精准或批量恢复联系人的功能。
|
|
|
|
|
type RecoverContactParams = {
|
|
|
|
|
// 当前页码,用于分页查询需要恢复的联系人信息时指定要获取的页码,在联系人数据较多,需要分多页展示和处理的情况下使用,若不传则可由后端按默认逻辑处理。
|
|
|
|
|
current?: number;
|
|
|
|
|
// 每页显示的记录数量,用于控制分页查询时每页展示多少条联系人记录,便于合理展示大量联系人数据,提升操作界面的友好性和数据处理效率,同样为可选参数。
|
|
|
|
|
pageSize?: number;
|
|
|
|
|
// 联系人的昵称,可作为筛选条件来指定要恢复的具有特定昵称的联系人,方便用户在众多联系人中快速定位到想要恢复的对象,该参数可选,不传时则不按昵称进行筛选。
|
|
|
|
|
nickname?: string;
|
|
|
|
|
// 联系人的备注信息,也能当作筛选依据,用于查找带有特定备注内容的联系人进行恢复操作,同样是一个可选参数,根据实际情况选择是否使用。
|
|
|
|
|
remark?: string;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
// 定义一个接口 UserItem,用于表示用户相关的一个项目信息,包含了微信相关的唯一标识符、用户昵称、头像地址以及一个表示当前状态的布尔值等属性,常用于展示用户列表或者单个用户相关信息的场景。
|
|
|
|
|
interface UserItem {
|
|
|
|
|
// 微信用户的唯一标识符,通常是一个字符串类型的 ID,在微信系统内用于准确识别该用户,是进行各种用户相关操作(如消息传递、资料查看等)的关键标识。
|
|
|
|
|
wxId: string;
|
|
|
|
|
// 用户的昵称,是展示给其他用户看的友好称呼,用户可自行设置和修改,更符合个性化展示和社交互动中称呼的需求,方便他人识别用户身份。
|
|
|
|
|
nickname: string;
|
|
|
|
|
// 用户头像的 URL 地址,通过这个地址可以获取并展示对应的头像图片,使界面上能直观呈现用户的形象,提升辨识度和用户体验。
|
|
|
|
|
avatar: string;
|
|
|
|
|
// 一个布尔值,表示当前用户的某种状态,具体含义取决于业务逻辑,例如可以表示当前是否在线、是否为活跃用户或者是否被选中等等情况。
|
|
|
|
|
current: boolean;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 定义一个类型别名 SwitchUserParams,用于表示切换用户操作时可能用到的参数集合,目前只有一个可选的微信用户标识符(wxId)参数,用于指定要切换到的目标用户。
|
|
|
|
|
type SwitchUserParams = {
|
|
|
|
|
// 微信用户的唯一标识符,在需要切换用户时,通过传入对应的 wxId 来明确要切换到的具体微信用户,若不传该参数可能会按照默认规则(如上次登录用户、默认主账号等)进行切换操作。
|
|
|
|
|
wxId?: string;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
// 定义一个类型别名 DatabaseParams,用于表示与数据库操作相关(可能涉及微信数据存储相关数据库)时用到的参数集合,当前只有一个可选的微信用户标识符(wxId)参数,可用于关联特定用户的数据操作等情况。
|
|
|
|
|
type DatabaseParams = {
|
|
|
|
|
// 微信用户的唯一标识符,在数据库操作场景下,比如查询、更新某个用户在数据库中的聊天记录、个人资料等相关数据时,通过传入 wxId 来指定具体用户的数据范围,不传时可能操作全部用户数据或者按默认规则处理。
|
|
|
|
|
wxId?: string;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
// 定义一个接口 DatabaseItem,用于表示数据库相关项目的信息,包含了文件路径和文件大小两个属性,常用于描述数据库中存储的文件(比如备份文件、聊天记录文件等)相关情况。
|
|
|
|
|
interface DatabaseItem {
|
|
|
|
|
// 文件的存储路径,以字符串形式呈现,明确该文件在系统中的具体位置,方便进行文件的读取、写入、备份、恢复等操作,依据此路径可以定位到对应的数据库相关文件。
|
|
|
|
|
filePath: string;
|
|
|
|
|
// 文件的大小,同样以字符串形式表示,可能按照常见的文件大小格式(如“10MB”“500KB”等)来展示,让使用者对数据库文件的规模有直观的了解,便于进行存储管理等操作。
|
|
|
|
|
fileSize: string;
|
|
|
|
|
}
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
// 定义一个接口 UserInfo,用于表示用户的详细信息,涵盖了基础路径、微信用户标识符、昵称、版本号、账号以及手机号码等多方面属性,全面记录了用户在系统中的关键信息,用于展示、管理以及各种与用户相关的业务操作。
|
|
|
|
|
interface UserInfo {
|
|
|
|
|
// 基础路径,可能是用于定位用户相关文件、数据存储位置等的根目录路径信息,例如用户聊天记录、配置文件等所在的基础目录,具体取决于系统的文件组织结构和数据管理方式。
|
|
|
|
|
basePath: string;
|
|
|
|
|
// 微信用户的唯一标识符,用于在微信系统内准确识别该用户,在消息传递、数据关联、权限管理等众多操作中起到核心的标识作用,确保对特定用户的操作准确性。
|
|
|
|
|
wxId: string;
|
|
|
|
|
// 用户的昵称,是展示给其他用户看的友好称呼,方便在社交互动、界面展示等场景体现用户身份,用户可根据喜好自行修改。
|
|
|
|
|
nickname: string;
|
|
|
|
|
// 版本号,以字符串形式表示,可能用于区分不同时期、不同状态下的用户配置版本或者应用版本等情况,比如在进行版本更新提示、数据兼容性处理等业务时会用到。
|
|
|
|
|
version: string;
|
|
|
|
|
// 微信账号,一般是唯一标识该微信账号的字符串,用于登录、账号验证、关联第三方账号等操作,是用户在微信系统中进行各种活动的重要身份凭证,具有唯一性。
|
|
|
|
|
account: string;
|
|
|
|
|
// 微信绑定的手机号码,用于账号安全验证、找回密码、接收重要通知等操作,同时也便于与手机通讯录进行关联,增强账号的安全性和便利性。
|
|
|
|
|
mobile: string;
|
|
|
|
|
}
|
|
|
|
|
};
|
|
|
|
|
|