浏览代码

Merge branch 'develop' of http://132.232.92.186:3000/XinXiBu/OA2023 into develop

wangh 2 年之前
父节点
当前提交
63d044279f

+ 3 - 65
OASystem/OASystem.Api/Controllers/AuthController.cs

@@ -51,17 +51,17 @@ namespace OASystem.API.Controllers
             }
 
             #endregion
-            IActionResult authData = null;
+            Result authData = null;
             if (userData.Data != null)
             {
                 var uid = (userData.Data as UserLoginInfoView).UserId;
-                authData = await MenuLoad(new MenuLoadDto() { PortType = dto.PortType, UserId = uid });
+                authData = _SystemMenuPermissionRepository.QueryMenuLoad(uid, dto.PortType);
             }
 
             var view = new LoginView
             {
                 UserInfo = userData == null ? null : userData.Data,
-                AuthData = authData != null ? (authData as OkObjectResult).Value : null,
+                AuthData = authData == null ? null : authData.Data,
             };
 
             DateTime createZebraTime = DateTime.Now;
@@ -184,67 +184,5 @@ namespace OASystem.API.Controllers
 
             return Ok(JsonView(view));
         }
-
-
-
-        /// <summary>
-        /// 菜单加载
-        /// </summary>
-        /// <returns></returns>
-        [HttpPost]
-        [HttpPost("MenuLoad")]
-        [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
-        public async Task<IActionResult> MenuLoad(MenuLoadDto dto)
-        {
-            var QueryResult = _SystemMenuPermissionRepository.QueryMenuLoad(dto.UserId,dto.PortType);
-            ArrayList arr = new ArrayList();
-            JsonView ViewData = new JsonView();
-            ViewData.Code = 400;
-            ViewData.Msg = "错误!";
-            ViewData.Data = null;
-
-            if (QueryResult.Code == 0)
-            {
-                if (dto.PortType == 1)
-                {
-                    var menuGroup = (QueryResult.Data as List<MenuLoadView>).GroupBy(x => x.modulid);
-                    foreach (var item in menuGroup)
-                    {
-                        var modul = item.FirstOrDefault();
-                        if (modul != null)
-                        {
-                            arr.Add(new
-                            {
-                                modulName = modul.modulName,
-                                modulid = modul.modulid,
-                                pageList = item
-                            });
-                        }
-                    }
-
-                    ViewData.Code = 200;
-                    ViewData.Msg = QueryResult.Msg;
-                    ViewData.Data = arr;
-
-                }
-                else if (dto.PortType == 2)
-                {
-                    var pages = (QueryResult.Data as List<MenuLoadView>).Select(x => x.pageid).ToArray();
-                    arr = ArrayList.Adapter(pages);
-
-                    ViewData.Code = 200;
-                    ViewData.Msg = QueryResult.Msg;
-                    ViewData.Data = arr;
-                }
-            }
-            else
-            {
-                ViewData.Msg = "错误!(" + QueryResult.Msg + ")";
-            }
-
-            return Ok(ViewData);
-        }
-
-
     }
 }

+ 3 - 3
OASystem/OASystem.Api/Controllers/GroupsController.cs

