微信.net开发教程_asp.net微信小程序开发教程 - CSDN
  • 本例使用asp.net完成公众号的验证 及消息接受和回复。可以通过本架构进行更为复杂的开发。同时又提供了进阶版希望能帮助到大家,为初学者提供指引的同时,又能深入研究升级公众号功能。
  • 企业微信教程有:“标准版”和“在线版”。正常的,学习“标准版”可以完成企业微信的相关开发。“在线版”是“一对一在线班讲解”,针对同学们项目遇到的问题,个性化定制课程大纲,解决具体问题。“一对一在线班...
  • ASP.NET MVC5&微信公众平台整合开发实战(响应式布局、JQuery Mobile,Windows Azure、微信核心开发) 课程分类:ASP.NET MVC 适合人群:中级 课时数量:29课时 用到技术:深入MVC开发模式、C#核心语言特性、C#核心...
    ASP.NET MVC5&微信公众平台整合开发实战(响应式布局、JQuery Mobile,Windows Azure、微信核心开发)
    课程分类:ASP.NET MVC
    适合人群:中级
    课时数量:29课时
    用到技术:深入MVC开发模式、C#核心语言特性、C#核心语言特性(二)、视图引擎Razor
    涉及项目:体育商店、微信公众平台开发

    咨询qq:1840215592


    ASP.NET微信公众平台开发实战详细查看:http://www.ibeifeng.com/goods-454.html
    ASP.NET MVC5微信开发基础知识掌握:
    基础知识储备 ASP.NET MVC 5基础(6讲)
    第一讲-初识ASP.NET MVC并搭建整合开发环境
    第二讲-深入MVC开发模式
    第三讲-C#核心语言特性
    第四讲-C#核心语言特性(二)
    第五讲-视图引擎Razor
    第六讲-MVC核心工具
    ASP.NET MVC5微信开发实战演练(11讲)
    第七讲-体育商店(一):项目架构
    第八讲-体育商店(二):数据库创建和访问
    第九讲-体育商店(三):分页和样式
    第十讲-体育商店(四):布局和导航
    第十一讲-体育商店(五):购物车
    第十二讲-体育商店(六):购物车(二)
    第十三讲-体育商店(七):提交订单
    第十四讲-体育商店(八):提交订单(二)
    第十五讲-体育商店(九):手机版SportsStore(一):响应式布局
    第十六讲-体育商店(十):手机版SportsStore(二):jQuery Mobile
    第十七讲-发布项目到Windows Azure
    微信公众平台开发学习(13讲)
    第一讲-初识微信公众平台及开发准备
    第二讲-基础支持
    第三讲-上传下载多媒体文件
    第四讲-接收和发送文本、图片消息
    第五讲-接收和发送音频、视频消息
    第六讲-图文消息、事件消息
    第七讲-接收地理位置、自定义菜单事件
    第八讲-发送客服消息
    第九讲-高级群发接口
    第十讲-用户管理接口
    第十一讲-获取用户基本信息和关注者列表
    第十二讲-网页授权获取用户基本信息
    第十三讲-自定义菜单
    展开全文
  • 本文实例讲述了.net开发微信公众平台的方法。分享给大家供大家参考。具体实现方法如下: 一、说明: 公众平台信息接口为开发者提供了一种新的消息处理方式,只有申请成为开发者后,你才能使用公众平台的开发功能,...

    本文实例讲述了.net开发微信公众平台的方法。分享给大家供大家参考。具体实现方法如下:

    一、说明:

    公众平台信息接口为开发者提供了一种新的消息处理方式,只有申请成为开发者后,你才能使用公众平台的开发功能,在这里你需要填写一个URL和一个Token,这两项信息也需要你拥有自己的服务器(外网服务器)资源,其中的Token可由开发者任意填写,URL即是接口配置信息的链接地址,在本文中我采用的是创建一个简易网站的方式,在其中的一个页面的后台程序中配置相关的接口信息,然后发布到外网服务器上,最后可以访问到这个页面的链接地址即是这里应该填写的URL。

    二、接口配置过程:

    1.网址接入-校验签名:

    const string Token = "aka";//定义一个局部变量不可以被修改,这里定义的变量要与接口配置信息中填写的Token一致
    protected void Page_Load(object sender, EventArgs e)
    {
            string postStr = "";
            Valid();//校验签名,当填入的信息提交之后页面有提示“你已成功成为公众平台开发者,可以使用公众平台的开发功能”这个的时候,接下来你就需要注释掉这个校验的方法,使得后面的消息回复得以正常运作
            if (Request.HttpMethod.ToLower() == "post")//当普通微信用户向公众账号发消息时,微信服务器将POST该消息到填写的URL上
            {
                postStr = PostInput();
                if (string.IsNullOrEmpty(postStr) == false)
                {
                    //WriteLog(postStr,Server);//计入日记
                    ResponseMsg(postStr);
                }
            }
    }
    private void Valid()
    {
            string echoStr = Request.QueryString["echoStr"].ToString();
            if (CheckSignature())
            {
                if (!string.IsNullOrEmpty(echoStr))
                {
                    Response.Write(echoStr);
                    Response.End();
                }
            }
    }

    复制代码 代码如下:
    /// <summary>
    /// 验证微信签名
    /// </summary>
    /// <returns></returns>
    private bool CheckSignature()
    {
            string signature = Request.QueryString["signature"].ToString();
            string timestamp = Request.QueryString["timestamp"].ToString();
            string nonce = Request.QueryString["nonce"].ToString();
            string[] ArrTmp = { Token, timestamp, nonce };
            Array.Sort(ArrTmp);//字典排序
            string tmpStr = string.Join("", ArrTmp);
            tmpStr = FormsAuthentication.HashPasswordForStoringInConfigFile(tmpStr, "SHA1");//对该字符串进行sha1加密
            tmpStr = tmpStr.ToLower();//对字符串中的字母部分进行小写转换,非字母字符不作处理
            //WriteLog(tmpStr, Server);//计入日志
            if (tmpStr == signature)//开发者获得加密后的字符串可与signature对比,标识该请求来源于微信。开发者通过检验signature对请求进行校验,若确认此次GET请求来自微信服务器,请原样返回echostr参数内容,则接入生效,否则接入失败
            {
                return true;
            }
            else
                return false;
    }
    /// <summary>
    /// 获取post返回来的数据
    /// </summary>
    /// <returns></returns>
    private string PostInput()
    {
            Stream s = System.Web.HttpContext.Current.Request.InputStream;
            byte[] b = new byte[s.Length];
            s.Read(b, 0, (int)s.Length);
            return Encoding.UTF8.GetString(b);
    }
    
    /// <summary>
    ///返回微信信息结果
    /// </summary>
    /// <param name="weixinXML"></param>
    private void ResponseMsg(string weixinXML)
    {
            try
            {
                XmlDocument doc = new XmlDocument();
                doc.LoadXml(weixinXML);//读取XML字符串
                XmlElement rootElement = doc.DocumentElement;
    
                XmlNode MsgType = rootElement.SelectSingleNode("MsgType");//获取字符串中的消息类型
    
                string resxml = "";
                if (MsgType.InnerText == "text")//如果消息类型为文本消息
                {
                    var model = new
                    {
                        ToUserName = rootElement.SelectSingleNode("ToUserName").InnerText,
                        FromUserName = rootElement.SelectSingleNode("FromUserName").InnerText,
                        CreateTime = rootElement.SelectSingleNode("CreateTime").InnerText,
                        MsgType = MsgType.InnerText,
                        Content = rootElement.SelectSingleNode("Content").InnerText,
                        MsgId = rootElement.SelectSingleNode("MsgId").InnerText
                    };
                    resxml += "<xml><ToUserName><![CDATA[" + model.FromUserName + "]]></ToUserName><FromUserName><![CDATA[" + model.ToUserName + "]]></FromUserName><CreateTime>" + ConvertDateTimeInt(DateTime.Now) + "</CreateTime>";
                    if (!string.IsNullOrEmpty(model.Content))//如果接收到消息
                    {
                        if (model.Content.Contains(" 你好") || model.Content.Contains(" 好") || model.Content.Contains("hi") || model.Content.Contains("hello"))// 你好
                        {
                            resxml += "<MsgType><![CDATA[text]]></MsgType><Content><![CDATA[你好,有事请留言,偶会及时回复你的。]]></Content><FuncFlag>0</FuncFlag></xml>";
                        }
    
                     }
    
                     else//没有接收到消息
                    {
                        resxml += "<MsgType><![CDATA[text]]></MsgType><Content><![CDATA[亲,感谢您对我的关注,有事请留言。]]></Content><FuncFlag>0</FuncFlag></xml>";
                    }
    
                    Response.Write(resxml);
                }
                if (MsgType.InnerText == "image")//如果消息类型为图片消息
                {
                    var model = new
                    {
                        ToUserName = rootElement.SelectSingleNode("ToUserName").InnerText,
                        FromUserName = rootElement.SelectSingleNode("FromUserName").InnerText,
                        CreateTime = rootElement.SelectSingleNode("CreateTime").InnerText,
                        MsgType = MsgType.InnerText,
                        PicUrl = rootElement.SelectSingleNode("PicUrl").InnerText,
                        MsgId = rootElement.SelectSingleNode("MsgId").InnerText
                    };
                    resxml += "<xml><ToUserName><![CDATA[" + model.FromUserName + "]]></ToUserName><FromUserName><![CDATA[" + model.ToUserName + "]]></FromUserName><CreateTime>" + ConvertDateTimeInt(DateTime.Now) + "</CreateTime><MsgType><![CDATA[news]]></MsgType><ArticleCount>1</ArticleCount><Articles><item><Title><![CDATA[欢迎您的光临!]]></Title><Description><![CDATA[非常感谢您的关注!]]></Description><PicUrl><![CDATA[http://...jpg]]></PicUrl><Url><![CDATA[http://www.baidu.com/]]></Url></item></Articles><FuncFlag>0</FuncFlag></xml>";
                    Response.Write(resxml);
                }
                else//如果是其余的消息类型
                {
                    var model = new
                    {
                        ToUserName = rootElement.SelectSingleNode("ToUserName").InnerText,
                        FromUserName = rootElement.SelectSingleNode("FromUserName").InnerText,
                        CreateTime = rootElement.SelectSingleNode("CreateTime").InnerText,
                    };
                    resxml += "<xml><ToUserName><![CDATA[" + model.FromUserName + "]]></ToUserName><FromUserName><![CDATA[" + model.ToUserName + "]]></FromUserName><CreateTime>" + ConvertDateTimeInt(DateTime.Now) + "</CreateTime><MsgType><![CDATA[text]]></MsgType><Content><![CDATA[亲,感谢您对我的关注,有事请留言,我会及时回复你的哦。]]></Content><FuncFlag>0</FuncFlag></xml>";
                    Response.Write(resxml);
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
            Response.End();
    
    }
    /// <summary>
    /// datetime转换成unixtime
    /// </summary>
    /// <param name="time"></param>
    /// <returns></returns>
    private int ConvertDateTimeInt(System.DateTime time)
    {
            System.DateTime startTime = TimeZone.CurrentTimeZone.ToLocalTime(new System.DateTime(1970, 1, 1));
            return (int)(time - startTime).TotalSeconds;
    }
    /// <summary>
    /// 写日志(用于跟踪),可以将想打印出的内容计入一个文本文件里面,便于测试
    /// </summary>
    public static void WriteLog(string strMemo, HttpServerUtility server)
    {
            string filename = server.MapPath("/logs/log.txt");//在网站项目中建立一个文件夹命名logs(然后在文件夹中随便建立一个web页面文件,避免网站在发布到服务器之后看不到预定文件)
            if (!Directory.Exists(server.MapPath("//logs//")))
                Directory.CreateDirectory("//logs//");
            StreamWriter sr = null;
            try
            {
                if (!File.Exists(filename))
                {
                    sr = File.CreateText(filename);
                }
                else
                {
                    sr = File.AppendText(filename);
                }
                sr.WriteLine(strMemo);
            }
            catch
            {
            }
            finally
            {
                if (sr != null)
                    sr.Close();
            }
    }

    希望本文所述对大家的.net程序设计有所帮助。

    使用net怎进行微信公众平台开发?

    提供的接口一般是webservice,socket之类的,和开发语言没关系。
     

    微信公众平台开发实例

    京东或当当都有这本书卖《微信公众平台应用开发实战》作者钟志勇,腾讯公司资深软件研发工程师兼微信公众平台应用开发先驱者撰写,权威性毋庸置疑
      全面介绍微信公众平台应用开发所需各项技术,系统解读微信公众平台开放的API和各项高级功能,逐步讲解微信公众平台应用开发的流程、方法和技巧
      注重实战,不仅通过3个案例呈现了娱乐型、应用型、游戏型应用的完整开发过程,而且还实现了一个快速开发公众平台应用的框架,可以直接使用。

    展开全文
  • 正好最近在研究微信公众平台开发,索性就记录下,分享下自己的心得,也分享下本人简单模仿asp.net运行机制所写的通用的微信公众平台开发.Net(c#)框架吧。由于本人知识有限、文字组织能力有限,如有错误或不足,请...

    一、序言

      一直在想第一次写博客,应该写点什么好?正好最近在研究微信公众平台开发,索性就记录下,分享下自己的心得,也分享下本人简单模仿asp.net运行机制所写的通用的微信公众平台开发.Net(c#)框架吧。由于本人知识有限、文字组织能力有限,如有错误或不足,请多多指教!

    二、微信公众平台.Net(C#)框架介绍

     

      运行流程:WeiXinRequestHandler.ashx接收微信服务器post请求,创建WeiXinApplication实例,构造函数中设置WeiContext(WeiXinRequest,WeiXinResponse)请求上下文属性,执行WeiXinApplication的GetResponseXml()方法,使用WeiXinHandlerFactory工厂类动态加载程序集,遍历程序集里的Type集合,反射获取控制器中的WeiXinMsgType属性值判断是否与请求消息上下文WeiXinRequest的WeiXinMsgType属性值一致创建相对应的消息处理控制器实例,并返回这个实例,赋值给WeiXinApplication中IWeiXinHandler属性值,调用ProcessWeiXin(WeiXinContext context)方法,执行完毕后,返回WeiXinResponse对象中的响应消息。

    三、微信公众平台注册/接入相关事宜

    1、注册:

      填写基本信息,激活邮箱,登记信息......公众号信息。值得一提的是:目前个人只允许注册订阅号,公司单位才能注册服务号,服务号可以实现自定义菜单;公众号名称一经确认就无法修改!

    2、接入:(必须条件:拥有自己的公网可访问的服务器)

       ①、成为开发者:在公众平台网站的高级功能 – 开发模式页,点击“成为开发者”按钮,根据官方文档填写相关接口配置信息并提交。

       ②、验证url有效性:开发者提交信息后,微信服务器将发送GET请求到填写的URL上,GET请求携带四个参数:

     

    参数 描述
    signature 微信加密签名,signature结合了开发者填写的token参数和请求中的timestamp参数、nonce参数。
    timestamp 时间戳
    nonce 随机数
    echostr 随机字符串

     

      开发者通过检验signature对请求进行校验(下面有校验方式)。若确认此次GET请求来自微信服务器,请原样返回echostr参数内容,则接入生效,成为开发者成功,否则接入失败。

     

    加密/校验流程如下:
    1. 将token、timestamp、nonce三个参数进行字典序排序
    2. 将三个参数字符串拼接成一个字符串进行sha1加密
    3. 开发者获得加密后的字符串可与signature对比,标识该请求来源于微信
    
    验证工具类:UtilityHelper
    
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
         #region 检查加密签名是否一致 - public static bool CheckSignature(string signature, string timestamp, string nonce)
      
            /// <summary>
            /// 检查加密签名是否一致
            /// </summary>
            /// <param name="signature">微信加密签名</param>
            /// <param name="timestamp">时间戳</param>
            /// <param name="nonce">随机数</param>
            /// <returns></returns>
            public static bool CheckSignature(string signature, string timestamp, string nonce)
            {
                List<string> stringList = new List<string> {Token, timestamp, nonce};
                // 字典排序
                stringList.Sort();
                return Sha1Encrypt(string.Join("", stringList)) == signature;
            }
      
            #endregion
      
            #region 对字符串SHA1加密 - public static string Sha1Encrypt(string targetString)
      
            /// <summary>
            /// 对字符串SHA1加密
            /// </summary>
            /// <param name="targetString">源字符串</param>
            /// <returns>加密后的十六进制字符串</returns>
            private static string Sha1Encrypt(string targetString)
            {
                byte[] byteArray = Encoding.Default.GetBytes(targetString);
                HashAlgorithm hashAlgorithm = new SHA1CryptoServiceProvider();
                byteArray = hashAlgorithm.ComputeHash(byteArray);
                StringBuilder stringBuilder = new StringBuilder();
                foreach (byte item in byteArray)
                {
                    stringBuilder.AppendFormat("{0:x2}", item);
                }
                return stringBuilder.ToString();
            }
      
            #endregion
      
            #region 根据加密类型对字符串SHA1加密 - public static string Sha1Encrypt(string targetString, string encryptType)
      
            /// <summary>
            /// 根据加密类型对字符串SHA1加密
            /// </summary>
            /// <param name="targetString">源字符串</param>
            /// <param name="encryptType">加密类型:MD5/SHA1</param>
            /// <returns>加密后的字符串</returns>
            private static string Sha1Encrypt(string targetString, string encryptType)
            {
                return FormsAuthentication.HashPasswordForStoringInConfigFile(targetString, encryptType);
            }
      
            #endregion

      

    四、微信公众平台运行原理介绍

     

    五、结束

      字穷了...~~~!附源码吧。看web.config,打开Test.html进行测试。添加自己的消息控制器必须继承WeiXinHandlerType,程序集生成插件目录bin/WeiXinPlugins。

    源码下载:WeiXin.Framework

    广交四海豪杰:Q390915549,T15002122201
    展开全文
  • 微信教程源码带视频,四个教程视频,带后台服务功能。
  • asp.net mvc 后台 + 微信开发入门 的研究 本人小白.net出身,第一次做微信开发。又不会php和别的语言。只有用.net做了。 如有不对之处,还请指点。 开发环境 1.win7 x64 2.vs2015 3.sqlserver 2012 步骤 1....

    asp.net mvc 后台 + 微信开发入门 的研究

    本人小白.net出身,第一次做微信开发。又不会php和别的语言。只有用.net做了。
    如有不对之处,还请指点。
    

    开发环境

    1.win7 x64
    2.vs2015
    

    步骤

    1.申请公众号

    公众号首页地址:https://mp.weixin.qq.com ,没有公众号的点击注册,
    注册过程就不用多说了。
    我注册了一个,点击登录。如图:
    登录微信后台页面
    进入后台以后,一番玩耍之后。进入正题。往下翻找到开发者工具,进入之后,别的先不管,点击开发者文档。
    先看一下,大致了解文档结构。

    2.编码

    首先,点击开发开发->接入指南。
    首先看到,要填写基本设置。大概意思是微信服务器会往你填的地址发送一个get请求。传入4个参数。参数如下 :
    验证参数
    打开基本设置页面,填写如下:
    这里写图片描述
    点击提交,会提示错误。提交不成功。
    那么 ,我们就想到,要写一个web程序处理这个请求了。
    打开vs2015,新建一个asp.net mvc应用程序。添加一个HomeControl ,在HomeControl里面添加一个public void wx(){}方法。
    呃,这个步骤不懂的话,建议先去学一下asp.net mvc。
    这里写图片描述
    如图所示,给它返回echostr就说明验证成功了。那么,如果 你也可以省事,不去验证请求来源的真实性,直接 返回echostr.当然这样的产品是有风险的(什么风险我也不知道,不然它让验证干嘛,是吧^_^)。

     public void wx()
            {
                #region 验证请求来源是否是微信
                string signature = Request["signature"]?.ToString();
                string timestamp = Request["timestamp"]?.ToString();
                string nonce = Request["nonce"]?.ToString();
                string echostr = Request["echostr"]?.ToString();
                string token = "hellowb";
                List<string> list = new List<string>() { token, timestamp, nonce };
                list.Sort();
                string data = string.Join("", list);
                byte[] temp1 = Encoding.UTF8.GetBytes(data);
                SHA1CryptoServiceProvider sha = new SHA1CryptoServiceProvider();
                byte[] temp2 = sha.ComputeHash(temp1);
    
                var hashCode = BitConverter.ToString(temp2);
                hashCode = hashCode.Replace("-", "").ToLower();
    
                if (hashCode == signature)
                {
                    Response.Write(echostr);
                    Response.End();
                }
                #endregion
            }

    将网站布置到你的服务器上,占用80端口(只能使用80,不会布置网站的请自行百度)。然后回到微信后台基本配置页。如图这里写图片描述
    令牌你可以自己随便写一个自己喜欢的,然后代码里面对应着改就好。
    点击提交。如果提示提交成功,那么 万事大吉。成功了。
    当然还会有意外,如果 提示发生错误,请稍后重试。试着把url复制到浏览器里访问,看能不能通。
    好了,现在验证成功了,就可以真正成为一个微信开发者了。

    消息处理

    本次先从处理微信用户发送的消息为切入点。点击接收普通消息。如图
    接收普通消息
    根据开发文档,了解到,如果用户关注了你,并给你发送了一个文本消息,微信服务器会给你填写的url(示例为 http://ip/home/wx)发送一个post 请求,内容为文本消息
    是一个xml。那么 。添加一个xmlHelper类,

    using System;
        using System.Collections.Generic;
        using System.Xml;
    
    namespace wxApp
    {
        public class XmlHelper
        {
            public static Dictionary<string, string> GetMsgEntity(string text)
            {
                try
                {
                    XmlDocument doc = new XmlDocument();
                    doc.LoadXml(text);
                    Dictionary<string, string> dict = new Dictionary<string, string>();
                    XmlNodeList xml = doc.SelectSingleNode("/xml").ChildNodes;
                    foreach (XmlNode node in xml)
                    {
                        dict.Add(node.Name, node.InnerText);
                    }
                    return dict;
                }
                catch (Exception)
                {
                    return new Dictionary<string, string>();
                }
            }
        }
    }

    现在我们的url要能区分post get 请求了。改写如下
    区分get post
    在HomeControl 新建一个private void ProcessPost(HttpRequestBase request)(){}方法.

     private void ProcessPost(HttpRequestBase request)
            {
                var istream = Request.InputStream;
                byte[] temp = new byte[istream.Length];
                istream.Read(temp, 0, (int)istream.Length);
                string xml = Encoding.UTF8.GetString(temp);
                var dic = XmlHelper.GetMsgEntity(xml);
                switch (dic["MsgType"])
                {
                    case "text":
                        ProcessTextMsg(dic, request);
                        break;
                    default:
                        break;
                }
            }

    在HomeControl 新建一个private void ProcessTextMsg(Dictionary

     private void ProcessTextMsg(Dictionary<string, string> dic, HttpRequestBase request)
            {
                    string tempxml = "<xml><ToUserName><![CDATA[-tname]]></ToUserName><FromUserName><![CDATA[-fname]]></FromUserName><CreateTime>-time</CreateTime><MsgType><![CDATA[text]]></MsgType><Content><![CDATA[-content]]></Content></xml>";
                    tempxml = tempxml.Replace("-tname", dic["FromUserName"]);
                    tempxml = tempxml.Replace("-fname", dic["ToUserName"]);
                    tempxml = tempxml.Replace("-time", dic["CreateTime"]);
                    tempxml = tempxml.Replace("-content", $"MsgType:{dic["MsgType"]}\ncontent:{dic["Content"]}\nMsgId:{dic["MsgId"]}");
                    Response.Write(tempxml);
                    Response.End();
            }

    现在我们的处理方法就ok了。
    打开微信,关注我们自己的公众号,发送一个消息,它就会回复一个消息了。
    效果如下
    效果

    其它消息处理也是如此,以此类推就可。
    这次就写到这里了,欢迎留言。

    展开全文
  • 微信支付(.NET版)

    2018-11-11 10:18:37
    前段时间做了网页版微信支付,遇到很多问题,不过最终还是解决了,现在在这里记录下开发流程以及说明,给其他人一些参考。 一、准备工作  首先肯定得先要开通微信支付功能,之前开通微信支付需要三万的押金的,...
  • .net微信公众平台开发文档(PDF版)
  • 接口信息配置就是不成功其原理是,当你提交后,微信服务器会去你提交的地址请求进行验证,因此我们需要后台写一些验证方法,代码如下:protected void Page_Load(object sender, EventArgs e) { #region 验证token...
  • 本课程主要对微信公众号的基本使用以及菜单创建和使用进行入门,适合初学者。百度云盘下载。
  • 之前一直想学微信公众号的开发,可是一直没有资料看,也不知道该如何学,看过微信公众平台的开发文档,虽然里面都有教程,但是对于小白是很难着手开始学,然后朋友给我分享了刘峰老师的博客里面的教程,然后我跟着...
  • 微信公众号主要有以下几个步骤 微信公众号的通讯机制 微信公众号简介 1.注册微信公众号 2.注册测试公众号 3.搭建微信本地调试环境 1)下载客户端natapp: 2)安装natapp: 4.微信公众号接入(校验签名) 第1步中...
  • 笔者在CSDN博客频道推出微信公众平台开发教程之后,接触了许多公众平台开发爱好者,也帮助他们解决了许多实际的问题,当然这其中有很多问题都是重复的,因此,笔者将这些问题及解答整理出来,以帮助更多初学者少走...
  • C#开发微信订阅号、服务号
  • 微信小程序开发教程文档微信小程序是什么?微信小程序如何开发?微信小程序开发教程有哪些?本教程将从微信小程序本身,结合微信官方-微信小程序开发工具,带你一步步创建一个微信小程序,并在手机操作预览该小程序...
  • 开发微信公众号,第一步当然是要注册:微信公众平台官网:https://mp.weixin.qq.com...微信官网已经提供了详细的开发概述文档:https://developers.weixin.qq.com/doc/offiaccount/Getting_Started/Overview.html...
  • .NET教程微信小程序基础入门 准备 Demo 项目地址 (https://github.com/zce/weapp-demo) Clone or Download(需准备GIT环境) $ cd path/to/project/root $ git clone ...
  • 微信后台开发实战教程讲师介绍: 向军,项目总监,从事IT行业10年以上,服务过acer、fluke、中国石油、光大银行、丰田汽车、三星电子、保洁公司等企业。精PHP/MySQL、C/C++/VC++、VB、Java、SQL Server、Oracle、...
  • 微信公众号开发教程

    2014-10-04 11:12:13
    微信公众号的开发,说简单也简单,说麻烦也麻烦,麻烦的不是开发过程,而是搭建开发环境的过程。 第一,用代理访问服务器 把电脑设置成代理服务器
1 2 3 4 5 ... 20
收藏数 15,287
精华内容 6,114
关键字:

微信.net开发教程