- 
                Notifications
    
You must be signed in to change notification settings  - Fork 20
 
        zheng sen he edited this page Feb 19, 2024 
        ·
        6 revisions
      
    用户类结构如下:
@Data
public class Contact {
    private WeChatClient weChatClient;
    @JSONField(name="Uin")
    private int uin;
    @JSONField(name="UserName")
    private String userName;
    @JSONField(name="NickName")
    private String nickName;
    @JSONField(name="HeadImgUrl")
    private String headImgUrl;
    @JSONField(name="ContactFlag")
    private int contactFlag;
    @JSONField(name="MemberCount")
    private int memberCount;
    @JSONField(name="MemberList")
    private List<?> memberList;
    @JSONField(name="RemarkName")
    private String remarkName;
    @JSONField(name="HideInputBarFlag")
    private int hideInputBarFlag;
    @JSONField(name="Sex")
    private int sex;
    @JSONField(name="Signature")
    private String signature;
    @JSONField(name="VerifyFlag")
    private int verifyFlag;
    @JSONField(name="OwnerUin")
    private int ownerUin;
    @JSONField(name="PYInitial")
    private String pyInitial;
    @JSONField(name="PYQuanPin")
    private String pyQuanPin;
    @JSONField(name="RemarkPYInitial")
    private String remarkPYInitial;
    @JSONField(name="RemarkPYQuanPin")
    private String remarkPYQuanPin;
    @JSONField(name="StarFriend")
    private int starFriend;
    @JSONField(name="AppAccountFlag")
    private int appAccountFlag;
    @JSONField(name="Statues")
    private int statues;
    @JSONField(name="AttrStatus")
    private long attrStatus;
    @JSONField(name="Province")
    private String province;
    @JSONField(name="City")
    private String city;
    @JSONField(name="Alias")
    private String alias;
    @JSONField(name="SnsFlag")
    private int snsFlag;
    @JSONField(name="UniFriend")
    private int uniFriend;
    @JSONField(name="DisplayName")
    private String displayName;
    @JSONField(name="ChatRoomId")
    private int chatRoomId;
    @JSONField(name="KeyWord")
    private String keyWord;
    @JSONField(name="EncryChatRoomId")
    private String encryChatRoomId;
    @JSONField(name="IsOwner")
    private int isOwner;
}ContactManager用于获取目录,通过调用
Contact contact = WeChatClient#getEventManager().getWeChatClient().getContactManager().getContactCache().get(username);Contact中委托了 HttpApi 的行为,你可以快捷的对已取得的用户发送文本,图片,视频等
    public void sendMessage(String message);
    public void sendImage(File file);
    public void sendVideo(File file);
    .....
    /**
     * 判断是否为群聊
     * @return
     */
    public boolean isGroup();wechatbc维护了一个session类来保持与微信服务器通讯
@Data
public class Session {
    @JSONField(name = "BaseRequest")
    BaseRequest baseRequest;
    @JSONField(serialize = false)
    WxInitInfo wxInitInfo;
    @JSONField(serialize = false)
    List<Cookie> initCookie;
    // 作为同步消息的synckey,不参与序列化
    SyncKey checkSyncKey;
    // 获取消息的SyncKey
    @JSONField(name = "SyncKey")
    SyncKey syncKey;
}你可以通过以下代码取得
        Session session = weChatClient.getWeChatCore().getSession();WxInitInfo 内的 user 字段即为当前登录的用户