.net的微信开发

2017-07-25 14:41:04 jiaohaihao 阅读数 7329

小重山 · 昨夜寒蛩不住鸣    ___ 宋 · 岳飞

        昨夜寒蛩不住鸣。惊回千里梦,已三更。起来独自绕阶行。人悄悄,窗外月胧明。

        白首为功名。旧山松竹老,阻归程。欲将心事付瑶琴。知音少,弦断有谁听。


第一章

   1.VS2013环境、本地IIS、花生壳(或ngrok)PS:外网域名映射到本地、微信公众号申请

   2.接口文件为一般处理程序(.ashx),文件包含Appid和Appsecret的填写与调用

               


   3.到微信基本配置填写url和令牌token,填写的内容要与本地IIS上.ashx文件里的填写保持一致,用于本地服务器与微信服务器建立连接


      

2014-11-17 13:44:48 xiarilove 阅读数 3182
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讲)
第一讲-初识微信公众平台及开发准备
第二讲-基础支持
第三讲-上传下载多媒体文件
第四讲-接收和发送文本、图片消息
第五讲-接收和发送音频、视频消息
第六讲-图文消息、事件消息
第七讲-接收地理位置、自定义菜单事件
第八讲-发送客服消息
第九讲-高级群发接口
第十讲-用户管理接口
第十一讲-获取用户基本信息和关注者列表
第十二讲-网页授权获取用户基本信息
第十三讲-自定义菜单
2018-05-06 20:38:30 xwx7712 阅读数 1249

.NET微信开发之PC 端微信扫码注册和登录功能实现

http://www.jb51.net/article/93027.htm


PC端Windows 登录多个微信实现

https://blog.csdn.net/zhangbinlong/article/details/78493395

2018-04-13 16:33:04 spt_dream 阅读数 1117

微信对接总结

一、        微信公众平台

概念

微信公众平台是运营者通过公众号为微信用户提供资讯和服务的平台,而公众平台开发接口则是提供服务的基础,开发者在公众平台网站中创建公众号、获取接口权限后,进行开发。主要包括公众号消息会话,公众号内网页

1.    准备工作

1、 申请独立ip(开放80端口)的外网服务器

2、 微信公众号、企业号。

为了方便调试申请口开通开发者测试号(接口测试无限制)

   3、.net语言稳定的微信开发SDK senparc.Weixin

2.    使用场景

系统通过公众号与关注者进行用户微信绑定,与用户互动,(收发消息,通知提醒,信息修改)

3.    注意事项

1, 服务器申请,2核1G,2核2G,4核8G 最终才满足安装vs,安装sql

2, Sdk集成到项目采用webform类型,不用mvc,sdk介绍中的例子主要为mvc,

3, 既然采用sdk要意识到微信官方的接口文档往往就不适用了,要了解sdk的api

4, 要理解微信的参数含义,

token:服务器认证密钥,

appId:开发者id,

AppSecret:开发者密码,

ip白名单:服务器的ip注册,

EncodingAESKey:消息密钥,(消息加密需要)

access_token:获取到的凭证通过开发者账户密码,主动请求微信服务器需要

5, 服务器验证,程序开发的起点,验证前后耽误了两天,1,首先事需要外网开发的80端口服务,2,系统安装部署北京环境3,访问mapping配置地址解析4,(原生)完成get请求解析返回echostr(微信服务器发送的随机数,程序返回则通过)

6, 微信常见功能调用api

1、 用户发送消息接收后回复,微信官方文档称作被动回复功能,sdk封装在messageHandler类中

2、 向用户发消息可以群发,利用客服功能发送,还可以发送模板消息。通知等消息都是模板消息,sdk调用apiTemplateApi.SendTemplateMessage

3、 用户页面跳转用微信文档中提到的页面授权,位置在下面介绍的路径

对应sdk的api为OAuthAPIs.OAuthApi.GetAuthorizeUrl

4、 客服注意菜单点击无法相应进入客服模式,要判断文本,经统计,关键字一般为“你好“,“在吗“,客服介绍: http://www.cnblogs.com/txw1958/p/weixin-multi-customer-service.html

5、 添加客服api:https://api.weixin.qq.com/customservice/kfaccount/add?access_token=ACCESS_TOKEN

 

7, 对接sdk注意事项

1.        首先用mvc模式运行,最开始因为vs2012不能加载nuget最近包管理工具,以致sdk以来不能下载对应版本,后来通过百度,查询到跑起来的话需要降级,就去nuget官网查询所有没引入的以前的降级版。

2.        这样就造成了大量的工作量,而且运行还会对现有微信官方api的调用,封装不匹配。后来领导采用源码编译出最新版本sdk.dll文件,解决了vs版本低,和依赖版本低的问题。程序就跑起来了。

