基于C#简单实现的微信网页版接口

简介: 曾经,碎碎念的烦弃微信各种功能,无法拒绝语音消息,讨厌的微商,讨厌的领导,蛋疼的界面

​​一、想法来源

  ​      作为程序员,对自己工具不满,就要去改造,对于微信已经厌恶极久了。总有人不合时宜的发语音,总有老板无时无刻的艾特,总有微商群发各种消息。重点是不能忍受语音。​当现有客户端不能满足要求,心中无限郁闷,想着做一个客户端,去回怼那些发语音的人。

二、初期准备​

       最开始想从手机微信客户端动手​,奈何抓包看的我头疼,后来想到用Fiddler(比较友好易用)去抓微信网页版,就开始了各种抓包之旅。

三、目录接口​

        因为是第一次​写类似的类库,中间迭代重写了好几次,主要包含CommonTools.dll,HttpHelper.dll跟一个WeChatCore.dll,第一个工具包,提供简单工具类,例如一些扩展方法处理(不包含业务逻辑的),还有一些简单的日志记录之类的。第二个工具包就是简单的http请求,做了一个简单的封装。WeChatCore.dll是核心业务dll主要目录结构如下:

主要目录结构主要目录结构

​​首先Common文件夹下包含有

CommonCommon

​包含此三个工具类,

CommonMethodCallBackHandlers.cs提供一些方法回调,比如收到信息,发送信息,登录,扫码等等一系列交互回调。

MethodsHelper​.cs主要是一些产生微信协议随机字段跟字符串的帮助方法。

NotifyPropertyChanged.cs是一个属性变化通知方法,用来当某个字段属性变化时,执行某个动作,在下载头像中有用到。​

​此目录下三个类中重点关注下CommonMethodCallBackHandlers类,因为它直接决定了数据传输跟交互。

控件控件

​这个是最早的一个头像下载控件,继承自Image​,后来就没有用它

基础定义基础定义

​​Data文件夹本来是要放置一个登陆后的id的,但是后来工作忙了就没有实现。DefineClass是一系列的定义方法。CommonDefine.cs包含有一些基本的数据定义比如cookie缓存之类的,之所以放到这,我不想http部分承担太多业务层,ConfigDefine.cs配置日志,自动回复等本地存储的根路径。DirectoryDefine​.cs主要是创建一些基础的目录,比如声音,图像,视频之类的。LogPathDefine.cs主要是一些日志存储路径。UrlDefine.cs包含了所有的请求Url的定义。

实体类实体类

​百分之九十九为微信交互协议生成的实体类,注意一个类MsgEntity.cs  为自定义外部交互信息类,所有你想要的信息操作都在这里。​

枚举类枚举类

​主要是一些基本数据的枚举,待补充。

引用和默认头像引用和默认头像

​主要是引用的一些外部dll跟党头像没有下载下来时候的默认图像。

主体业务类主体业务类

内部结构内部结构

​其中包含一系列的静态方法,直接调用即可。

初始化方法如下

调用方式调用方式

​​先注册一系列的回调函数,然后调用WeChat.InitInitWeChatRobot();此方法最好放到异步线程中调用,主线程会卡死界面。

第一次瞎写,你们还是看代码吧、、、​

地址

https://gitee.com/tangmanger/WeChatCore

git


https://gitee.com/tangmanger/WeChatCore.git ​

https://gitee.com/tangmanger/EasyWeChatClient.git (简单例子)​​​​​

最近有点忙已经很久没来的及更新这个了

目录
相关文章
|
19天前
|
C# 索引
C# 一分钟浅谈:接口与抽象类的区别及使用
【9月更文挑战第2天】本文详细对比了面向对象编程中接口与抽象类的概念及区别。接口定义了行为规范,强制实现类提供具体实现;抽象类则既能定义抽象方法也能提供具体实现。文章通过具体示例介绍了如何使用接口和抽象类,并探讨了其实现方式、继承限制及实例化差异。最后总结了选择接口或抽象类应基于具体设计需求。掌握这两者有助于编写高质量的面向对象程序。
46 5
|
1月前
|
小程序 JavaScript Java
微信小程序+SpringBoot接入后台服务,接口数据来自后端
这篇文章介绍了如何将微信小程序与SpringBoot后端服务进行数据交互,包括后端接口的编写、小程序获取接口数据的方法,以及数据在小程序中的展示。同时,还涉及到了使用Vue搭建后台管理系统,方便数据的查看和管理。
微信小程序+SpringBoot接入后台服务,接口数据来自后端
|
1月前
|
API C# 数据库
SemanticKernel/C#:实现接口,接入本地嵌入模型
SemanticKernel/C#:实现接口,接入本地嵌入模型
51 1
|
30天前
|
前端开发
一键复制微信聊天框效果:HTML+CSS让网页聊天更生动!
一键复制微信聊天框效果:HTML+CSS让网页聊天更生动!
|
1月前
|
C#
C# 面向对象编程(三)——接口/枚举类型/泛型
C# 面向对象编程(三)——接口/枚举类型/泛型
24 0
|
3月前
|
XML JSON 数据安全/隐私保护
如何使用Fiddler抓取APP接口和微信授权网页源代码
Fiddler是一款强大的抓包工具,用于捕获HTTP/HTTPS流量,包括手机APP和微信授权页面的数据。下载安装Fiddler后,需设置电脑代理,如端口8888,并在手机上配置相同代理,确保两者在同一局域网。通过安装Fiddler证书,可解密HTTPS请求。在手机上打开目标应用或网页,Fiddler将显示请求详情,便于接口调试和数据查看。
122 0
如何使用Fiddler抓取APP接口和微信授权网页源代码
|
2月前
|
XML Java 数据格式
支付系统----微信支付20---创建案例项目--集成Mybatis-plus的补充,target下只有接口的编译文件,xml文件了,添加日志的写法
支付系统----微信支付20---创建案例项目--集成Mybatis-plus的补充,target下只有接口的编译文件,xml文件了,添加日志的写法
|
2月前
|
移动开发 JavaScript
thinkPHP5.0开发微信H5页面分享接口signature验证失败,signature与微信 JS 接口签名校验工具返回结果不一致
thinkPHP5.0开发微信H5页面分享接口signature验证失败,signature与微信 JS 接口签名校验工具返回结果不一致
71 0
|
2月前
|
小程序
【亲测有效】3步实现 微信小程序内接入小程序客服,网页端客服工具与移动端小程序客服工具使用方法,使用入口,并设置当前客服状态
【亲测有效】3步实现 微信小程序内接入小程序客服,网页端客服工具与移动端小程序客服工具使用方法,使用入口,并设置当前客服状态
152 0
|
3月前
|
API 开发工具
企业微信SDK接口API调用-触发推送企业微信微信好友
企业微信SDK接口API调用-触发推送企业微信微信好友

热门文章

最新文章