@@ -36,14 +36,14 @@ namespace OASystem.API.Controllers
         /// <returns></returns>
         [HttpPost]
         [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
-        public async Task<IActionResult> PostSearchGrpSchedule(string paras)
+        public async Task<IActionResult> PostSearchGrpSchedule(JsonDtoBase _jsonDto)
         {
-            if (string.IsNullOrEmpty(paras))
+            if (string.IsNullOrEmpty(_jsonDto.Paras))
             {
                 return Ok(JsonView(false, "参数为空"));
             }
 
-            Grp_ScheduleDto _ScheduleDto = JsonConvert.DeserializeObject<Grp_ScheduleDto>(paras);
+            Grp_ScheduleDto _ScheduleDto = JsonConvert.DeserializeObject<Grp_ScheduleDto>(_jsonDto.Paras);
             if (_ScheduleDto != null)
             {
                 if (_ScheduleDto.SearchType == 2)//获取列表

+ 62 - 2
OASystem/OASystem.Api/Controllers/SmallFunController.cs

@@ -3,9 +3,11 @@ using Microsoft.AspNetCore.Mvc;
 using Microsoft.Extensions.Options;
 using MySqlX.XDevAPI;
 using OASystem.API.OAMethodLib.JuHeAPI;
+using OASystem.API.OAMethodLib.YouDaoAPI;
 using OASystem.Domain.Dtos.Groups;
 using OASystem.Domain.Dtos.SmallFun;
 using OASystem.Domain.ViewModels.JuHeExchangeRate;
+using OASystem.Domain.ViewModels.SmallFun;
 using SqlSugar;
 using System.Buffers;
 using System.Collections.Generic;
@@ -13,6 +15,7 @@ using System.Collections.Immutable;
 using System.Collections.Specialized;
 using System.Text.Json;
 using System.Text.Json.Nodes;
+using System.Transactions;
 using System.Xml.Linq;
 
 namespace OASystem.API.Controllers
@@ -37,8 +40,7 @@ namespace OASystem.API.Controllers
             this._config = config;
         }
 
-
-        #region 聚合汇率相关
+        #region 聚合API 汇率相关
         /// <summary>
         /// 获取汇率币种
         /// </summary>
@@ -82,7 +84,65 @@ namespace OASystem.API.Controllers
         }
         #endregion
 
+        #region 有道API 文本翻译
 
+        /// <summary>
+        /// 有道翻译 所有语种
+        /// </summary>
+        /// <returns></returns>
+        [HttpPost]
+        [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
+        public async Task<IActionResult> GetLuaguages()
+        {
+            var luaguages = new GetYouDaoLanguages().Luanguages;
+            return Ok(JsonView(luaguages));
+        }
+
+        /// <summary>
+        /// 有道翻译
+        /// </summary>
+        /// <param name="dto">待翻译的文本 目前只支持 中转英</param>
+        /// <returns></returns>
+        [HttpPost]
+        [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
+        public async Task<IActionResult> GetTranslate(YouDaoDto dto)
+        {
+            if (string.IsNullOrEmpty(dto.Txt))
+            {
+                return Ok(JsonView("待翻译的文本不能为空!"));
+            }
+            string from = "zh-CHS", to = "en";
+            if (!string.IsNullOrEmpty(dto.From) && !string.IsNullOrEmpty(dto.To))
+            {
+                var luaguuages = new GetYouDaoLanguages().Luanguages;
+                
+                var fromLuaguage = luaguuages.Where(a => a.Code == dto.From).FirstOrDefault();
+                var toLuaguage = luaguuages.Where(a => a.Code == dto.To).FirstOrDefault();
+                if (fromLuaguage == null)
+                {
+                    return Ok(JsonView("源语言code不支持!"));
+                }
+                if (toLuaguage == null)
+                {
+                    return Ok(JsonView("目标语言code不支持!"));
+                }
+
+                from = dto.From;
+                to = dto.To;
+            }
+
+
+            var translateData = await YouDaoApiTools.GetReTrans(dto.Txt, from, to);
+
+            if (translateData == null || translateData.Code != 0) 
+            {
+                return Ok(JsonView(false, translateData.Msg));
+            }
+
+            return Ok(JsonView( new { translation = translateData.Data }));
+        }
+
+        #endregion
 
     }
 }

+ 169 - 0
OASystem/OASystem.Api/OAMethodLib/YouDaoAPI/YouDaoApiTools.cs

@@ -0,0 +1,169 @@
+using OASystem.Domain.ViewModels.JuHeExchangeRate;
+using System.Text.Json;
+
+namespace OASystem.API.OAMethodLib.YouDaoAPI
+{
+    /// <summary>
+    /// 有道API Tools
+    /// </summary>
+    public static class YouDaoApiTools
+    {
+        private static readonly HttpClient _httpClient = new HttpClient { BaseAddress = new Uri("https://openapi.youdao.com") };
+        //private static readonly IHttpClientFactory _httpClientFactory;
+        private static readonly string _appKey = "0fe3bc01e109ed36";    //应用ID
+        private static readonly string _appSecret = "1f2x9TrqJfSBEJ8iH9GEFGgTyaYGjEry"; //应用密钥
+
+        /// <summary>
+        /// 有道翻译
+        /// 默认 中=>英
+        /// </summary>
+        /// <param name="txt">待翻译的文本</param>
+        /// <param name="from">源语言</param>
+        /// <param name="to">目标语言</param>
+        /// <returns></returns>
+        public static async Task<Result> GetReTrans(string txt, string from = "zh-CHS", string to = "en")
+        {
+            var result = new Result();
+            #region MyRegion
+            if (string.IsNullOrEmpty(txt))
+            {
+                result.Msg = "待翻译文本为空!";
+                return result;
+            }
+
+            #endregion
+
+            string url = string.Format("/api");
+
+            #region 请求参数处理
+
+            string q = txt;
+            //input的计算方式为:input=q前10个字符 + q长度 + q后10个字符(当q长度大于20)或 input=q字符串(当q长度小于等于20);
+            string input = q.Length <= 20 ? q : q.Substring(0, 10) + q.Length + q.Substring(q.Length - 10, 10);
+            string salt = DateTime.Now.Millisecond.ToString();
+            string curtime = GetUTCTime(true).ToString(); //UTC秒时间戳
+            //sign = sha256(应用ID + input + salt + curtime + 应用密钥);
+            string signStr = string.Format("{0}{1}{2}{3}{4}", _appKey, input, salt, curtime, _appSecret);
+            string sign = SHA256EncryptString(signStr);
+            #endregion
+
+            var reqData = new FormUrlEncodedContent(
+                            new List<KeyValuePair<string, string>>()
+                            {
+                                //new KeyValuePair<string, string>("q",System.Web.HttpUtility.UrlEncode(q, Encoding.UTF8)),//待翻译文本  必须是UTF-8编码
+                                new KeyValuePair<string, string>("q",q),             //待翻译文本  必须是UTF-8编码
+                                new KeyValuePair<string, string>("from",from),       //源语言
+                                new KeyValuePair<string, string>("to",to),           //目标语言
+                                new KeyValuePair<string, string>("appKey",_appKey),  //应用ID
+                                new KeyValuePair<string, string>("salt",salt),       //UUID
+                                new KeyValuePair<string, string>("sign",sign),       //签名 
+                                new KeyValuePair<string, string>("signType","v3"),   //签名类型
+                                new KeyValuePair<string, string>("curtime",curtime), //TUC 时间戳
+                            });
+
+            var reTransReq = await _httpClient.PostAsync(url, reqData);
+            if (reTransReq.IsSuccessStatusCode)
+            {
+                var strResponse = await reTransReq.Content.ReadAsStringAsync();
+                var strResponse1 = System.Web.HttpUtility.UrlDecode(strResponse, System.Text.Encoding.UTF8);
+
+                var trans = JsonConvert.DeserializeObject<dynamic>(strResponse1);
+                string errorCode = trans["errorCode"].ToString();
+                if (errorCode == "0")
+                {
+                    result.Code = 0;
+                    var translation = JsonConvert.DeserializeObject<List<string>>(trans["translation"].ToString());
+                    result.Msg = string.Format(@"成功!");
+                    result.Data = translation;
+                }
+                else
+                {
+                    result.Msg = string.Format(@"有道翻译API [Error:{0}]", errorCode);
+                }
+                
+
+                
+            }
+            else
+            {
+                result.Msg = "接口请求失败!";
+            }
+
+
+            return result;
+        }
+
+        #region SHA256加密
+        /// <summary>
+        /// SHA256加密
+        /// </summary>
+        /// <param name="data"></param>
+        /// <returns></returns>
+        public static string SHA256EncryptString(string data)
+        {
+            byte[] bytes = Encoding.UTF8.GetBytes(data);
+            byte[] hash = SHA256Managed.Create().ComputeHash(bytes);
+
+            StringBuilder builder = new StringBuilder();
+            for (int i = 0; i < hash.Length; i++)
+            {
+                builder.Append(hash[i].ToString("x2"));
+            }
+            return builder.ToString();
+        }
+
+        /// <summary>
+        /// SHA256加密
+        /// </summary>
+        /// <param name="StrIn">待加密字符串</param>
+        /// <returns>加密数组</returns>
+        public static Byte[] SHA256EncryptByte(string StrIn)
+        {
+            var sha256 = new SHA256Managed();
+            var Asc = new ASCIIEncoding();
+            var tmpByte = Asc.GetBytes(StrIn);
+            var EncryptBytes = sha256.ComputeHash(tmpByte);
+            sha256.Clear();
+            return EncryptBytes;
+        }
+        #endregion
+
+        #region UTC时间戳
+        /// <summary>
+        /// 获取utc时间
+        /// </summary>
+        /// <param name="type">true 秒 flase 毫秒</param>
+        /// <returns></returns>
+        public static long GetUTCTime(bool type)
+        {
+            TimeSpan ts = DateTime.UtcNow - new DateTime(1970, 1, 1, 0, 0, 0, 0);
+            return type ? Convert.ToInt64(ts.TotalSeconds) : Convert.ToInt64(ts.TotalMilliseconds);
+        }
+
+        /// <summary>
+        /// 将当前时间戳转换至Datetime
+        /// </summary>
+        /// <param name="timeStamp"></param>
+        /// <returns></returns>
+        public static DateTime ConvertUTCToDateTime(long timeStamp)
+        {
+            DateTime startTime = TimeZone.CurrentTimeZone.ToLocalTime(new DateTime(1970, 1, 1)); // 当地时区
+            DateTime dt = startTime.AddSeconds(timeStamp);
+            return dt;
+        }
+
+        /// <summary>
+        /// 把datetime转utc时间戳
+        /// </summary>
+        /// <param name="time"></param>
+        /// <returns></returns>
+        public static int ConvertDateTimeToUTC(DateTime time)
+        {
+            double intResult = 0;
+            DateTime startTime = TimeZone.CurrentTimeZone.ToLocalTime(new DateTime(1970, 1, 1));
+            intResult = (time - startTime).TotalSeconds;
+            return (int)intResult;
+        }
+        #endregion
+    }
+}

+ 6 - 0
OASystem/OASystem.Api/Program.cs

@@ -8,6 +8,7 @@ using OASystem.API.OAMethodLib;
 using Microsoft.AspNetCore.Http.Features;
 using Microsoft.AspNetCore.Server.Kestrel.Core;
 using OASystem.API.OAMethodLib.JuHeAPI;
+using OASystem.API.OAMethodLib.YouDaoAPI;
 
 var builder = WebApplication.CreateBuilder(args);
 var basePath = AppContext.BaseDirectory;
@@ -233,7 +234,12 @@ builder.Services.AddScoped<IMapper, Mapper>();
 builder.Services.AddControllersWithViews();
 builder.Services.AddSingleton<IJuHeApiService, JuHeApiService>();
 builder.Services.AddHttpClient("PublicJuHeApi", c => c.BaseAddress = new Uri("http://web.juhe.cn"));
+#endregion
 
+#region ÓеÀAPI ·þÎñ
+//builder.Services.AddControllersWithViews();
+//builder.Services.AddSingleton<IYouDaoApiService, YouDaoApiService>();
+//builder.Services.AddHttpClient("PublicYouDaoApi", c => c.BaseAddress = new Uri("https://openapi.youdao.com"));
 #endregion
 
 var app = builder.Build();

+ 30 - 0
OASystem/OASystem.Domain/Dtos/SmallFun/YouDaoDto.cs

@@ -0,0 +1,30 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace OASystem.Domain.Dtos.SmallFun
+{
+    /// <summary>
+    /// 有道API翻译
+    /// 请求dto
+    /// </summary>
+    public class YouDaoDto:DtoBase
+    {
+        /// <summary>
+        /// 源语言 Code
+        /// </summary>
+        public string? From { get; set; }
+
+        /// <summary>
+        /// 目标语言 Code
+        /// </summary>
+        public string? To { get; set; }
+
+        /// <summary>
+        /// 待翻译的文本
+        /// </summary>
+        public string? Txt { get; set; }
+    }
+}

+ 1 - 1
OASystem/OASystem.Domain/Entities/Business/Bus_ConfItemListInfo.cs

@@ -19,6 +19,6 @@ namespace OASystem.Domain.Entities.Business
         /// </summary>
         [SugarColumn(IsNullable = true, ColumnDataType = "decimal(10,2)")]
         public decimal TotalCost { get; set; }
-
+        
     }
 }

