基于微信Http协议封装的一个Sdk,目前实现了以下功能:、

1:扫码登录(检测二维码扫描状态)

2:获取最近联系人、群组、所有联系人

3:修改好友备注

4:给好友发送消息

暂且这么多,也没多余的时间去增加了,大家有需要的可以下载源码自己扩展下

项目结构如下

如何使用

HttpWeChat类封装了所有和微信相关的功能,对外暴露了以下事件,在实例化HttpWeChat实例的时候就可以订阅相关事件,并做相对应操作

        /// <summary>
/// 二维码发生变化事件
/// </summary>
public event EventHandler<QrCodeChangEventArgs> QRCodeChangeEvent; /// <summary>
/// 二维码状态发生改变事件
/// </summary>
public event EventHandler<QrCodeStatusChangEventArgs> QRCodeStatusChangeEvent; /// <summary>
/// 初始化数据之前
/// </summary>
public event EventHandler<EventArgs> InitDatabeforeEvent; /// <summary>
/// 初始化数据完成
/// </summary>
public event EventHandler<EventArgs> InitDatacompleteEvent; /// <summary>
/// 消息检查事件
/// </summary>
public event EventHandler<SyncCheckEventArgs> SyncCheckEvent; /// <summary>
/// 收到新消息事件
/// </summary>
public event EventHandler<WebwxsyncEventArgs> WebwxsyncEvent;

发送消息

 var result = httpWeChat.SendMessage(new Model.SendMessage
{
ClientMsgId = DateTime.Now.ToUnix().ToString(),
Content = "测试一下",
ToUserName = httpWeChat.WeChatData.AllMember.FirstOrDefault(c => c.NickName == haoyouliebiao.Text)?.UserName,
FromUserName = httpWeChat.WeChatData.CurrentLoginMemberInfo.UserName
});
if (result.Status)
{
MessageBox.Show("消息发送成功!消息Id是:" + result.MsgId);
}
else {
MessageBox.Show("消息发送失败,错误消息是:"+result.ErrorMsg);
}

修改备注

           httpWeChat.UpdateRemarke(new Model.UpdateRemarke {
UserName = httpWeChat.WeChatData.AllMember.FirstOrDefault(c => c.NickName == haoyouliebiao.Text)?.UserName,
RemarkName = httpWeChat.WeChatData.AllMember.FirstOrDefault(c => c.NickName == haoyouliebiao.Text).RemarkName + "Sdk修改测试"
});
MessageBox.Show("修改成功!");

项目地址

https://github.com/dazhuangtage/Diego.WxHttpSdk/tree/master

当前项目源码仅供参考,不建议生产环境使用。

