mirror of
http://git.coreshop.cn/jianweie/coreshoppro.git
synced 2025-12-06 18:53:25 +08:00
【修复】修复公众号管理创建二级菜单失败的问题。
This commit is contained in:
@@ -18,6 +18,7 @@ using SKIT.FlurlHttpClient.Wechat.Api.Models;
|
||||
using CoreCms.Net.WeChat.Service.HttpClients;
|
||||
using CoreCms.Net.WeChat.Service.Enums;
|
||||
using SKIT.FlurlHttpClient.Wechat.Api;
|
||||
using Microsoft.IdentityModel.Tokens;
|
||||
|
||||
namespace CoreCms.Net.Web.Admin.Controllers.Api.WeChat
|
||||
{
|
||||
@@ -70,6 +71,53 @@ namespace CoreCms.Net.Web.Admin.Controllers.Api.WeChat
|
||||
public async Task<AdminUiCallBack> CreateMenu(MenuFull_ButtonGroupForSkit menu)
|
||||
{
|
||||
var jm = new AdminUiCallBack();
|
||||
|
||||
if (!menu.button.Any())
|
||||
{
|
||||
jm.msg = "请不要提交空的菜单数据";
|
||||
return jm;
|
||||
}
|
||||
|
||||
var skitButtons = new List<CgibinMenuCreateRequest.Types.Button>();
|
||||
|
||||
foreach (var itemParent in menu.button)
|
||||
{
|
||||
if (string.IsNullOrEmpty(itemParent.name) && string.IsNullOrEmpty(itemParent.name)) continue;
|
||||
|
||||
var bt = new CgibinMenuCreateRequest.Types.Button
|
||||
{
|
||||
Type = itemParent.type,
|
||||
Key = itemParent.key,
|
||||
Name = itemParent.name,
|
||||
Url = itemParent.url,
|
||||
MiniProgramAppId = itemParent.appid,
|
||||
MiniProgramPagePath = itemParent.pagepath,
|
||||
MediaId = itemParent.media_id,
|
||||
ArticleId = "",
|
||||
SubButtonList = new List<CgibinMenuCreateRequest.Types.Button>()
|
||||
};
|
||||
|
||||
if (!itemParent.sub_button.Any()) continue;
|
||||
|
||||
foreach (var btChild in from itemChild in itemParent.sub_button
|
||||
where !string.IsNullOrEmpty(itemChild.key) || !string.IsNullOrEmpty(itemChild.name)
|
||||
select new CgibinMenuCreateRequest.Types.Button
|
||||
{
|
||||
Type = itemChild.type,
|
||||
Key = itemChild.key,
|
||||
Name = itemChild.name,
|
||||
Url = itemChild.url,
|
||||
MiniProgramAppId = itemChild.appid,
|
||||
MiniProgramPagePath = itemChild.pagepath,
|
||||
MediaId = itemChild.media_id,
|
||||
ArticleId = ""
|
||||
})
|
||||
{
|
||||
bt.SubButtonList.Add(btChild);
|
||||
}
|
||||
skitButtons.Add(bt);
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
var client = _weChatApiHttpClientFactory.CreateWeXinClient();
|
||||
@@ -77,7 +125,7 @@ namespace CoreCms.Net.Web.Admin.Controllers.Api.WeChat
|
||||
var request = new CgibinMenuCreateRequest()
|
||||
{
|
||||
AccessToken = accessToken,
|
||||
ButtonList = menu.button
|
||||
ButtonList = skitButtons
|
||||
};
|
||||
|
||||
var response = await client.ExecuteCgibinMenuCreateAsync(request, HttpContext.RequestAborted);
|
||||
|
||||
Reference in New Issue
Block a user