+ 158 - 0
OASystem/OASystem.Domain/ViewModels/SmallFun/YouDaoLanguageView.cs

@@ -0,0 +1,158 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace OASystem.Domain.ViewModels.SmallFun
+{
+    /// <summary>
+    /// 有道api支持支持语言
+    /// </summary>
+    public class YouDaoLanguageView
+    {
+        /// <summary>
+        /// 语言名称
+        /// </summary>
+        public string? Name { get; set; }
+
+        /// <summary>
+        /// 语言code
+        /// </summary>
+        public string? Code { get; set; }
+    }
+
+
+    /// <summary>
+    /// 有道API语言
+    /// </summary>
+    public class GetYouDaoLanguages
+    {
+        /// <summary>
+        /// 获取所有语言
+        /// </summary>
+        public List<YouDaoLanguageView> Luanguages
+        {
+            get
+            {
+                List<YouDaoLanguageView> _languages = new List<YouDaoLanguageView>() {
+                   //new YouDaoLanguageView { Name = "自动识别",Code = "auto" },
+                   new YouDaoLanguageView { Name = "中文",Code = "zh-CHS" },
+                   new YouDaoLanguageView { Name = "中文繁体",Code = "zh-CHT" },
+                   new YouDaoLanguageView { Name = "英文",Code = "en" },
+                   new YouDaoLanguageView { Name = "日文",Code = "ja" },
+                   new YouDaoLanguageView { Name = "韩文",Code = "ko" },
+                   new YouDaoLanguageView { Name = "法文",Code = "fr" },
+                   new YouDaoLanguageView { Name = "西班牙文",Code = "es" },
+                   new YouDaoLanguageView { Name = "葡萄牙文",Code = "pt" },
+                   new YouDaoLanguageView { Name = "意大利文",Code = "it" },
+                   new YouDaoLanguageView { Name = "俄文",Code = "ru" },
+                   new YouDaoLanguageView { Name = "越南文",Code = "vi" },
+                   new YouDaoLanguageView { Name = "德文",Code = "de" },
+                   new YouDaoLanguageView { Name = "阿拉伯文",Code = "ar" },
+                   new YouDaoLanguageView { Name = "印尼文",Code = "id" },
+                   new YouDaoLanguageView { Name = "南非荷兰语",Code = "af" },
+                   new YouDaoLanguageView { Name = "波斯尼亚语",Code = "bs" },
+                   new YouDaoLanguageView { Name = "保加利亚语",Code = "bg" },
+                   new YouDaoLanguageView { Name = "粤语",Code = "yue" },
+                   new YouDaoLanguageView { Name = "加泰隆语",Code = "ca" },
+                   new YouDaoLanguageView { Name = "克罗地亚语",Code = "hr" },
+                   new YouDaoLanguageView { Name = "捷克语",Code = "cs" },
+                   new YouDaoLanguageView { Name = "丹麦语",Code = "da" },
+                   new YouDaoLanguageView { Name = "荷兰语",Code = "nl" },
+                   new YouDaoLanguageView { Name = "爱沙尼亚语",Code = "et" },
+                   new YouDaoLanguageView { Name = "斐济语",Code = "fj" },
+                   new YouDaoLanguageView { Name = "芬兰语",Code = "fi" },
+                   new YouDaoLanguageView { Name = "希腊语",Code = "el" },
+                   new YouDaoLanguageView { Name = "海地克里奥尔语",Code = "ht" },
+                   new YouDaoLanguageView { Name = "希伯来语",Code = "he" },
+                   new YouDaoLanguageView { Name = "印地语",Code = "hi" },
+                   new YouDaoLanguageView { Name = "白苗语",Code = "mww" },
+                   new YouDaoLanguageView { Name = "匈牙利语",Code = "hu" },
+                   new YouDaoLanguageView { Name = "斯瓦希里语",Code = "sw" },
+                   new YouDaoLanguageView { Name = "克林贡语",Code = "tlh" },
+                   new YouDaoLanguageView { Name = "拉脱维亚语",Code = "lv" },
+                   new YouDaoLanguageView { Name = "立陶宛语",Code = "lt" },
+                   new YouDaoLanguageView { Name = "马来语",Code = "ms" },
+                   new YouDaoLanguageView { Name = "马耳他语",Code = "mt" },
+                   new YouDaoLanguageView { Name = "挪威语",Code = "no" },
+                   new YouDaoLanguageView { Name = "波斯语",Code = "fa" },
+                   new YouDaoLanguageView { Name = "波兰语",Code = "pl" },
+                   new YouDaoLanguageView { Name = "克雷塔罗奥托米语",Code = "otq" },
+                   new YouDaoLanguageView { Name = "罗马尼亚语",Code = "ro" },
+                   new YouDaoLanguageView { Name = "塞尔维亚语(西里尔文)",Code = "sr-Cyrl" },
+                   new YouDaoLanguageView { Name = "塞尔维亚语(拉丁文)",Code = "sr-Latn" },
+                   new YouDaoLanguageView { Name = "斯洛伐克语",Code = "sk" },
+                   new YouDaoLanguageView { Name = "斯洛文尼亚语",Code = "sl" },
+                   new YouDaoLanguageView { Name = "瑞典语",Code = "sv" },
+                   new YouDaoLanguageView { Name = "塔希提语",Code = "ty" },
+                   new YouDaoLanguageView { Name = "泰语",Code = "th" },
+                   new YouDaoLanguageView { Name = "汤加语",Code = "to" },
+                   new YouDaoLanguageView { Name = "土耳其语",Code = "tr" },
+                   new YouDaoLanguageView { Name = "乌克兰语",Code = "uk" },
+                   new YouDaoLanguageView { Name = "乌尔都语",Code = "ur" },
+                   new YouDaoLanguageView { Name = "威尔士语",Code = "cy" },
+                   new YouDaoLanguageView { Name = "尤卡坦玛雅语",Code = "yua" },
+                   new YouDaoLanguageView { Name = "阿尔巴尼亚语",Code = "sq" },
+                   new YouDaoLanguageView { Name = "阿姆哈拉语",Code = "am" },
+                   new YouDaoLanguageView { Name = "亚美尼亚语",Code = "hy" },
+                   new YouDaoLanguageView { Name = "阿塞拜疆语",Code = "az" },
+                   new YouDaoLanguageView { Name = "孟加拉语",Code = "bn" },
+                   new YouDaoLanguageView { Name = "巴斯克语",Code = "eu" },
+                   new YouDaoLanguageView { Name = "白俄罗斯语",Code = "be" },
+                   new YouDaoLanguageView { Name = "宿务语",Code = "ceb" },
+                   new YouDaoLanguageView { Name = "科西嘉语",Code = "co" },
+                   new YouDaoLanguageView { Name = "世界语",Code = "eo" },
+                   new YouDaoLanguageView { Name = "菲律宾语",Code = "tl" },
+                   new YouDaoLanguageView { Name = "弗里西语",Code = "fy" },
+                   new YouDaoLanguageView { Name = "加利西亚语",Code = "gl" },
+                   new YouDaoLanguageView { Name = "格鲁吉亚语",Code = "ka" },
+                   new YouDaoLanguageView { Name = "古吉拉特语",Code = "gu" },
+                   new YouDaoLanguageView { Name = "豪萨语",Code = "ha" },
+                   new YouDaoLanguageView { Name = "夏威夷语",Code = "haw" },
+                   new YouDaoLanguageView { Name = "冰岛语",Code = "is" },
+                   new YouDaoLanguageView { Name = "伊博语",Code = "ig" },
+                   new YouDaoLanguageView { Name = "爱尔兰语",Code = "ga" },
+                   new YouDaoLanguageView { Name = "爪哇语",Code = "jw" },
+                   new YouDaoLanguageView { Name = "卡纳达语",Code = "kn" },
+                   new YouDaoLanguageView { Name = "哈萨克语",Code = "kk" },
+                   new YouDaoLanguageView { Name = "高棉语",Code = "km" },
+                   new YouDaoLanguageView { Name = "库尔德语",Code = "ku" },
+                   new YouDaoLanguageView { Name = "柯尔克孜语",Code = "ky" },
+                   new YouDaoLanguageView { Name = "老挝语",Code = "lo" },
+                   new YouDaoLanguageView { Name = "拉丁语",Code = "la" },
+                   new YouDaoLanguageView { Name = "卢森堡语",Code = "lb" },
+                   new YouDaoLanguageView { Name = "马其顿语",Code = "mk" },
+                   new YouDaoLanguageView { Name = "马尔加什语",Code = "mg" },
+                   new YouDaoLanguageView { Name = "马拉雅拉姆语",Code = "ml" },
+                   new YouDaoLanguageView { Name = "毛利语",Code = "mi" },
+                   new YouDaoLanguageView { Name = "马拉地语",Code = "mr" },
+                   new YouDaoLanguageView { Name = "蒙古语",Code = "mn" },
+                   new YouDaoLanguageView { Name = "缅甸语",Code = "my" },
+                   new YouDaoLanguageView { Name = "尼泊尔语",Code = "ne" },
+                   new YouDaoLanguageView { Name = "齐切瓦语",Code = "ny" },
+                   new YouDaoLanguageView { Name = "普什图语",Code = "ps" },
+                   new YouDaoLanguageView { Name = "旁遮普语",Code = "pa" },
+                   new YouDaoLanguageView { Name = "萨摩亚语",Code = "sm" },
+                   new YouDaoLanguageView { Name = "苏格兰盖尔语",Code = "gd" },
+                   new YouDaoLanguageView { Name = "塞索托语",Code = "st" },
+                   new YouDaoLanguageView { Name = "修纳语",Code = "sn" },
+                   new YouDaoLanguageView { Name = "信德语",Code = "sd" },
+                   new YouDaoLanguageView { Name = "僧伽罗语",Code = "si" },
+                   new YouDaoLanguageView { Name = "索马里语",Code = "so" },
+                   new YouDaoLanguageView { Name = "巽他语",Code = "su" },
+                   new YouDaoLanguageView { Name = "塔吉克语",Code = "tg" },
+                   new YouDaoLanguageView { Name = "泰米尔语",Code = "ta" },
+                   new YouDaoLanguageView { Name = "泰卢固语",Code = "te" },
+                   new YouDaoLanguageView { Name = "乌兹别克语",Code = "uz" },
+                   new YouDaoLanguageView { Name = "南非科萨语",Code = "xh" },
+                   new YouDaoLanguageView { Name = "意第绪语",Code = "yi" },
+                   new YouDaoLanguageView { Name = "约鲁巴语",Code = "yo" },
+                   new YouDaoLanguageView { Name = "南非祖鲁语",Code = "zu" },
+                };
+
+                return _languages;
+            }
+        }
+    }
+}