开源微信Http协议Sdk【实现登录/获取好友列表/修改备注/发送消息】的更多相关文章

  1. XMPP框架下微信项目总结(5)花名册获取(好友列表)

    ---->概念 ---->添加花名册 ps:添加花名册,启动: 客户端发送请求到服务器获取好友列表信息,同时在项目中创建数据表,并保存好友列表到数据表中. ---->获取服务器保存好 ...

  2. 一步一步来做WebQQ机器人-(四)(获取好友列表和群列表)

    × 本篇主要是: 获取好友列表,群列表 我会尽量详细一点,尽我所知的分享一些可能大家已经掌握的或者还不清楚的经验 利于大家阅读,文章样式不再复杂化,根据内容取固定色 目前总进度大概65% 全系列预计会 ...

  3. web qq 获取好友列表hash算法

    web qq 获取好友列表hash算法 在使用web qq的接口进行好友列表获取的时候,需要post一个参数:hash 在对其js文件进行分析之后,发现计算hash的函数位于: http://0.we ...

  4. XMPP系列(三)---获取好友列表、添加好友

    1.心跳检测.掉线重连功能 客户端和服务器端都可以设置多久发送一次心跳包,如果对方没有返回正确的pong信息,则会断开连接,而添加掉线重连功能,则会自动进行连接. 如果自己写聊天功能还得自己做心跳检测 ...

  5. XMPP系列(三)---获取好友列表、加入好友

    1.心跳检測.掉线重连功能 client和server端都能够设置多久发送一次心跳包,假设对方没有返回正确的pong信息,则会断开连接,而加入掉线重连功能,则会自己主动进行连接. 假设自己写聊天功能还 ...

  6. XMPP框架下微信项目总结(6)刷新好友列表(删除,添加好友)

    原理:1 服务器(openfire)添加/删除 好友,会向客户端(app)发送消息, 2 代理(xmppStreamDelegate)监听到添加/删除消息后,花名册模块(RosterModule)会在 ...

  7. 关于Android SDK Manager无法获取更新列表的正确设置

    1.以"管理员身份运行"SDK Manager. 2.Android SDK Manager"=>"Tools"=>"Optio ...

  8. 用简单的http抓包来实现微信公众网页如何模拟登录

    一.准备工具: 系统:XP 浏览器:IE8 抓包工具:HttpWatch(它可以查看url请求的数据包) 二.抓包思路: 浏览器上的任何获取数据的方式都符合http协议的请求,只要发送符合要求的数据就 ...

  9. 微信支付V3 SDK Payment Spring Boot 1.0.6 发布,实现留守红包,助力抗疫

    春节将至,为防控疫情,多地政府提倡员工.外来务工者留守本地过年,并鼓励企业向员工发放"留守红包".为此,微信支付推出"春节留守红包"能力,希望可以协助有发放需求 ...

随机推荐

  1. oracle中insert 多条数据方法

    oracle中的insert 和 mysql添加多条数据的 方式不太一样 用到的语法: insert all into 表名(需要添加的表字段)values(添加的字段数据一定要对应字段顺序) int ...

  2. 俄罗斯方块(JS+CSS)

    这是一个用 js + css 写的网页版俄罗斯方块. 具体代码与示例可访问我的另一个博客查看,源码与示例.

  3. 阿里云朱照远: AI打开新视界 8K时代已来!

    2018年4月11-12日,2018亚太CDN峰会在北京隆重召开,大会由亚太CDN领袖论坛.电视云论坛.短视频论坛.视频云论坛.新技术论坛.运营商论坛.国际云论坛等7大部分组成.在亚太CDN领袖峰会上 ...

  4. <button>与<input type="button">

    在做form表单,点击按钮随机生成两串密钥的时候 1.用第一种按钮的时候,会出现刷新form表单的现象.会把创建密钥前面的输入框中的字消失.虽然能生成密钥1和密钥2,但是会闪一下,随即消失.几个输入框 ...

  5. 【Ansible 文档】【译文】Windows 支持

    see also:List of Windows Modules Windows Support Windows 支持 Windows: How Does It Work Windows:如何工作 正 ...

  6. Shell脚本查询进程存活信息

    脚本代码如下: pid=`cat $2` function status_job(){ pcount=`ps -ef |grep $pid |grep -v grep |wc -l` if [ $pc ...

  7. Thinkphp5.0分页和跳页

    后台查询商品或者会员量需要用到分页展示列表,当页数比较多的时候为了体高用户体验度,需要添加一个跳页也就是手动输入页码数进行快速跳转指定页面.由于手动编写分页比较麻烦,又想使用TP5自带的分页,但是TP ...

  8. linux 的常用命令---------第十阶段

    虚拟机三种网络模式 相同模式下的各个虚拟机之间都可以通信----两台虚拟机若都是 nat模式 或 桥接模式 或 仅主机模式,则这两台虚拟机之间是可以通信的. 桥接模式: (配置桥接模式的虚拟机可作为独 ...

  9. TDD&BDD

    BDD行为驱动开发的一种敏捷开发技术 TDD测试驱动开发

  10. ap、map值计算

    ap:所有图片某一个类 map:所有图片所有类的ap的平均 以一个score为阈值,大于score的所有框是假定正确输出的所有预测,将这些框和gt匹配(iou大于某一个阈值认为匹配成功),得到当前sc ...