CrazyIter_Bin 2 年 前
コミット
8a2c1038a2

+ 18 - 3
TEAMModelOS.SDK/DI/CoreAPI/CoreAPIHttpService.cs

@@ -56,7 +56,7 @@ namespace TEAMModelOS.SDK
         /// <param name="url"></param>
         /// <param name="data"></param>
         /// <returns></returns>
-        public async Task<HttpStatusCode> SendSmsPin(Dictionary<string, object> data, string location, IConfiguration _configuration, DI.DingDing _dingDing)
+        public async Task<(HttpStatusCode  code ,string content)> SendSmsPin(Dictionary<string, object> data, string location, IConfiguration _configuration, DI.DingDing _dingDing)
 
         {
             try {
@@ -81,10 +81,25 @@ namespace TEAMModelOS.SDK
                 }
                 _httpClient.DefaultRequestHeaders.Add("Authorization", $"Bearer {token.AccessToken}");
                 HttpResponseMessage responseMessage = await _httpClient.PostAsJsonAsync(url, data);
-                return responseMessage.StatusCode;
+                if (responseMessage.Content != null)
+                {
+                    string content = await responseMessage.Content.ReadAsStringAsync();
+                    if (!string.IsNullOrWhiteSpace(content))
+                    {
+                        return (responseMessage.StatusCode, content);
+                    }
+                    else {
+                        return (responseMessage.StatusCode, null);
+                    }
+                }
+                else {
+                    return (responseMessage.StatusCode, null);
+                }
+                
+               
             } catch (Exception ex) {
                 await _dingDing.SendBotMsg($"{location}验证码发送异常:\n{ex.Message}\n{ex.StackTrace}", DI.GroupNames.醍摩豆服務運維群組);
-                return HttpStatusCode.InternalServerError;
+                return (HttpStatusCode.InternalServerError,null);
             }
 
 

+ 14 - 5
TEAMModelOS/Controllers/System/CoreController.cs

@@ -97,22 +97,31 @@ namespace TEAMModelOS.Controllers
                 //不存在则发送请求。
                
                 Dictionary<string, object> dict = null;
-                if (_HasUser.ValueKind.Equals(JsonValueKind.True) || _HasUser.ValueKind.Equals(JsonValueKind.False))
+                if (_HasUser.ValueKind.Equals(JsonValueKind.True))
                 {
-                    dict = new Dictionary<string, object> { { "country", $"{_area}" }, { "to", $"{_to}" }, { "lang", $"{_lang}" }, { "HasUser", _HasUser } };
+                    dict = new Dictionary<string, object> { { "country", $"{_area}" }, { "to", $"{_to}" }, { "lang", $"{_lang}" }, { "HasUser", true } };
+                }
+                else if (_HasUser.ValueKind.Equals(JsonValueKind.False)) {
+                    dict = new Dictionary<string, object> { { "country", $"{_area}" }, { "to", $"{_to}" }, { "lang", $"{_lang}" }, { "HasUser", false } };
                 }
                 else
                 {
                     dict = new Dictionary<string, object> { { "country", $"{_area}" }, { "to", $"{_to}" }, { "lang", $"{_lang}" } };
                 }
-                var httpStatusCode = await _coreAPIHttpService.SendSmsPin(dict, _option.Location, _configuration, _dingDing);
-                if (httpStatusCode.Equals(HttpStatusCode.OK))
+                var httpresp = await _coreAPIHttpService.SendSmsPin(dict, _option.Location, _configuration, _dingDing);
+                if (httpresp.code.Equals(HttpStatusCode.OK))
                 {
                     var Expire = DateTime.UtcNow.AddSeconds(exp);
                     //send=1 表示已发送
                     await _azureRedis.GetRedisClient(8).StringSetAsync(key, new { code = code, send = 1, Expire = Expire.Ticks }.ToJsonString());
                     _azureRedis.GetRedisClient(8).KeyExpire(key, Expire);
-                    return Ok(new {  send = 1  });
+                    if (!string.IsNullOrWhiteSpace(httpresp.content))
+                    {
+                        return Ok(httpresp.content.ToObject<JsonElement>());
+                    }
+                    else {
+                        return Ok(new { send = 1 });
+                    }
                 }
                 else
                 {