+ 28 - 1
OASystem/OASystem.Infrastructure/Repositories/System/SystemMenuPermissionRepository.cs

@@ -1,6 +1,7 @@
 using OASystem.Domain;
 using OASystem.Domain.Entities.System;
 using OASystem.Domain.ViewModels.System;
+using System.Collections;
 
 namespace OASystem.Infrastructure.Repositories.System
 {
@@ -105,7 +106,33 @@ namespace OASystem.Infrastructure.Repositories.System
                 {
                     result.Code = 0;
                     result.Msg = "成功!";
-                    result.Data = DBData;
+                    var arr = new ArrayList();
+
+                    if (PortType == 1)
+                    {
+                        var menuGroup = DBData.GroupBy(x => x.modulid);
+                        foreach (var item in menuGroup)
+                        {
+                            var modul = item.FirstOrDefault();
+                            if (modul != null)
+                            {
+                                arr.Add(new
+                                {
+                                    modulName = modul.modulName,
+                                    modulid = modul.modulid,
+                                    pageList = item
+                                });
+                            }
+                        }
+
+                    }
+                    else if (PortType == 2)
+                    {
+                        var pages = DBData.Select(x => x.pageid).ToArray();
+                        arr = ArrayList.Adapter(pages);
+                    }
+
+                    result.Data = arr;
                 }
                
             }