111
yanjinhui
2025-04-02 20f099aee8715510406bf46c5e8ff4a8f5d532df
111
已删除8个文件
已修改6个文件
已添加28个文件
197 ■■■■ 文件已修改
项目代码/WIDESEAWCS_Server 正式/WIDESEAWCS_Common/BaiDuFaceHelper.cs 50 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WIDESEAWCS_Server 正式/WIDESEAWCS_DTO/SerialPort/AddUserDTO.cs 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WIDESEAWCS_Server 正式/WIDESEAWCS_Model/Models/System/Sys_User.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WIDESEAWCS_Server 正式/WIDESEAWCS_Server/Controllers/System/Sys_RoleController.cs 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WIDESEAWCS_Server 正式/WIDESEAWCS_Server/WIDESEAWCS_Server.csproj 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WIDESEAWCS_Server 正式/WIDESEAWCS_Server/wwwroot/image/1743492051182.png 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WIDESEAWCS_Server 正式/WIDESEAWCS_Server/wwwroot/image/1743492244242.png 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WIDESEAWCS_Server 正式/WIDESEAWCS_Server/wwwroot/image/1743492263811.png 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WIDESEAWCS_Server 正式/WIDESEAWCS_Server/wwwroot/image/1743492568523.png 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WIDESEAWCS_Server 正式/WIDESEAWCS_Server/wwwroot/image/1743492760375.png 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WIDESEAWCS_Server 正式/WIDESEAWCS_Server/wwwroot/image/1743492791698.png 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WIDESEAWCS_Server 正式/WIDESEAWCS_Server/wwwroot/image/1743492809549.png 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WIDESEAWCS_Server 正式/WIDESEAWCS_Server/wwwroot/image/1743492833343.png 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WIDESEAWCS_Server 正式/WIDESEAWCS_Server/wwwroot/image/1743555123354.png 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WIDESEAWCS_Server 正式/WIDESEAWCS_Server/wwwroot/image/1743555145885.png 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WIDESEAWCS_Server 正式/WIDESEAWCS_Server/wwwroot/image/1743555260571.png 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WIDESEAWCS_Server 正式/WIDESEAWCS_Server/wwwroot/image/1743555310550.png 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WIDESEAWCS_Server 正式/WIDESEAWCS_Server/wwwroot/image/1743555372954.png 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WIDESEAWCS_Server 正式/WIDESEAWCS_Server/wwwroot/image/1743555395910.png 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WIDESEAWCS_Server 正式/WIDESEAWCS_Server/wwwroot/image/1743562028103.png 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WIDESEAWCS_Server 正式/WIDESEAWCS_Server/wwwroot/image/1743575983021.png 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WIDESEAWCS_Server 正式/WIDESEAWCS_Server/wwwroot/image/1743575985033.png 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WIDESEAWCS_Server 正式/WIDESEAWCS_Server/wwwroot/image/1743575987026.png 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WIDESEAWCS_Server 正式/WIDESEAWCS_Server/wwwroot/image/1743575989030.png 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WIDESEAWCS_Server 正式/WIDESEAWCS_Server/wwwroot/image/1743575991033.png 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WIDESEAWCS_Server 正式/WIDESEAWCS_Server/wwwroot/image/1743575993033.png 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WIDESEAWCS_Server 正式/WIDESEAWCS_Server/wwwroot/image/1743575995036.png 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WIDESEAWCS_Server 正式/WIDESEAWCS_Server/wwwroot/image/1743575997026.png 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WIDESEAWCS_Server 正式/WIDESEAWCS_Server/wwwroot/image/1743575999035.png 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WIDESEAWCS_Server 正式/WIDESEAWCS_Server/wwwroot/image/1743576001036.png 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WIDESEAWCS_Server 正式/WIDESEAWCS_Server/wwwroot/image/1743576003026.png 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WIDESEAWCS_Server 正式/WIDESEAWCS_Server/wwwroot/image/1743576005027.png 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WIDESEAWCS_Server 正式/WIDESEAWCS_Server/wwwroot/image/1743576007027.png 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WIDESEAWCS_Server 正式/WIDESEAWCS_Server/wwwroot/image/1743576009033.png 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WIDESEAWCS_Server 正式/WIDESEAWCS_Server/wwwroot/image/1743576011032.png 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WIDESEAWCS_Server 正式/WIDESEAWCS_Server/wwwroot/image/1743576013029.png 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WIDESEAWCS_Server 正式/WIDESEAWCS_Server/wwwroot/image/1743576015030.png 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WIDESEAWCS_Server 正式/WIDESEAWCS_Server/wwwroot/image/1743576017025.png 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WIDESEAWCS_Server 正式/WIDESEAWCS_Server/wwwroot/image/51dcb60a86eb571dca49c55e983918b.jpg 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WIDESEAWCS_Server 正式/WIDESEAWCS_Server/wwwroot/image/59293addef4da93a4de193c42fc3c21.jpg 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WIDESEAWCS_Server 正式/WIDESEAWCS_Server/wwwroot/image/Snipaste_2025-04-02_14-19-25.png 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WIDESEAWCS_Server 正式/WIDESEAWCS_SystemServices/Sys_UserService.cs 103 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ÏîÄ¿´úÂë/WIDESEAWCS_Server Õýʽ/WIDESEAWCS_Common/BaiDuFaceHelper.cs
@@ -17,14 +17,18 @@
        /// <returns></returns>
        public static string GetAccessToken()
        {
            string url = string.Format("https://aip.baidubce.com/oauth/2.0/token?client_id={0}&client_secret={1}&grant_type={2}", "TqFQHXSNt6Z7cPQ4vDBfBNjq", "0cli6I6s8JFz3qM1Czi5ciRpDqrJuVvm", "client_credentials");
            string returnStr = BDWebRequest(url, "", "POST");
            //string url = string.Format("https://aip.baidubce.com/oauth/2.0/token?client_id={0}&client_secret={1}&grant_type={2}", "TqFQHXSNt6Z7cPQ4vDBfBNjq", "0cli6I6s8JFz3qM1Czi5ciRpDqrJuVvm", "client_credentials");
            //string returnStr = BDWebRequest(url, "", "POST");
            NLog.LogManager.GetCurrentClassLogger().Trace("百度人脸识别返回:" + returnStr);
            BDToken token = JsonConvert.DeserializeObject<BDToken>(returnStr);
          token.getdate = DateTime.Now.ToString();
            //NLog.LogManager.GetCurrentClassLogger().Trace("百度人脸识别返回:" + returnStr);
            //BDToken token = JsonConvert.DeserializeObject<BDToken>(returnStr);
            //token.getdate = DateTime.Now.ToString();
            return token.access_token;
            //return token.access_token;
            var str = "24.83aee44079e5a27530bc72d5ec7049a3.2592000.1746152354.282335-118294290";
            return str;
        }
        public static string BDWebRequest(string url, string data, string method)
