微信.NET SDK-Senparc资料整理

  微信生态系统包括微信公众号、小程序、微信支付、微信开放平台、企业微信、小游戏等,官方提供了很多的API接口。Senparc是目前使用最广泛的微信.NET SDK,同时支持支持.NET Framework 4.5+/.NET Core 2.x/.NET Core 3.x/.NET 5/.NET 6。由于在微信生态开发中经常用到Senparc,接下来对Senparc资料进行整理。通常带MP的表示公众号相关SDK,带WxOpen的表示小程序相关SDK,带TenPay的表示支付相关SDK,带Open的表示开放平台相关SDK,带Work的表示企业微信相关SDK。

一.相关SDK介绍

1.Senparc.Weixin SDK

主要是微信平台的基础SDK:

功能模块Nuget包名称Nuget版本
SDK公共基础库Senparc.Weixinv6.15.1
公众号、JSSDK、摇一摇周边Senparc.Weixin.MPv16.18.2
公众号MvcExtensionSenparc.Weixin.MP.Mvcv7.12.1
小程序Senparc.Weixin.WxOpenv3.15.3
微信支付Senparc.Weixin.TenPayv1.12.1
微信支付V3[新]Senparc.Weixin.TenPayV3v0.6.3
开放平台Senparc.Weixin.Openv4.14.3
企业微信Senparc.Weixin.Workv3.15.5

2.Senparc.Weixin SDK的ASP.NET运行时基础库

基于ASP.NET及ASP.NET Core的相关操作:

功能模块Nuget包名称Nuget版本
ASP.NET运行时基础库Senparc.Weixin.AspNetv0.8.1
公众号消息中间件Senparc.Weixin.MP.Middlewarev0.8.1
小程序消息中间件Senparc.Weixin.WxOpen.Middlewarev0.8.1
企业微信消息中间件Senparc.Weixin.Work.Middlewarev0.8.1

3.Senparc.Weixin SDK扩展组件

主要是用于提供缓存、WebSocket等一系列扩展模块:

功能模块Nuget包名称Nuget版本
Redis缓存[StackExchange.Redis]Senparc.Weixin.Cache.Redisv2.15.1
Redis缓存[CsRedis]Senparc.Weixin.Cache.CsRedisv0.8.1
Memcached缓存Senparc.Weixin.Cache.Memcachedv2.13.1
WebSocket模块Senparc.WebSocketv0.17.1

4.Senparc.NeuChar

目前是为了使用一套代码,同时服务多平台,比如钉钉、百度小程序等:

功能模块Nuget包名称Nuget版本
NeuChar跨平台支持库Senparc.NeuCharv2.1.1
NeuChar APP以及NeuChar Ending的对接SDKSenparc.NeuChar.Appv1.1.1
NeuChar的ASP.NET运行时支持库Senparc.NeuChar.AspNetv1.1.1

5.Senparc.CO2NET

同时支持.NET Framework和.NET Core的公共基础扩展库,包含常规开发所需要的基础帮助类:

功能模块Nuget包名称Nuget版本
CO2NET基础库Senparc.CO2NETv2.1.0
APM库Senparc.CO2NET.APMv1.2.0
Redis库[StackExchange.Redis]Senparc.CO2NET.Cache.Redisv4.1.0
Redis库[CSRedis]Senparc.CO2NET.Cache.CsRedisv1.1.0
Memcached库Senparc.CO2NET.Cache.Memcachedv4.1.0
CO2NET的ASP.NET运行时支持库Senparc.CO2NET.AspNetv1.1.0
WebApi引擎库[新]Senparc.CO2NET.WebApiv1.2.0

二.相关源码结构目录

1.WeiXinMPSDK源码结构

Senparc.Weixin核心源码:c93dd84253889ee59bc7aed5008758fa.png

2.Senparc.Weixin.Sample.Net6源码结构

因为现在已经.NET6了,所以就不介绍Senparc.Weixin.MP.Sample.Net45.sln样例了,直接介绍WeiXinMPSDK\Samples\All\net6-mvc\Senparc.Weixin.Sample.Net6.sln样例。源码结构:
315954e62ae35f8307669d1c8df18c6f.png

3.Senparc.Weixin.Sample.MP源码结构

微信公众号样例源码结构:34ff8ad2400978e54cec5f867d439ac1.png下篇文章重点剖析微信公众号样例Senparc.Weixin.Sample.MP的源码。

