mirror of
https://github.com/CoreUnion/CoreShop.git
synced 2026-10-17 05:12:39 +08:00
!95 微信推送消息转发模式增加图片形式。
* 同步 * 增加消息转发类型 * 调整细节 * 修复github链接 * 1、【后端】移除业务逻辑中的【MediatR】及中介者模式,启用【Redis队列】处理。 * Merge branch 'develop' into dahuihui/develop * 升级编辑器为CKEditor5 * Merge branch 'develop' into dahuihui/develop * Merge branch 'develop' into dahuihui/develop * 【后端】优化后端设置权限角色,反射controller和action的效率问题。 * 【后端】修复后端编辑商品问题。 * 【后端】修复腾讯云cos存储未调用bucket问题。#I42DF0 * Merge branch 'develop' into dahuihui/develop * 启用新域名及演示平台 * Merge branch 'develop' into dahuihui/develop * Merge branch 'develop' into dahuihui/develop * 调整说明 * Merge branch 'develop' into dahuihui/develop * 删除不需要的菜单 * 修复域名转发获取ip地址长度过长问题。 * 1、【后端】调整全局错误返回提示语。2、【数据库】修复20日删除3个表后,未清理干净问题。 * Merge branch 'develop' into dahuihui/develop * Merge branch 'develop' into dahuihui/develop * 调整全局错误返回提示语 * 修复商品批量处理报错的问题并优化展示界面。#I3X8PP * Merge branch 'develop' into dahuihui/develop * Merge branch 'develop' into dahuihui/develop * 增加过滤敏感词的功能。#I3W6CM * 增加Issue 和 Pull Request 模板 * 修复自定义上传路径上传至站点根目录,而非wwwroot的问题 #I41TD1 * Merge branch 'develop' into dahuihui/develop * 修复自定义上传路径的表单命名异常问题 * 使用新数据库 * 【数据库】修复mysql数据库decimal类型未带小数的问题。#I3WAUY * 更新数据库及脚本 * 2021-07-20 * Merge branch 'develop' into dahuihui/develop * 修复webapi不进入调试断点的问题。 * Merge branch 'develop' into dahuihui/develop * 修复后台前后端分离table面板启用自定义域名问题。 * 修复后台前后端分离域名未增加到html问题。 * Merge branch 'develop' into dahuihui/develop * 【后端】修复修改登录用户真实姓名长度问题。 * 修复后台管理配送方式维护错误问题 * 1、修复小程序注册问题,导致交互事情。不然盛派的组件有bug,在不注册微信公众号只注册微信小程序的时候,进行小程序消息操作,默认还是走的是微… * 修复消息模板不推送的问题 * Merge branch 'develop' into dahuihui/develop * Merge branch 'develop' into dahuihui/develop * 修复过期失效文档 * 调整代码生成器,增加初始化事务 * 调整接口端提示界面 * 修复弹窗不居中问题 * 调整一些命名方式 * 修复uni-app前端,用户订单列表【确认收货】按钮失效问题 * 1、修复mysql数据库下,报表统计sql的语法错误。2、为方便前端在不部署接口及后端的情况下测试uni-app前端,默认增加了测试接口地址… * Merge branch 'develop' into dahuihui/develop * 调整命名 * 增加docker-compose部署 * Merge branch 'develop' into dahuihui/develop * 修复因linux下存在数据与文件名称大小写不对应,导致找不到数据库表的问题,特重新发布一份表名与实体名称一一对应脚本。 * 新mysql表名存在大小写问题
This commit is contained in:
@@ -0,0 +1,67 @@
|
||||
/***********************************************************************
|
||||
* Project: CoreCms.Net *
|
||||
* Web: https://CoreCms.Net *
|
||||
* ProjectName: 核心内容管理系统 *
|
||||
* Author: 大灰灰 *
|
||||
* Email: JianWeie@163.com *
|
||||
* CreateTime: 2020-08-13 23:57:23
|
||||
* Description: 暂无
|
||||
***********************************************************************/
|
||||
|
||||
|
||||
using System.Threading;
|
||||
using System.Threading.Tasks;
|
||||
using CoreCms.Net.Utility.Helper;
|
||||
using CoreCms.Net.WeChat.Service.HttpClients;
|
||||
using CoreCms.Net.WeChat.Service.Models;
|
||||
using MediatR;
|
||||
using SKIT.FlurlHttpClient.Wechat.Api;
|
||||
using SKIT.FlurlHttpClient.Wechat.Api.Events;
|
||||
|
||||
namespace CoreCms.Net.WeChat.Service.Mediator
|
||||
{
|
||||
/// <summary>
|
||||
/// 表示 TEXT 事件的数据
|
||||
/// </summary>
|
||||
public class ImageMessageEventCommand : IRequest<WeChatApiCallBack>
|
||||
{
|
||||
public ImageMessageEvent EventObj { get; set; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 处理TEXT 事件的数据-以被动回复文本消息为例
|
||||
/// </summary>
|
||||
public class ImageMessageEventCommandHandler : IRequestHandler<ImageMessageEventCommand, WeChatApiCallBack>
|
||||
{
|
||||
private readonly WeChat.Service.HttpClients.IWeChatApiHttpClientFactory _weChatApiHttpClientFactory;
|
||||
|
||||
|
||||
|
||||
public ImageMessageEventCommandHandler(IWeChatApiHttpClientFactory weChatApiHttpClientFactory)
|
||||
{
|
||||
_weChatApiHttpClientFactory = weChatApiHttpClientFactory;
|
||||
}
|
||||
|
||||
public async Task<WeChatApiCallBack> Handle(ImageMessageEventCommand request, CancellationToken cancellationToken)
|
||||
{
|
||||
|
||||
var jm = new WeChatApiCallBack() { Status = true };
|
||||
|
||||
if (request.EventObj != null)
|
||||
{
|
||||
var client = _weChatApiHttpClientFactory.CreateWxOpenClient();
|
||||
var replyModel = new SKIT.FlurlHttpClient.Wechat.Api.Events.TransferCustomerServiceReply()
|
||||
{
|
||||
ToUserName = request.EventObj.FromUserName,
|
||||
FromUserName = request.EventObj.ToUserName,
|
||||
CreateTimestamp = CommonHelper.GetTimeStampByTotalSeconds()
|
||||
};
|
||||
var replyXml = client.SerializeEventToXml(replyModel);
|
||||
jm.Data = replyXml;
|
||||
}
|
||||
|
||||
return await Task.FromResult(jm);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,67 @@
|
||||
/***********************************************************************
|
||||
* Project: CoreCms.Net *
|
||||
* Web: https://CoreCms.Net *
|
||||
* ProjectName: 核心内容管理系统 *
|
||||
* Author: 大灰灰 *
|
||||
* Email: JianWeie@163.com *
|
||||
* CreateTime: 2020-08-13 23:57:23
|
||||
* Description: 暂无
|
||||
***********************************************************************/
|
||||
|
||||
|
||||
using System.Threading;
|
||||
using System.Threading.Tasks;
|
||||
using CoreCms.Net.Utility.Helper;
|
||||
using CoreCms.Net.WeChat.Service.HttpClients;
|
||||
using CoreCms.Net.WeChat.Service.Models;
|
||||
using MediatR;
|
||||
using SKIT.FlurlHttpClient.Wechat.Api;
|
||||
using SKIT.FlurlHttpClient.Wechat.Api.Events;
|
||||
|
||||
namespace CoreCms.Net.WeChat.Service.Mediator
|
||||
{
|
||||
/// <summary>
|
||||
/// 表示 TEXT 事件的数据
|
||||
/// </summary>
|
||||
public class VoiceMessageEventCommand : IRequest<WeChatApiCallBack>
|
||||
{
|
||||
public VoiceMessageEvent EventObj { get; set; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 处理TEXT 事件的数据-以被动回复文本消息为例
|
||||
/// </summary>
|
||||
public class VoiceMessageEventCommandHandler : IRequestHandler<VoiceMessageEventCommand, WeChatApiCallBack>
|
||||
{
|
||||
private readonly WeChat.Service.HttpClients.IWeChatApiHttpClientFactory _weChatApiHttpClientFactory;
|
||||
|
||||
|
||||
|
||||
public VoiceMessageEventCommandHandler(IWeChatApiHttpClientFactory weChatApiHttpClientFactory)
|
||||
{
|
||||
_weChatApiHttpClientFactory = weChatApiHttpClientFactory;
|
||||
}
|
||||
|
||||
public async Task<WeChatApiCallBack> Handle(VoiceMessageEventCommand request, CancellationToken cancellationToken)
|
||||
{
|
||||
|
||||
var jm = new WeChatApiCallBack() { Status = true };
|
||||
|
||||
if (request.EventObj != null)
|
||||
{
|
||||
var client = _weChatApiHttpClientFactory.CreateWxOpenClient();
|
||||
var replyModel = new SKIT.FlurlHttpClient.Wechat.Api.Events.TransferCustomerServiceReply()
|
||||
{
|
||||
ToUserName = request.EventObj.FromUserName,
|
||||
FromUserName = request.EventObj.ToUserName,
|
||||
CreateTimestamp = CommonHelper.GetTimeStampByTotalSeconds()
|
||||
};
|
||||
var replyXml = client.SerializeEventToXml(replyModel);
|
||||
jm.Data = replyXml;
|
||||
}
|
||||
|
||||
return await Task.FromResult(jm);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -165,18 +165,21 @@ namespace CoreCms.Net.Web.WebApi.Controllers.WeChatOAuth
|
||||
|
||||
switch (requestType)
|
||||
{
|
||||
|
||||
case RequestMsgType.Text:
|
||||
var callbackModel = client.DeserializeEventFromXml<SKIT.FlurlHttpClient.Wechat.Api.Events.TextMessageEvent>(msgXml);
|
||||
callBack = await _mediator.Send(new TextMessageEventCommand() { EventObj = callbackModel });
|
||||
var textMessageEvent = client.DeserializeEventFromXml<SKIT.FlurlHttpClient.Wechat.Api.Events.TextMessageEvent>(msgXml);
|
||||
callBack = await _mediator.Send(new TextMessageEventCommand() { EventObj = textMessageEvent });
|
||||
break;
|
||||
case RequestMsgType.Location:
|
||||
|
||||
break;
|
||||
case RequestMsgType.Image:
|
||||
|
||||
var imageMessageEvent = client.DeserializeEventFromXml<SKIT.FlurlHttpClient.Wechat.Api.Events.ImageMessageEvent>(msgXml);
|
||||
callBack = await _mediator.Send(new ImageMessageEventCommand() { EventObj = imageMessageEvent });
|
||||
break;
|
||||
case RequestMsgType.Voice:
|
||||
|
||||
var voiceMessageEvent = client.DeserializeEventFromXml<SKIT.FlurlHttpClient.Wechat.Api.Events.VoiceMessageEvent>(msgXml);
|
||||
callBack = await _mediator.Send(new VoiceMessageEventCommand() { EventObj = voiceMessageEvent });
|
||||
break;
|
||||
case RequestMsgType.Video:
|
||||
|
||||
|
||||
@@ -11,8 +11,8 @@
|
||||
<h4 align="center">支持可视化布局的.Net小程序商城</h4>
|
||||
|
||||
[](https://gitee.com/CoreUnion/CoreShop.git) [](https://gitee.com/CoreUnion/CoreShop.git)
|
||||
[](https://gihub.com/CoreUnion/CoreShop.git)
|
||||
[](https://gihub.com/CoreUnion/CoreShop.git)
|
||||
[](https://github.com/CoreUnion/CoreShop)
|
||||
[](https://github.com/CoreUnion/CoreShop)
|
||||
<a target="_blank" href="https://gitee.com/CoreUnion/CoreShop/blob/master/LICENSE"><img src="https://img.shields.io/github/license/CoreUnion/CoreShop.svg?logo=git&logoColor=red" ></img></a>
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user