博客
关于我
Senparc.Weixin.MP SDK 微信公众平台开发教程(五):使用Senparc.Weixin.MP SDK
阅读量:461 次
发布时间:2019-03-06

本文共 3819 字,大约阅读时间需要 12 分钟。

Senparc.Weinxin.MP SDK 在 ASP.NET MVC 项目中的应用指南

引入 Senparc.Weinxin.MP SDK

Senparc.Weinxin.MP SDK 是一个功能强大的微信公众平台开发工具,集成了微信 6.x 系统的核心 API。通过这个 SDK,开发者可以轻松实现微信公众号、微信支付、企业微信以及小程序等多种功能的对接。在本文中,我们将详细介绍如何在 ASP.NET MVC 项目中集成并使用 Senparc.Weinxin.MP SDK。


一、安装 Senparc.Weinxin.MP SDK

方法一:使用 Nuget 包管理器

  • 打开项目的 解决方案管理器
  • 右键点击项目,选择 管理 Nuget 程序包
  • 在搜索栏中输入 Senparc.Weinxin.MP,找到相关包并安装。
  • 安装完成后,SDK 及其依赖项会被自动引入到项目中。
  • 方法二:手动引用 DLL

  • Senparc.Weinxin.MP.dllSenparc.Weinxin.MP.MvcExtension.dll 文件复制到项目的 bin 文件夹中。
  • 在项目中添加引用,确保 Senparc.Weinxin.MP.dllSenparc.Weinxin.MP.MvcExtension.dll 被正确识别。

  • 二、配置全局设置

    1. 在全局应用类中配置

  • 打开 Global.asax.cs 文件。
  • Application_Start() 方法中,添加以下代码:
  • var isGlobalDebug = true;
    var senparcSetting = SenparcSetting.BuildFromWebConfig(isGlobalDebug);
    IRegisterService register = RegisterService.Start(senparcSetting)
    .UseSenparcGlobal(false, null);
    var isWeixinDebug = true;
    var senparcWeixinSetting = SenparcWeixinSetting.BuildFromWebConfig(isWeixinDebug);
    register.UseSenparcWeixin(senparcWeixinSetting, senparcSetting);

    2. 修改 Web.Config 文件

    Web.config 中,添加以下配置:


    三、开发微信接收控制器

    1. 创建控制器类

  • 在项目中创建一个新的控制器类 WeinxinController.cs
  • 使用以下 namespaces:
  • using Senparc.Weinxin.MP.Entities.Request;
    using Senparc.Weinxin.MP.MvcExtension;
    using Senparc.Weinxin.MP.Sample.CommonService.CustomMessageHandler;

    2. 实现核心功能

    using System;
    using System.IO;
    using System.Web.Configuration;
    using System.Web.Mvc;
    using Senparc.Weinxin.MP.Entities.Request;
    namespace Senparc.Weinxin.MP.Sample.Controllers
    {
    using Senparc.Weinxin.MP.MvcExtension;
    using Senparc.Weinxin.MP.Sample.CommonService.CustomMessageHandler;
    public partial class WeinxinController : Controller
    {
    private static string Token = Config.SenparcWeixinSetting.Token;
    private static string EncodingAESKey = Config.SenparcWeixinSetting.EncodingAESKey;
    private static string AppId = Config.SenparcWeixinSetting.WeixinAppId;
    [HttpGet]
    [ActionName("Index")]
    public ActionResult Get(PostModel postModel, string echostr)
    {
    if (CheckSignature.Check(postModel.Signature, postModel.Timestamp, postModel.Nonce, Token))
    {
    return Content(echostr);
    }
    else
    {
    return Content("failed:" + postModel.Signature + "," + MP.CheckSignature.GetSignature(postModel.Timestamp, postModel.Nonce, Token) + "."
    + "如果你在浏览器中看到这句话,说明此地址可以被作为微信公众账号后台的Url,请注意保持Token一致。");
    }
    }
    [HttpPost]
    [ActionName("Index")]
    public ActionResult Post(PostModel postModel)
    {
    if (!CheckSignature.Check(postModel.Signature, postModel.Timestamp, postModel.Nonce, Token))
    {
    return Content("参数错误!");
    }
    postModel.Token = Token;
    postModel.EncodingAESKey = EncodingAESKey;
    postModel.AppId = AppId;
    var messageHandler = new CustomMessageHandler(Request.InputStream, postModel);
    messageHandler.Execute();
    return new FixWeixinBugWeixinResult(messageHandler);
    }
    }
    }

    四、配置微信后台

  • 在微信后台中,设置 URL 为 http://xxx/Weinxin
  • 在微信后台中,填写 Token 为 Web.config 中的 WeixinTokenappsetting.json 中的 Token

  • 五、接收微信消息

    1. 消息处理逻辑

    CustomMessageHandler 类中,实现消息处理逻辑。例如:

    public class CustomMessageHandler : MessageHandler
    {
    public CustomMessageHandler(Stream inputStream, PostModel postModel)
    {
    this.inputStream = inputStream;
    this.postModel = postModel;
    }
    protected override void ProcessMessage()
    {
    // 自定义消息处理逻辑
    // ...
    }
    }

    2. 返回格式

    使用 FixWeinxinBugWeixinResult 类将处理结果格式化为微信期望的返回格式。


    六、部署与测试

  • 部署项目到服务器。
  • 在微信开发者平台中获取微信公众号的身份认证。
  • 在微信后台中提交接收地址,并验证接收到的消息。

  • 通过以上步骤,你可以轻松实现微信公众号、支付以及企业微信等功能的对接。如果需要进一步的功能扩展,可以参考 Senparc.Weinxin.MP 的官方文档或示例项目。

    转载地址:http://bbmfz.baihongyu.com/

    你可能感兴趣的文章
    Objective-C实现ugly numbers丑数算法(附完整源码)
    查看>>
    Objective-C实现unescape函数功能(附完整源码)
    查看>>