规范文档/Senparc.Weixin SDK 维护备忘录/添加新的 RequestMsgType 步骤.md
MP项目为例:
Enums.cs,在 RequestMsgType 枚举(目前已统一到 NeuChar 中,Event 的具体类型仍然保留在项目中)中添加对应类型(如File)
Entities/Request 目录下添加对应类,如:RequestMessageFile.cs
RequestMessageFactory.cs,GetRequestEntity() 方法中添加对应 RequestMsgType 的 case 判断,如:
case RequestMsgType.File:
requestMessage = new RequestMessageFile();
break;
新版本中,使用了 Senparc.NeuChar,需要结合 NeuChar 修改。
/// <summary>
/// 文件请求
/// </summary>
public virtual IResponseMessageBase OnFileRequest(RequestMessageFile requestMessage)
{
return DefaultResponseMessage(requestMessage);
}
case RequestMsgType.File:
ResponseMessage = OnFileRequest(RequestMessage as RequestMessageFile);
break;
/// <summary>
/// 【异步方法】文件类型请求
/// </summary>
public virtual async Task<IResponseMessageBase> OnFileRequestAsync(RequestMessageFile requestMessage)
{
return await DefaultAsyncMethod(requestMessage, () => OnFileRequest(requestMessage));
}
case RequestMsgType.File:
ResponseMessage = await OnFileRequestAsync(RequestMessage as RequestMessageFile);
break;
case RequestMsgType.Text:
requestMessage = new RequestMessageText();
break;