学习目标
学习Sample项目,了解Senparc.Weixin SDK中公众号、小程序相关的基础功能。
Sample中的代码很多可以直接复制使用。
本节课主要演示Sample实现了哪些功能特性。
代码结构
Senpark.WeiXin SDK Demo文件夹结构
VS2017是 multi-targeting 版本,包括.net 3.0、4.0、4.5和core 1.0、1.1、2.0等版本。
Sample部署的网址:Senparc官方在线
http://sdk.weixin.senparc.com/
下图中,企业号和开放平台,在课程中不展开叙述。
Sample部署时,微信后台需要对应设置的信息,在Web.Config中,如下图
- 微信公众号URL对接信息,填写自己服务器信息
- 高级接口信息,填写微信MP平台信息
测试Demo之前,先关注“盛派网络小助手”
在公众号的菜单中,可以体验消息界面的通讯。
- 消息通讯:
上下文功能:
发送“欢迎!”,“你好啊!”,输入“openid”,服务器都能返回一些信息(
针对每一个个人,我们都有一个类似Session储存)
- 异步方法:AsyncMethodsController
- 打开测试地址:http://sdk.weixin.senparc.com/AsyncMethods
- 公众号输入“TM”
- 在测试地址模版消息中,输入验证码,例如“c21”,点击测试
异步的两层含义
用户不需要在界面上互动,我们就可以异步推送给他
异步方法,不需要占用几秒的等待时间
- 缓存测试
链接:http://sdk.weixin.senparc.com/Cache/Test
缓存队列测试原理就在链接页面上
自己可以看一下缓存策略和缓存结果
- 设备接口:DeviceController
需要用到蓝牙设备,就会用到这些接口,大部分JSSDK方法都已经写到里面了,根据实际开发需要调用
- 浏览器过滤,FilterTestController
判断当前打开的页面是否在微信浏览器里面,如果是继续打开,如果不是,给出一条提示消息。
测试地址:http://sdk.weixin.senparc.com/FilterTest
- Oauth网页授权测试:用户信息获取
链接在公众号第二个菜单中,OAuth具体内容,后面还会介绍。
修改逻辑每次都要上传,会很麻烦,所以提供了一个模拟方法。http://sdk.weixin.senparc.com/SimulateTool
- 微信支付
在公众号里面,顺便也可以体验退款功能
- JSSDK:WeixinJSSDKController
测试地址:http://sdk.weixin.senparc.com/WeixinJSSDK
如果我们是默认方式进行转发,不使用JSSDK的话,转发的图片是不会出来的,不会有自定义信息出来。
- AnalysisController:微信支付统计报表
- DocumentController:在线文档
- ForTestController:测试的Controller,暂时忽略
-
MediaController:用在素材上传过程中
image.png
小程序
Demo同时提供了小程序的Demo
提交到服务器上的小程序的代码(外观)
- 打开“Web开发者工具”
如果第一次打开,就可能是下面的界面,需要点击“+”添加项目。
里面有4个测试:
- WebSocket
- 获取数据
- 测试模版消息
- 获取手机号
想要体验的话,可以在微信小程序中搜索“盛派网络小助手”
- 点击“获取数据”
- 服务器返回消息,代码段如下
[HttpPost]
public ActionResult RequestData(string nickName)
{
var data = new
{
msg = string.Format("服务器时间:{0},昵称:{1}", DateTime.Now, nickName)
};
return Json(data);
}
结果如下截图:
高级接口查找,例如全文搜索“统一下单”,例如到wiki中查找关键链接路径:
或者在“http://doc.weixin.senparc.com/html/G_Senparc_CO2NET.htm”链接里面查找
自定义菜单为例(在公众号里面)
- CommonApiTest是部分类主类:填写了很多配置信息,可以直接配置,也可以在配置文件中。
-
CommonApiTest.Menu.cs是部分类
image.png
CreateMenu 创建自定义菜单的方法
单元测试已经做了自定义菜单,但是这样的设置,显然还是非常麻烦的。我们的Demo里面,菜单第二个还提供了自定义菜单的入口。链接:http://sdk.weixin.senparc.com/Menu
- 进入“菜单”页面
- 输入信息,获取“AccessToken”
- 点击“获取当前菜单”
-
更新菜单后,点击更新到服务器
image.png
个性化菜单,可以根据不同的用户组啊,性别啊,进行区别话对待。
下面是一个测试