C# 微信服务号开发基础 完整代码

C# 微信服务号开发基础 完整代码

作为一个新手,开发微信公众号各种不知道、各种无从下手。很希望能找到一个连引用命名空间都有的完整代码的demo拿来就用。经过两天辛苦的查阅,总结如下代码,直接可用,没有什么自定义基类,也没有需要隐藏的部分。代码中有注释,请童鞋边看边操作。
新建一个一般处理程序,粘到里面就好。只有简单的类型判断自动回复。

代码块:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Xml;
using System.Web.Security;
using System.IO;
using System.Text;

namespace BigDataMedia.Web.WeiXin
{
    /// <summary>
    /// WeixinApi 测试所用,简单判断类型自动回复。
    /// </summary>

    //post请求
    public class WeixinApi : IHttpHandler
    {

        public void ProcessRequest(HttpContext context)
        {
            weixin wx = new weixin();
            String postStr = String.Empty;

            if (HttpContext.Current.Request.HttpMethod.ToUpper() == "POST")
            {
                Stream s = HttpContext.Current.Request.InputStream;
                Byte[] b = new Byte[s.Length];
                s.Read(b, 0, (Int32)s.Length);
                postStr = Encoding.UTF8.GetString(b);

                if (!String.IsNullOrEmpty(postStr))
                {
                    wx.Handle(postStr);
                }
            }
            else
            {
                wx.Auth();
            }
        }

        public bool IsReusable
        {
            get
            {
                return false;
            }
        }
    }
    //验证token
    public class weixin
    {
        private String Token = "你的token";

        public void Auth()
        {
            String echoStr = HttpContext.Current.Request.QueryString["echoStr"];

            if (CheckSignature())
            {
                if (!String.IsNullOrEmpty(echoStr))
                {
                    HttpContext.
概述 本平台主要功能是针对微信商家公众号提供与众不同的、有针对性的营销推广服务。通过沐雪微信平台,用户可以轻松管理自己的微信各类信息,对微信公众账号进行维护、开展智能机器人、在线发优惠劵、抽奖、刮奖、派发会员卡、打造微官网、开启微团购等多种活动,对微信营销实现有效监控,极大扩展潜在客户群和实现企业的运营目标。沐雪微信平台很好的弥补了微信公众平台本身功能不足、针对性不强、交互不便利的问题,为商家公众账号提供更为贴心的、且是核心需求的功能和服务。在线优惠劵、转盘抽奖、微信会员卡等推广服务更是让微信成为商家推广的利器。智能客服的可调教功能让用户真正从微信繁琐的日常客服工作中解脱出来,真正成为商家便利的新营销渠道。 二、源码特点 1、微信公众平台开发,对于公众平台所有功能进行完整开发。 2、多用户:可同时进行多公众号的管理和配置。 3、直接性:购买者可直接购买细微修改即是成品的平台商品。 4、开发语言:asp.net,C# ,webform,数据库sqlserver 2005 三、功能介绍 1、菜单回复:关注时回复、默认回复、文本回复、图文回复、语音回复、请求回复、LBS回复。 2、自定义菜单:公众号自定义菜单设置 3、用户列表管理:获取关注公众号的账户信息进行管理 4、微官网:各种微官网模板可自行配置,头部幻灯片,底部,分类模块配置,内容配置 5、微商城:商城模板配置、产品分类管理、商品信息管理、商品录入、客户资源管理、订单管 理、物流配送方式设置 6、支付方式:微信支付,货到付款。 7、微汽车[大模块]、微酒店、点餐系统 8、微会员卡:会员卡商家、会员卡商城、会员卡头部广告设计 9、用户管理:微信用户管理、系统角色管理、系统操作日志 10、后台菜单:后台导航菜单管理 11、系统设置:网站基本信息设置、功能权限设置、短信平台设置、邮件发送设置、文件上传设 置 12、代理商管理:代理商发展下线。 四、环境要求 开发环境: 操作系统:windows7,8 软件:vs2012+sqlserver2005 发布环境: 操作系统:windows server 2003,2008 软件:.netframework4.0,iis6+,sqlserver 2005 后续会更新vs2017+sql2012 ,新功能的开发
### C# 实现微信服务号消息推送 为了通过C#实现微信服务号的消息推送功能,需遵循特定流程来构建应用程序逻辑。此过程涉及创建并配置用于发送模板消息的对象实例。 #### 创建基础消息对象 当用户完成授权登录操作后,应立即触发事件处理程序,该处理器负责准备待发送的信息内容,并将其封装到`BaseMessage`类的一个新实例中: ```csharp WeiXinService.BaseMessage bm = new WeiXinService.BaseMessage(); bm.openid = SessionHelper.OpenId; bm.first = "您好,恭喜您预约成功!"; bm.keyword1 = ""; bm.keyword2 = ""; bm.keyword3 = ""; bm.keyword4 = ""; bm.keyword5 = ""; bm.remark = "具体注意事项,请点击下方的链接查看!联系电话:"; bm.url = null; bool s = WeiXinService.SendMessage(bm); ``` 上述代码片段展示了如何初始化一个包含必要字段的基础消息对象[^1]。 #### 获取正确的模板ID 在实际应用开发过程中,开发者应当注意选择合适的行业分类以便于获得匹配的消息模板。这些预定义好的模板由微信公众平台根据所选行业的不同而提供,在调用API时需要指定具体的模板ID作为参数之一[^2]。 #### 处理Access Token的有效期管理 考虑到安全性和有效性因素,每次请求前都应对当前持有的访问令牌(access_token)进行有效期验证;如果发现已过期,则应及时发起新的获取请求以更新它: ```csharp TimeSpan ts = DateTime.Now - time; if (ts.TotalSeconds > 7200) { access_token = GetNewToken.gettoken(appid, secret); } public static string gettoken(string appid, string secret) { String toke = GetWebRequest(appid, secret); JObject obj = Newtonsoft.Json.Linq.JObject.Parse(toke); JToken newtoke = obj; string token = newtoke["access_token"].ToString(); DateTime dtime = DateTime.Now; Historydata hs = new Historydata(); hs.updatetoken(token, dtime); return token; } ``` 这段代码实现了对Access Token有效性的检查以及必要的刷新机制[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值