3.        官网例子是在vs2017,.net版本4.5的环境中部署运行的。

4.        还要就是netframwork版本4.0的问题,北京项目从2.0升级到4.0,后来领导果断升到4.5才运行成功

5.        Mvc跑起来与项目集成出现问题,需要运行官网提到的webform项目。这个项目没有例子(给的例子就是错的,但是有实现大体思路),对此,领导结合源码写出了webform并与微信服务器建立联系。注,在新建环节还会有配置运行起来,访问不到aspx页面。这时候要仔细检查配置项目,不行更换文件夹重新建立项目运行访问。

6.        SDK 是一套.dll,要根据需要添加,千万防止调用api路径不通导致功能不通。因为sdk中好多相同名称,传参类似的api比如模板发送,获取accse_token等

8, Nuget工具安装.dll使用

9, 网站配置要注意.net基本配置,版本要匹配,项目路径要对,.dll编译地址要统一

4.    案例介绍

 

5.    技术介绍

 

1、开发者文档:https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1445241432

2、Sdk官网:https://sdk.weixin.senparc.com/Document

3、配置 ASP.NET 应用程序的详细信息:http://go.microsoft.com/fwlink/?LinkId=169433

4、.NET 4.5 的 web.config 更改说明:http://go.microsoft.com/fwlink/?LinkId=235367。

 

 

 

二、 微信开放平台

地址:  https://open.weixin.qq.com/

    微信开放平台:面向的是开发者和第三方独立软件开发商。开放平台的文档似乎包含了微信开放平台文档里面的接口。

三、微信小程序

 

 

https://mp.weixin.qq.com/wxopen/waregister?action=step1


2017-08-08 17:57:43 qq_22547477 阅读数 1242

作为一个开发人员,在进行开发微信公众号是,首先需要完成的是服务器配置。也就是常说的开发者接入。

1.登录微信公众平台,选择基本设置

字段说明:AppId:开发者ID是公众号开发识别码,配合开发者密码可调用公众号的接口能力。是由微信官方提供,在编写代码最好将其配置在web.config文件中。开发过程中要保证必须和微信官网的一致。

AppSecret:开发者密码是校验公众号开发者身份的密码,具有极高的安全性。是由微信官方提供,在编写代码最好将其配置在web.config文件中。开发过程中要保证必须和微信官网的一致。

Token:开发者自己定义的一个string字段,在编写代码最好将其配置在web.config文件中。开发过程中要保证必须和微信官网的一致。


后台代码如下:

验证微信凭证token:

public static void Valid(string strToken)
        {
            if (HttpContext.Current.Request.QueryString["echoStr"] != null)
            {
                string echoStr = HttpContext.Current.Request.QueryString["echoStr"].ToString();
                if (CheckSignature(strToken))
                {
                    if (!string.IsNullOrEmpty(echoStr))
                    {
                        HttpContext.Current.Response.Write(echoStr);
                        HttpContext.Current.Response.End();
                    }
                }
            }

        }

验证微信签名

public static bool CheckSignature(string strToken)
        {
            string signature = HttpContext.Current.Request.QueryString["signature"].ToString();
            string timestamp = HttpContext.Current.Request.QueryString["timestamp"].ToString();
            string nonce = HttpContext.Current.Request.QueryString["nonce"].ToString();
            string[] ArrTmp = { strToken, timestamp, nonce };
            //1. 将token、timestamp、nonce三个参数进行字典序排序
            Array.Sort(ArrTmp);
            string tmpStr = string.Join("", ArrTmp);
            //对该字符串进行sha1加密
            tmpStr = FormsAuthentication.HashPasswordForStoringInConfigFile(tmpStr, "SHA1");
            tmpStr = tmpStr.ToLower();//对字符串中的字母部分进行小写转换,非字母字符不作处理
            if (tmpStr == signature)//开发者获得加密后的字符串可与signature对比,标识该请求来源于微信。开发者通过检验signature对请求进行校验,若确认此次GET请求来自微信服务器,请原样返回echostr参数内容,则接入生效,否则接入失败
            {
                return true;
            }
            else
                return false;
        }


webapi:

[HttpGet, HttpPost, Route("index")]
        public void index()
        {
            if (ControllerContext.Request.Method == HttpMethod.Post)
            {
                GetWxMessage();
            }
            else
            {
                string app_token= ConfigurationManager.AppSettings["app_token"].ToString();
                WeiXinHelper.Valid(app_token);
            }
        }

注:记住,在本地调试时,需要将自己的ip地址添加到ip白名单中。ip查询方式是:,如果是部署到服务器上的,需要将服务器的ip地址加入到白名单中。

.net 微信开发

阅读数 328