@@ -113,16 +117,38 @@
        /// </summary>
        /// <param name="path">文件路径</param>
        /// <returns>base64编码信息,不带文件头</returns>
        public static string GetFileContentAsBase64(string path)
        //public static string GetFileContentAsBase64(string path)
        //{
        //    using (FileStream filestream = new FileStream(path, FileMode.Open))
        //    {
        //        byte[] arr = new byte[filestream.Length];
        //        filestream.Read(arr, 0, (int)filestream.Length);
        //        string base64 = Convert.ToBase64String(arr);
        //        return base64;
        //    }
        //}
        public static string GetFileContentAsBase64(string filePath)
        {
            using (FileStream filestream = new FileStream(path, FileMode.Open))
            // åªä¿ç•™æ–‡ä»¶åï¼Œé¿å…è·¯å¾„错误
            string fileName = Path.GetFileName(filePath);
            // èŽ·å–æ–‡ä»¶çš„å®Œæ•´è·¯å¾„
            string fullPath = Path.Combine(Directory.GetCurrentDirectory(), "wwwroot", "image", fileName);
            if (!File.Exists(fullPath))
            {
                throw new FileNotFoundException("文件不存在:" + fullPath);
            }
            using (FileStream filestream = new FileStream(fullPath, FileMode.Open, FileAccess.Read))
            {
                byte[] arr = new byte[filestream.Length];
                filestream.Read(arr, 0, (int)filestream.Length);
                string base64 = Convert.ToBase64String(arr);
                return base64;
                filestream.Read(arr, 0, arr.Length);
                return Convert.ToBase64String(arr);
            }
        }
        /// <summary>
        /// äººè„¸æ³¨å†Œ