参考文献:
[1]Senparc.Weixin官网:https://sdk.weixin.senparc.com/
[2]源代码及示例下载:https://github.com/JeffreySu/WeiXinMPSDK
[3]微信技术交流社区:https://weixin.senparc.com/QA
[4]博客简易入门教程:https://www.cnblogs.com/szw/archive/2013/05/14/weixin-course-index.html
[5]微信开发资源汇总:https://github.com/JeffreySu/WeixinResource
[6]《微信公众号+小程序快速开发》教程课件及代码:https://github.com/JeffreySu/WechatVideoCourse
[7]Senparc.Weixin SDK文档:http://doc.weixin.senparc.com/html/G_Senparc.htm#!
[8]公众号[Senparc.Weixin.MP] API:https://www.ncf.pub/swagger/index.html?urls.primaryName=WeChat_OfficialAccount
[9]小程序[Senparc.Weixin.WxOpen] API:https://www.ncf.pub/swagger/index.html?urls.primaryName=WeChat_MiniProgram
[10]企业微信[Senparc.Weixin.Work] API:https://www.ncf.pub/swagger/index.html?urls.primaryName=WeChat_Work
[11]开放平台[Senparc.Weixin.Open] API:https://www.ncf.pub/swagger/index.html?urls.primaryName=WeChat_Open
[12]NeuChar官网:https://www.neuchar.com/
[13]NeuCharFramework:https://github.com/NeuCharFramework/NCF
[14]小程序功能演示:https://sdk.weixin.senparc.com/WxOpen/Page
[15]WebSocket测试:https://sdk.weixin.senparc.com/WebSocket
[16]自定义菜单设置:https://sdk.weixin.senparc.com/Menu
[17]消息模拟器:https://sdk.weixin.senparc.com/SimulateTool
[18]缓存测试:https://sdk.weixin.senparc.com/Cache/Test
[19]异步方法/模板消息测试:https://sdk.weixin.senparc.com/AsyncMethods
[20]开放平台授权测试:https://sdk.weixin.senparc.com/OpenOAuth/JumpToMpOAuth
[21]微信支付V3测试:https://sdk.weixin.senparc.com/TenPayRealV3/ProductList
[22]微信支付V2测试:https://sdk.weixin.senparc.com/TenPayV3/ProductList
[23]扩展插件:https://sdk.weixin.senparc.com/Plugins
[24]二维码生成器:https://sdk.weixin.senparc.com/QrCode
[25]测试号入口:https://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=sandbox/login
[26]Senparc/NeuChar:https://github.com/Senparc/NeuChar

人工智能干货推荐9dc5a4b9fa3a6cbfe3c16e57091d10d2.jpeg专注于人工智能领域的技术分享

游戏元宇宙e5448a08a8dd1e6de37d0140f34a58f5.jpeg专注于游戏领域的技术分享

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/284326.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

7 种提升 Spring Boot 吞吐量神技

目录 二、增加内嵌Tomcat的最大连接数 三、使用ComponentScan()定位扫包比SpringBootApplication扫包更快 四、默认tomcat容器改为Undertow(Jboss下的服务器,Tomcat吞吐量5000,Undertow吞吐量8000) 五、使用 BufferedWriter 进…

【ArcGIS微课1000例】0043:ArcGIS缩略图的创建及应用

缩略图通常出现在地图文档中,便于在启动页面中快速打开指定的地图文档,提高效率。 文章目录一、缩略图预览二、缩略图创建一、缩略图预览 打开ArcMap软件,弹出启动窗口,在最近打开的文档中,可以看到两类,一…

JSP简单登录系统

Login登陆界面 <body> 登陆 <% session.invalidate();%> <form action"TestPW.jsp" method"post">用户名<input type"text" name"username"> 密码<input type"password" name"password&quo…

手动从0搭建ABP框架-ABP官方完整解决方案和手动搭建简化解决方案实践

本文主要讲解了如何把ABP官方的在线生成解决方案运行起来&#xff0c;并说明了解决方案中项目间的依赖关系。然后手动实践了如何从0搭建了一个简化的解决方案。ABP官方的在线生成解决方案源码下载参考[3]&#xff0c;手动搭建的简化的解决方案源码下载参考[4]。一.ABP官方在线生…

Java捕获并处理线程失败抛出的异常

使用 UncaughtExceptionHandler 示例代码如下&#xff1a; Thread.UncaughtExceptionHandler handler new Thread.UncaughtExceptionHandler() { public void uncaughtException(Thread th, Throwable ex) {System.out.println("Uncaught exception: " ex);} }; Th…

【ArcGIS微课1000例】0044:ArcGIS使用山体阴影显示DEM的3种方法

本文讲解了ArcGIS使用山体阴影显示DEM的3种方法:“影像分析”窗口、使用山体阴影效果和山体阴影效果工具的不同之处。 文章目录 一、“影像分析”窗口二、使用山体阴影效果三、山体阴影工具一、“影像分析”窗口 使用山体阴影显示 DEM 的方法有两种。最简单并且最具交互效果的…

区块链每日投资指南(0129)-证监会副主席表示数字货币需要监管

上一周的走势依然是工作日下跌&#xff0c;周末拉升的结局。这主要原因依然是&#xff0c;周末不上班。最终政策出炉之前&#xff0c;市场恐怕还将继续震荡。下周的工作日恐怕会重演下跌的节奏。但是经过了17号&#xff0c;23号&#xff0c;26号三次筑底来看&#xff0c;如果政…

蓝绿发布、滚动发布、灰度发布,有什么区别?

在项目迭代的过程中&#xff0c;不可避免需要”上线“。上线对应着部署&#xff0c;或者重新部署&#xff1b;部署对应着修改&#xff1b;修改则意味着风险。目前有很多部署发布的技术, 这儿将常见的做一个总结。 上面所说难免有些抽象, 举一个情景例子, 加入你是微博项目负责…

