| Crates.io | puniyu_contact |
| lib.rs | puniyu_contact |
| version | 0.4.1 |
| created_at | 2025-10-24 14:26:27.992424+00 |
| updated_at | 2025-11-16 07:30:10.896425+00 |
| description | puniyu 的联系人相关 |
| homepage | https://github.com/puniyu/puniyu |
| repository | https://github.com/puniyu/puniyu |
| max_upload_size | |
| id | 1898488 |
| size | 10,717 |
联系人管理模块
puniyu_contact 是 puniyu 项目中用于管理联系人信息的核心库。它提供了好友和群组联系人的统一抽象,支持序列化和反序列化操作,并为不同类型的消息场景提供了一致的接口。
表示消息来源场景的枚举类型:
Group: 群聊场景Friend: 好友私聊场景联系人统一抽象枚举,包含两种类型:
Friend(FriendContact): 好友联系人Group(GroupContact): 群组联系人好友联系人信息结构:
scene: 消息场景,固定为 Scene::Friendpeer: 好友IDname: 好友名称群组联系人信息结构:
scene: 消息场景,固定为 Scene::Grouppeer: 群聊IDname: 群聊名称用于快速创建好友联系人:
// 简洁形式
let friend = contact_friend!("123456", "Alice");
// 命名参数形式
let friend = contact_friend!(peer: "123456", name: "Alice");
用于快速创建群组联系人:
// 简洁形式
let group = contact_group!("987654", "开发群");
// 命名参数形式
let group = contact_group!(peer: "987654", name: "开发群");
as_friend(): 尝试将联系人转换为好友联系人as_group(): 尝试将联系人转换为群组联系人FriendContact 到 Contact 的自动转换GroupContact 到 Contact 的自动转换Serialize 和 Deserialize traitScene 枚举支持与字符串的相互转换use puniyu_contact::{Contact, FriendContact, GroupContact, contact_friend, contact_group};
// 创建好友联系人
let friend_contact = contact_friend!("123456", "Alice");
let friend: Contact = friend_contact.into();
}
本项目采用 LGPL 许可证。