From 0f9263238c5760267db714bb9fb6f4b86e202b22 Mon Sep 17 00:00:00 2001
From: lijin <17408817@qq.com>
Date: 星期五, 21 十一月 2025 09:05:37 +0800
Subject: [PATCH] 签入
---
ApiTools.Core/Utils/WxmpUtils/WxmpUtils.cs | 46 +++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 45 insertions(+), 1 deletions(-)
diff --git a/ApiTools.Core/Utils/WxmpUtils/WxmpUtils.cs b/ApiTools.Core/Utils/WxmpUtils/WxmpUtils.cs
index 44f09c0..cb686c5 100644
--- a/ApiTools.Core/Utils/WxmpUtils/WxmpUtils.cs
+++ b/ApiTools.Core/Utils/WxmpUtils/WxmpUtils.cs
@@ -1,8 +1,10 @@
锘縰sing Aliyun.OSS;
-using Azure.Core;
+using Aop.Api.Domain;
using ApiTools.Core.Utils.WxmpUtils;
+using Azure.Core;
using Furion.FriendlyException;
using Furion.HttpRemote;
+using Furion.JsonSerialization;
using Mapster;
using Microsoft.Extensions.Caching.Distributed;
using Microsoft.Extensions.Options;
@@ -14,8 +16,10 @@
using System.Net.Http.Json;
using System.Text;
using System.Text.Json.Nodes;
+using System.Text.Unicode;
using System.Threading;
using System.Threading.Tasks;
+using static System.Net.Mime.MediaTypeNames;
namespace ApiTools.Core
{
@@ -124,5 +128,45 @@
var result = AliyunOSSUtils.Upload(command.OssScene, stream, command.OssFileName);
return result.Url;
}
+
+ /// <summary>
+ /// 璇ユ帴鍙g敤浜庡彂閫佽闃呮秷鎭�
+ /// </summary>
+ /// <param name="command"></param>
+ /// <returns></returns>
+ public async Task<string> WxSend(SendRequest command)
+ {
+ var option = options.Value.Items.FirstOrDefault(it => it.Code == command.WxmpCode);
+ if (option == null || option.AppId.IsNull() || option.AppSecret.IsNull())
+ throw Oops.Oh(EnumErrorCodeType.s400, "鑾峰彇灏忕▼搴忕爜澶辫触锛岀己澶遍厤缃細WxmpOptions");
+ command.EnvVersion = option.EnvVersion;
+ var accessToken = await GetAccessToken(command.WxmpCode);
+ var request = command.Adapt<SendRequest>();
+ var jsonContent = JsonConvert.SerializeObject(request, new JsonSerializerSettings
+ {
+ NullValueHandling = NullValueHandling.Ignore
+ });
+ var response = await httpRemoteService.PostAsync("https://api.weixin.qq.com/cgi-bin/message/subscribe/send",
+ builder => builder
+ .WithQueryParameter("access_token", accessToken)
+ .SetJsonContent(jsonContent));
+ response.EnsureSuccessStatusCode();
+ //var a = response.Content.Headers.ContentType.ToString();
+ //application/json; encoding=utf-8
+ //if (response.Content.Headers.ContentType.ToString() == "application/json; charset=UTF-8")
+ if (response.Content.Headers.ContentType.ToString() == "application/json; encoding=utf-8")
+ {
+ var jsonResult = await response.Content.ReadAsStringAsync();
+ //var callback = jsonResult.JsonTo<SendResponse>();
+ //if (callback == null || callback.ErrorCode != 0)
+ //throw Oops.Oh(EnumErrorCodeType.s510, $"鑾峰彇灏忕▼搴忕爜澶辫触锛歿callback.errmsg}锛岃鑱旂郴绠$悊鍛�");
+ return jsonResult;
+ }
+ //var stream = await response.Content.ReadAsStreamAsync();
+ //var result = AliyunOSSUtils.Upload(command, stream, command.OssFileName);
+ return "";
+ }
+
+
}
}
--
Gitblit v1.9.1