【ArcGIS微课1000例】0045:ArcGIS制图模板的自定义与使用方法

怎样在ArcGIS中保存地图模板以在地图制图与打印之前使用呢? 文章目录 一、地图模板简介二、地图模板创建1. 创建模板2. 创建缩略图3. 保存模板三、地图模板使用一、地图模板简介 使用ArcMap打开一个已有的地图模板,【文件】→【新建】,任选一个模板,这里选择一个传统模板。…

怎么样的框架对于开发者是友好的?

云原生离.NET开发到底有多远&#xff1f;云原生的概念由来不久&#xff0c;故事从“上云”开始&#xff0c;伴随dorker、k8s等技术的推出&#xff0c;以及CNCF与各大云厂商的共同加持&#xff0c;云原生逐渐被大家所熟知。云原生不依赖具体的云&#xff0c;不管公有云还是私有云…

JS 烧脑面试题大赏

本文精选了20多道具有一定迷惑性的js题&#xff0c;主要考察的是类型判断、作用域、this指向、原型、事件循环等知识点&#xff0c;每道题都配有详细傻瓜式的解析&#xff0c;偏向于初学者&#xff0c;大佬请随意。 第1题 let a 1 function b(a) {a 2console.log(a) } b(a)…

Thinkphp 验证码、文件上传

一、验证码 验证码参数 例题&#xff1a;登录时验证下验证码 LoginController.class.php <?php namespace Home\Controller; use Think\Controller; class LoginController extends Controller {public function Login(){if(empty($_POST)){$this->display(); } e…

ArcGIS实验教程——实验四十七:数据驱动页工具批量制作甘肃省各地级市人口七普专题图集

本实验详细讲解利用ArcGIS数据驱动页工具,制作甘肃省各地级市人口七普专题图集。 文章目录 1. 数据驱动页工具简介2. 甘肃省各地级市人口七普专题图集2.1 符号化及标注2.2 数据驱动页的创建2.3 数据驱动页面文本操作2.4 数据驱动页的导出1. 数据驱动页工具简介 数据驱动页面是…

为什么Java有GC调优而没听说过有CLR的GC调优?

前言在很多的场合我都遇到过一些群友提这样的一些问题&#xff1a;为什么Java有GC调优而CLR没有听说过有GC调优呢&#xff1f;到底是Java的JVM GC比较强还是C#使用的.NET CLR的GC比较强呢&#xff1f;其实业内已经有几位大佬的高赞文章和大家分享一下&#xff0c;主要讨论JVM和…

Ubuntu16.04 - 安装RabbitVCS,linux下的TortoiseSVN!!!

RabbitVCS 官网&#xff1a;http://rabbitvcs.org/ 1&#xff0c;添加PPA源。在shell里面执行下面命令&#xff1a; sudo add-apt-repository ppa:rabbitvcs/ppa 这个命令执行完毕后&#xff0c;查看执行结果看是否密钥导入成功&#xff0c;成功截图&#xff1a; 如果导入密钥失…

【ArcGIS微课1000例】0047:制图表达(2)---河流渐变效果的实现

当我们在ArcMap中加载河流数据时,得到的效果往往如图所示,仅仅是表示河流位置的线要素,既无法真实地反映河流的实际情况,同时在出图的时候也远没有任何美化效果。 文章目录 1.创建制图表达2.添加几何效果3.使用制图规则4.使用制图表达属性覆盖警告:这些操作会对您的数据库…

1 句代码,搞定 ASP.NET Core 绑定多个源到同一个类

问题有群友希望将路由中的信息绑定到一个Dto对象中&#xff1a;public class DDDDDto {[FromRoute(Name "collectionId")]public Guid collectionId { get; set; }[BindProperty(Name "relativeUrl")]public string relativeUrl { get; set; } }这样就不用…

设置git自动补全功能(windows版本)

目录 下载 Git 的源代码 在目录中 git/contrib/completion/ 中找到 git-completion.bash 文件 将 git-completion.bash 文件改名为 .git-completion.bash 找到本机git安装目录 将.git-completion.bash文件复制到git安装目录下的etc文件夹 打开同目录下的 bash.bashrc 文件&…

[转]Java 18 还未用上,Java 19 最新两大特性曝光

铁打的 Java&#xff0c;流水的版本。 不久前&#xff0c;Java 18 才正式发布&#xff0c;遵循 Oracle 六个月发一版本的频率&#xff0c;Java 19 将在今年 9 月出炉。这不&#xff0c;还没等众多开发者用上 Java 18&#xff0c;关于 Java 19 最新的两个目标功能就被披露了出…

C# 值类型和引用类型讲解

要了解值类型和引用类型&#xff0c;我们首先要知道堆和栈的区别&#xff1a;① 栈是编译期间就分配好的内存空间&#xff0c;因此你的代码中必须就栈的大小有明确的定义&#xff1b;堆是程序运行期间动态分配的内存空间&#xff0c;你可以根据程序的运行情况确定要分配的堆内存…