@@ -261,7 +287,7 @@
        /// <summary>
        /// ç”¨æˆ·ç»„id,标识一组用户(由数字、字母、下划线组成),长度限制48B
        /// </summary>
        public int group_id { get; set; }
        public string group_id { get; set; }
        /// <summary>
        /// ç”¨æˆ·id(由数字、字母、下划线组成),对应系统账号
        /// </summary>
ÏîÄ¿´úÂë/WIDESEAWCS_Server Õýʽ/WIDESEAWCS_DTO/SerialPort/AddUserDTO.cs
@@ -8,20 +8,50 @@
{
    public class AddUserDTO
    {
        /// <summary>
        /// ç”¨æˆ·id用来修改
        /// </summary>
        public int id { get; set; }
        public string  username { get; set; }
        public int log_id { get; set; }
        public string usertruename { get; set; }
        //public string facetoken { get; set; }
        /// <summary>
        /// ç™¾åº¦äº‘分组
        /// </summary>
      //  public int log_id { get; set; }
        public string  phoneno { get; set; }
        /// <summary>
        /// ç»„别
        /// </summary>
        public int roleid { get; set; }
        /// <summary>
        /// ç”¨æˆ·ç±»åˆ«
        /// </summary>
        public string rolename { get; set; }
        /// <summary>
        /// æ˜¯å¦å¯ç”¨
        /// </summary>
        public  byte    enable { get; set; }
        public string    path { get; set; }
        /// <summary>
        /// ä¸Šä¼ å›¾ç‰‡å
        /// </summary>
        public string?path { get; set; }
        /// <summary>
        /// å›¾ç‰‡token
        /// </summary>
        //public string ?face_token { get; set; }
    }
}
ÏîÄ¿´úÂë/WIDESEAWCS_Server Õýʽ/WIDESEAWCS_Model/Models/System/Sys_User.cs
@@ -22,8 +22,8 @@
        [SugarColumn(IsPrimaryKey = true, IsIdentity = true, ColumnDescription = "用户ID")]
        public int User_Id { get; set; }
        
        [SugarColumn( IsNullable = true, ColumnDescription = "人脸识别id")]
        public int Log_id { get; set; }
        [SugarColumn( IsNullable = true, ColumnDescription = "人脸识别")]
        public string  Log_id { get; set; }
        [SugarColumn(Length = 100, IsNullable = true, ColumnDescription = "人脸识别token")]
ÏîÄ¿´úÂë/WIDESEAWCS_Server Õýʽ/WIDESEAWCS_Server/Controllers/System/Sys_RoleController.cs
@@ -52,7 +52,8 @@
        [HttpPost, Route("getUserTreePermission")]
        public IActionResult GetUserTreePermission(int roleId)
        {
            return Json(Service.GetUserTreePermission(roleId));
            var ss = Service.GetUserTreePermission(roleId);
            return Json(ss);
        }
        [HttpPost, Route("savePermission")]
ÏîÄ¿´úÂë/WIDESEAWCS_Server Õýʽ/WIDESEAWCS_Server/WIDESEAWCS_Server.csproj
@@ -67,7 +67,6 @@
    <ItemGroup>
      <Folder Include="Controllers\BasicInfo\" />
      <Folder Include="wwwroot\image\" />
    </ItemGroup>
