对于当前微信消息收发使用C#实现较好的一个DEMOEntities/Request*.cs用于接收微信平台自动发送到服务器的实体(发送过来的是XML),包括文本、位置、图片三类Entities/Response*.cs用于反馈给发送人的信息实体(最终会转成XML),包括文本、新闻(图文)两类Helpers/EntityHelper.cs用于实体和XML之间的转换(由于其中有许多需要特殊处理的字段和类型,这里不能简单用XML序列化)Helpers/MsgTypeHelper.cs用于获取消息类型CheckSignature.cs验证请求合法性类Enums.cs各种枚举RequestMessageFactory.cs用于自动生成不同Request类型的实体,并作必要的数据填充Senparc.Weixin.MP几个关键类及重要方法(按一般使用过程排序)生成验证字符串:Senparc.Weixin.MP.CheckSignature.GetSignature(stringtimestamp,stringnonce,stringtoken=null),返回根据微信平台提供的数据,SHA1加密后的验证字符串(注意token必须跟公众平台的设置一直)验证请求:Senparc.Weixin.MP.CheckSignature.Check(stringsignature,stringtimestamp,stringnonce,stringtoken=null),验证请求是否合法获取请求实体:varrequestMessage=Senparc.Weixin.MP.RequestMessageFactory.GetRequestEntity(XDocumentdoc);根据不同请求的类型,自动生成可用于操作的实体(doc只需要用XDocument.Parse(xmlString)就能生成),requestMessage.MsgType就是请求枚举类型。
进行判断及各类操作。
根据需要,创建响应类型的实体,如:varresponseMessage=ResponseMessageBase.CreateFromRequestMessage(requestMessage,ResponseMsgType.Text)asResponseMessageText;即可返回文本类型信息。
由于目前微信只接受XML的返回数据,所以在返回之前还需要做一次转换:XDocumentresponseDoc=Senparc.Weixin.MP.Helpers.EntityHelper.ConvertEntityToXml(responseMessage);varxmlString=responseDoc.ToString();至此整个微信公众账号的自动响应过程结束。
下面可以直接下载源代码及示例(示例是ASP.NETMVC4,.NET4.0,为了提高兼容性,Senparc.Weixin.MP源代码使用.NET3.5):压缩包中包含三个文件夹:Senparc.Weixin.MP、Senparc.Weixin.MP.BuildOutPut、Senparc.Weixin.MP.Sample,分别对应Senparc.Weixin.MP.dll源代码项目、Senparc.Weixin.MP.dll输出目录、Web示例,Web示例建议放到公网测试,让公众平台自动发送
2025/8/10 13:56:54 12.09MB C# 微信 接口 消息收发
1
用C#制作的船舶系统,包括登录,筹建,查询,修改变更等
2025/8/10 11:23:56 152KB C#
1
数据结构课程中的一个小实验,用C++实现,欢迎大家下载学习
2025/8/10 7:42:17 3KB 欧洲 代码 数据结构
1
IS-3系列压力变送器专为满足危险区域的工业要求而设计,具有通用认证,如ATEX、IECEx、FM和CSA,以及符合IEC61508/IEC61511的用于过程工业的SIL等级要求。
IS-3型压力变送器的量程高达600MPa,能满足常规机器制造中高压应用场合的需求。
2025/8/10 5:57:32 1.33MB IS-3 WIKA
1
用于matlab的反距离权重插值函数,是比较方便的插值方法之一
2025/8/10 4:08:06 1.41MB matlab IDW
1
写了一下2019年的“华中杯”B题,在第一问建立了2个模型分别是神经网络与灰色理论预测,第二三问用数据挖掘的方式
2025/8/10 4:20:21 1.47MB 华中杯 电商 matlab 库存补单
1
搞小程序开发,请求接口的加密部分用到md5,百度一大堆垃圾的jsmd5加密,每一个都正确,都是不支持中文的,爬墙才找到这个,希望大家别入坑了。
jsmd5加密,md5支持utf-8加密,javascriptmd5加密,最好用jsmd5加密。
2025/8/10 2:07:56 2KB js md5加密 md5支持utf-8 javascript
1
给出椭圆曲线密码体制的公钥,私钥等参数,实现用椭圆曲线密码体制加解密文件
2025/8/10 2:11:22 415KB 椭圆曲线 ECC 加解密 C++实现
1
人脸目标检测的matlab实现,基于图像处理的算法,没有用到深度学习。
机器视觉基础、机器视觉之人脸目标检测
2025/8/10 1:11:51 3.24MB matlab
1
OSJB倾斜数据,大小2个G,精度5cm,可用于cesuim学习,可自行转换成3Dtiles在cesuim上展现,转换工具也将会上传上来
2025/8/10 0:10:43 10KB cesium OSGB 3DTiles 倾斜摄影
1
共 1000 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