当前位置: 首页 > 软件库 > 程序开发 > 常用工具包 >

WeiXinSDK

微信公开帐号接口
授权协议 GPL
开发语言 C#
所属分类 程序开发、 常用工具包
软件类型 开源软件
地区 国产
投 递 者 柴宏浚
操作系统 Windows
开源组织
适用人群 未知
 软件概览

WeiXinSDK 是微信公开帐号接口。

比如给一个物流公司的公众账号发个运单号,

对方自动回复你这个运单号的物流详细,感觉挺酷!为了说明方便,先给出申请好的公众账号信息:

下图为表示上面查看物流详细的消息流程(虚线的编号表示流程的顺序):

 

微信会向你的URL发送两大类消息:

一是用户的一般消息,如上面用户发的运单号;

二是用户的行为(即文档中说的事件)  ,如用户关注了你的公众账号、扫描了公众账号的二维码、点击了你自定义的菜单等。

 你的URL就可以根据收到的消息类型和内容做出回应以实现强大的业务服务,如上面返回的物流详细。消息全部是以XML格式传递,而SDK做的就是把XML转换成.NET对象,以方便你编写业务逻辑。消息的框架类图表示为(点击查看包括子类的全图):

 首先有个消息基类,然后是收到的消息(RecEventBaseMsg)和回复的消息(ReplyBaseMsg),上面说了,收到的消息分两大类,即一般消息(RecBaseMsg)和事件消息(EventBaseMsg),收到的消息类型用枚举表示可以是:

其他的类型不说,而当MsgType为Event时,消息便是EventBaseMsg的子类了,所有EventBaseMsg的子类的MsgType都是Event,所以EventBaseMsg类型又有个EventType来区分不同的事件,如果你看过接口文档,你应该知道,它的事件类型对我们判断到底是哪个事件不太友好,扫描二维码事件分了用户已关注和未关注两种情况,已关注时EvenType是scan,未关注时EventType是subscribe,而用户关注事件的EventType也是subscribe,所以SDK里又加了个MyEventType:


 

相关代码:

 

public class WeiXinUrl : IHttpHandler
{
    static string token = "token";
    static string AppId = "AppId";
    static string AppSecret = "AppSecret";
    public void ProcessRequest(HttpContext context)
    {
        context.Response.ContentType = "text/plain";
        var signature = context.Request["signature"] ?? string.Empty;
        var timestamp = context.Request["timestamp"] ?? string.Empty;
        var nonce = context.Request["nonce"] ?? string.Empty;
        //var echostr = context.Request.QueryString["echostr"] ?? string.Empty;
        if (WeiXin.CheckSignature(signature, timestamp, nonce, token))
        {
            //context.Response.Write(echostr);
            var replyMsg = WeiXin.ReplyMsg().GetXML();
            context.Response.Write(replyMsg);
        }
        else
        {
            context.Response.Write("fuck you");
        }

    }

    static WeiXinUrl()
    {
        WeiXin.ConfigGlobalCredential(AppId, AppSecret);
        WeiXin.RegisterMsgHandler<RecTextMsg>(msg =>
        {
            return new ReplyTextMsg { Content = "你说:" + msg.Content };
        });

        WeiXin.RegisterEventHandler<EventAttendMsg>(msg =>
        {
            return new ReplyTextMsg { Content = "谢谢关注!" };
        });
    }


    public bool IsReusable
    {
        get
        {
            return false;
        }
    }
}
  • (此文章同时发表在本人微信公众号“dotNET每日精华文章”,欢迎右边二维码来关注。) 题记:公众号后台系统和数据都基本准备妥当了,可以来分享下我是如何开发本微信公众号的后台系统了。 首先说说我对公众号后台的简单需求: 读者可以方便的获取历史文章 可以通过关键字查找文章 可以通过发表日期查找文章 基于这样的需求,也基于我的公众号可用的接口(由于是没有微信认证的订阅号,可用接口少得可怜),故设计了如

 相关资料
  • 本文向大家介绍C#开发微信公众号接口开发,包括了C#开发微信公众号接口开发的使用技巧和注意事项,需要的朋友参考一下 具体实现方式不多说了,请看下文 一、前言 当下微信公众号几乎已经是每个公司必备的,但是大部分微信公众账号用户体验都欠佳,特别是涉及到用户绑定等,需要用户进行复杂的操作才可以和网站绑定,或者很多公司直接不绑定,而是每次都让用户填写账号密码。作为微信接口开发人员我们知道网页授权可以用作微

  • 本章将介绍如何在您认证的微信公众号、订阅号中集成小能在线咨询功能 微信对接准备 微信对接模式介绍 微信授权模式 微信极速模式 微信开发模式-真Token方案 微信开发模式-假Token方案

  • 微信公众号接入

  • 方案1:将公众号授权给智齿 接入效果 授权过程 授权微信公众号给智齿需要智齿客服管理员和微信公众号管理员共同参与,具体步骤如下: 第一步:智齿客服管理员进入智齿管理后台「设置-支持渠道-微信」,点击「绑定公众号」进入授权页,可见微信授权二维码 ​ <微信公众号授权扫码页-电脑端> 第二步:由企业微信公众号管理员在微信端扫码、确认勾选授权哪些权限集给智齿并点击确认授权,完成授权后即算部署完成 ​ <

  • 微信公众号 微信公众号扫码授权以后,用户发往公众号的消息会转发给机器人,机器人会自动回复消息给公众号用户,同一个微信公众号同时只能绑定一个机器人,如果绑定了新的机器人,之前绑定的机器人会解除绑定。 注:微信公众号渠道接入后,仅支持微信文字,语音两种方式问答,用户在微信聊天框输入语音后,客服系统自动识别语音成文字进行答复。 只需三步接入微信公众号,自动回答公众号上的用户问题 1. 创建机器人 注册登

  • 微信公众号接入文档 接入微信公众号需要「微信授权」,授权后自动采集微信公众号用户的关注、扫码、菜单访问、取消关注等行为。 微信公众号授权 进入「数据接入」-「微信公众号」开始微信公众号授权,点击「开始授权」,进入「微信授权」页面进行授权。 注: 微信公众号授权必须是企业号,个人号不能授权。 授权后,会自动采集微信公众号用户的关注、扫码、取消关注等行为以及自动同步对应用户;在已授权列表中可查看已授权

  • 本文向大家介绍.NET微信公众号客服接口,包括了.NET微信公众号客服接口的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了微信公众号客服接口.NET代码,供大家参考,具体内容如下 Kf_account.cs代码: SysVisitor.cs代码: INIFile.cs代码: 运行结果: 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持呐喊教程。

  • 本文向大家介绍C#微信公众号开发 微信事件交互,包括了C#微信公众号开发 微信事件交互的使用技巧和注意事项,需要的朋友参考一下 前言 一切准备工作就绪时就先实现一个关注公众号后向客户端推送一条消息。关注后推送消息需要一个get请求、一个post请求,get请求主要是为了向微信服务器验证,post请求主要就是处理微信消息了。 调接口时传递的appid和appsecret请传递自己公众号对应的参数。