</Project>
ÏîÄ¿´úÂë/WIDESEAWCS_Server Õýʽ/WIDESEAWCS_Server/wwwroot/image/1743492051182.png
Binary files differ
ÏîÄ¿´úÂë/WIDESEAWCS_Server Õýʽ/WIDESEAWCS_Server/wwwroot/image/1743492244242.png
Binary files differ
ÏîÄ¿´úÂë/WIDESEAWCS_Server Õýʽ/WIDESEAWCS_Server/wwwroot/image/1743492263811.png
Binary files differ
ÏîÄ¿´úÂë/WIDESEAWCS_Server Õýʽ/WIDESEAWCS_Server/wwwroot/image/1743492568523.png
Binary files differ
ÏîÄ¿´úÂë/WIDESEAWCS_Server Õýʽ/WIDESEAWCS_Server/wwwroot/image/1743492760375.png
Binary files differ
ÏîÄ¿´úÂë/WIDESEAWCS_Server Õýʽ/WIDESEAWCS_Server/wwwroot/image/1743492791698.png
Binary files differ
ÏîÄ¿´úÂë/WIDESEAWCS_Server Õýʽ/WIDESEAWCS_Server/wwwroot/image/1743492809549.png
Binary files differ
ÏîÄ¿´úÂë/WIDESEAWCS_Server Õýʽ/WIDESEAWCS_Server/wwwroot/image/1743492833343.png
Binary files differ
ÏîÄ¿´úÂë/WIDESEAWCS_Server Õýʽ/WIDESEAWCS_Server/wwwroot/image/1743555123354.png
ÏîÄ¿´úÂë/WIDESEAWCS_Server Õýʽ/WIDESEAWCS_Server/wwwroot/image/1743555145885.png
ÏîÄ¿´úÂë/WIDESEAWCS_Server Õýʽ/WIDESEAWCS_Server/wwwroot/image/1743555260571.png
ÏîÄ¿´úÂë/WIDESEAWCS_Server Õýʽ/WIDESEAWCS_Server/wwwroot/image/1743555310550.png
ÏîÄ¿´úÂë/WIDESEAWCS_Server Õýʽ/WIDESEAWCS_Server/wwwroot/image/1743555372954.png
ÏîÄ¿´úÂë/WIDESEAWCS_Server Õýʽ/WIDESEAWCS_Server/wwwroot/image/1743555395910.png
ÏîÄ¿´úÂë/WIDESEAWCS_Server Õýʽ/WIDESEAWCS_Server/wwwroot/image/1743562028103.png
ÏîÄ¿´úÂë/WIDESEAWCS_Server Õýʽ/WIDESEAWCS_Server/wwwroot/image/1743575983021.png
ÏîÄ¿´úÂë/WIDESEAWCS_Server Õýʽ/WIDESEAWCS_Server/wwwroot/image/1743575985033.png
ÏîÄ¿´úÂë/WIDESEAWCS_Server Õýʽ/WIDESEAWCS_Server/wwwroot/image/1743575987026.png
ÏîÄ¿´úÂë/WIDESEAWCS_Server Õýʽ/WIDESEAWCS_Server/wwwroot/image/1743575989030.png
ÏîÄ¿´úÂë/WIDESEAWCS_Server Õýʽ/WIDESEAWCS_Server/wwwroot/image/1743575991033.png
ÏîÄ¿´úÂë/WIDESEAWCS_Server Õýʽ/WIDESEAWCS_Server/wwwroot/image/1743575993033.png
ÏîÄ¿´úÂë/WIDESEAWCS_Server Õýʽ/WIDESEAWCS_Server/wwwroot/image/1743575995036.png
ÏîÄ¿´úÂë/WIDESEAWCS_Server Õýʽ/WIDESEAWCS_Server/wwwroot/image/1743575997026.png
ÏîÄ¿´úÂë/WIDESEAWCS_Server Õýʽ/WIDESEAWCS_Server/wwwroot/image/1743575999035.png
ÏîÄ¿´úÂë/WIDESEAWCS_Server Õýʽ/WIDESEAWCS_Server/wwwroot/image/1743576001036.png
ÏîÄ¿´úÂë/WIDESEAWCS_Server Õýʽ/WIDESEAWCS_Server/wwwroot/image/1743576003026.png
ÏîÄ¿´úÂë/WIDESEAWCS_Server Õýʽ/WIDESEAWCS_Server/wwwroot/image/1743576005027.png
ÏîÄ¿´úÂë/WIDESEAWCS_Server Õýʽ/WIDESEAWCS_Server/wwwroot/image/1743576007027.png
ÏîÄ¿´úÂë/WIDESEAWCS_Server Õýʽ/WIDESEAWCS_Server/wwwroot/image/1743576009033.png
ÏîÄ¿´úÂë/WIDESEAWCS_Server Õýʽ/WIDESEAWCS_Server/wwwroot/image/1743576011032.png
ÏîÄ¿´úÂë/WIDESEAWCS_Server Õýʽ/WIDESEAWCS_Server/wwwroot/image/1743576013029.png
ÏîÄ¿´úÂë/WIDESEAWCS_Server Õýʽ/WIDESEAWCS_Server/wwwroot/image/1743576015030.png
ÏîÄ¿´úÂë/WIDESEAWCS_Server Õýʽ/WIDESEAWCS_Server/wwwroot/image/1743576017025.png
ÏîÄ¿´úÂë/WIDESEAWCS_Server Õýʽ/WIDESEAWCS_Server/wwwroot/image/51dcb60a86eb571dca49c55e983918b.jpg
ÏîÄ¿´úÂë/WIDESEAWCS_Server Õýʽ/WIDESEAWCS_Server/wwwroot/image/59293addef4da93a4de193c42fc3c21.jpg
ÏîÄ¿´úÂë/WIDESEAWCS_Server Õýʽ/WIDESEAWCS_Server/wwwroot/image/Snipaste_2025-04-02_14-19-25.png
ÏîÄ¿´úÂë/WIDESEAWCS_Server Õýʽ/WIDESEAWCS_SystemServices/Sys_UserService.cs
@@ -20,6 +20,7 @@
using WIDESEAWCS_DTO.Telescopic;
using WIDESEAWCS_Common;
using Newtonsoft.Json;
using OfficeOpenXml.FormulaParsing.Excel.Functions.Math;
namespace WIDESEAWCS_SystemServices
{
@@ -463,7 +464,7 @@
                    return new WebResponseContent { Status = false, Message = "数据为空" };
                }
                var query = sys.LeftJoin<Dt_FaceRecognition>((a, b) => a.Log_id == b.ID);
                var query = sys.LeftJoin<Dt_FaceRecognition>((a, b) => a.Log_id == b.GroupID);
                if (!string.IsNullOrEmpty(paginationDTO.searchKeyword))
                {
                    query = query.Where((a, b) =>
@@ -481,6 +482,8 @@
                var result = query.Select((a, b) => new
                {
                    a.UserPwd,
                    a.Log_id,
                    a.User_Id,
                    a.UserName,
                    a.UserTrueName,
@@ -514,17 +517,27 @@
            }
        }
        /// <summary>
        /// æ·»åŠ ç”¨æˆ·
        /// </summary>
        /// <param name="addUserDTO"></param>
        /// <returns></returns>
        public WebResponseContent AdduserData(AddUserDTO addUserDTO)
        {
            try
            {
                if (addUserDTO == null)
                {
                    return new WebResponseContent { Status = false, Message = "请求数据为空,可能是 JSON è§£æžå¤±è´¥" };
                }
                var face = _faceRecognitionRepository.QueryData().Select(x => x.GroupID).FirstOrDefault(); ;
                var baiduResult = BaiDuFaceHelper.AddUser(new BDUserInfo
                {
                    ImgPath = addUserDTO.path,
                    user_id = addUserDTO.username,
                    group_id = addUserDTO.log_id // è¿™é‡Œåº”该填百度人脸库分组
                    group_id = face // è¿™é‡Œåº”该填百度人脸库分组
                   // group_id = baiduResult.result.log_id
                });
@@ -532,20 +545,24 @@
                if (baiduResult == null || baiduResult.error_code != 0)
                {
                    return new WebResponseContent { Status = false, Data = "人脸注册失败:" + baiduResult.error_msg };
                }
                // åˆ›å»ºç”¨æˆ·æ•°æ®
                var sys = new Sys_User
                {
                    UserName = addUserDTO.username,
                    UserTrueName=addUserDTO.usertruename,
                    HeadImageUrl=addUserDTO.path,
                    Log_id = addUserDTO.log_id,
                    Log_id = face,
                    Face_token = baiduResult.result.face_token,
                    PhoneNo = addUserDTO.phoneno,
                    Role_Id = addUserDTO.roleid,
                    RoleName = addUserDTO.rolename,
                    Enable = addUserDTO.enable,
                    UserPwd= "j79rYYvCz4vdhcboB1Ausg=="
                    UserPwd= "j79rYYvCz4vdhcboB1Ausg==",
                    CreateDate=DateTime.Now
                };
                BaseDal.AddData(sys);
                return new WebResponseContent { Status = true, Data = sys };
@@ -558,48 +575,70 @@
        }
        /// <summary>
        /// æ›´æ–°ç”¨æˆ·
        /// </summary>
        /// <param name="addUserDTO"></param>
        /// <returns></returns>
        public WebResponseContent UpuserData(AddUserDTO addUserDTO)
        {
            try
            {
                var baiduResult = BaiDuFaceHelper.AddUser(new BDUserInfo
                var sys = BaseDal.QueryData(x => x.User_Id == addUserDTO.id).FirstOrDefault();
                if (sys == null)
                {
                    ImgPath = addUserDTO.path,
                    user_id = addUserDTO.username,
                    group_id = addUserDTO.log_id // è¿™é‡Œåº”该填百度人脸库分组
                });
                // åˆ¤æ–­ç™¾åº¦è¿”回是否成功
                if (baiduResult == null || baiduResult.error_code != 0)
                    return new WebResponseContent { Status = false, Message = "没找到该用户" };
                }
                var face = _faceRecognitionRepository.QueryData().Select(x => x.GroupID).FirstOrDefault();
                // åˆ¤æ–­æ˜¯å¦éœ€è¦æ›´æ–°äººè„¸å›¾ç‰‡
                string faceToken = null;
                if (!string.IsNullOrEmpty(addUserDTO.path)) // å¦‚果传了图片路径,才更新人脸信息
                {
                    return new WebResponseContent { Status = false, Data = "人脸更新失败:" + baiduResult.error_msg };
                    var baiduResult = BaiDuFaceHelper.AddUser(new BDUserInfo
                    {
                        ImgPath = addUserDTO.path,
                        user_id = addUserDTO.username,
                        group_id = face // è¿™é‡Œåº”该填百度人脸库分组
                    });
                    // åˆ¤æ–­ç™¾åº¦è¿”回是否成功
                    if (baiduResult == null || baiduResult.error_code != 0)
                    {
                        return new WebResponseContent { Status = false, Data = "人脸以存在,不要重复上传:" + baiduResult.error_msg };
                    }
                    // èŽ·å–æ›´æ–°åŽçš„ Face_token
                    faceToken = baiduResult.result.face_token;
                }
                // æ›´æ–°ç”¨æˆ·æ•°æ®
                var sys = new Sys_User
                {
                    UserName = addUserDTO.username,
                    HeadImageUrl = addUserDTO.path,
                    Log_id = addUserDTO.log_id,
                    Face_token = baiduResult.result.face_token,
                    PhoneNo = addUserDTO.phoneno,
                    Role_Id = addUserDTO.roleid,
                    RoleName = addUserDTO.rolename,
                    Enable = addUserDTO.enable,
                };
                // æŸ¥è¯¢çŽ°æœ‰ç”¨æˆ·
                // æ›´æ–°æŸ¥è¯¢åˆ°çš„用户数据
                sys.UserName = addUserDTO.username;
                sys.UserTrueName = addUserDTO.usertruename;
                sys.HeadImageUrl = addUserDTO.path; // æ›´æ–°å¤´åƒè·¯å¾„(如果有新路径)
                sys.Log_id = face;
                //sys.Face_token = faceToken ?? addUserDTO.face_token; // å¦‚果没有更新图片,保持原有 Face_token
                sys.Face_token = faceToken; // å¦‚果没有更新图片,保持原有 Face_token
                sys.PhoneNo = addUserDTO.phoneno;
                sys.Role_Id = addUserDTO.roleid;
                sys.RoleName = addUserDTO.rolename;
                sys.Enable = addUserDTO.enable;
                // æ›´æ–°æ•°æ®åº“
                BaseDal.UpdateData(sys);
                return new WebResponseContent { Status = true, Data = sys };
            }
            catch (Exception ex)
            {
                return new WebResponseContent { Status = false, Message = "失败" + ex };
                return new WebResponseContent { Status = false, Message = "失败:" + ex.Message };
            }
        }
        /// <summary>
        /// åˆ é™¤
@@ -611,7 +650,7 @@
            try
            {
                
                string apiResult = BaiDuFaceHelper.DeleteUser(deleteUserDTO);
                string apiResult = BaiDuFaceHelper.DeleteUser(deleteUserDTO);//只要给token和log_id
                // 2. è§£æžè¿”回结果,判断删除是否成功
                dynamic resultObj = JsonConvert.DeserializeObject(apiResult);