public ActionResult GetModel(string id)
        {
            if (string.IsNullOrEmpty(id))
            {
                return(Error("参数错误"));
            }
            var data   = _menuApp.GetMenuById(id.ToInt64());
            var funcs  = _menuApp.GetMenuRefOpt(id.ToInt64());
            var result = new ResultAdaptDto();

            result.data.Add("model", data);
            result.data.Add("funcs", funcs);
            return(Json(result));
        }
Beispiel #2
0
        /// <summary>
        /// 单条数据
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        public ActionResult GetUserById(string id)
        {
            var result = new ResultAdaptDto();

            if (!id.EmptyId())
            {
                var user = _userApp.GetUserById(id.ToInt64());
                result.data.Add("model", user);
            }
            var depts = _deptApp.GetDepartTree();

            result.data.Add("depts", depts);
            return(Content(result.ToJson()));
        }
Beispiel #3
0
        public IActionResult GetModel(int id)
        {
            var result = new ResultAdaptDto();

            if (id > 0)
            {
                var model = _contentApp.GetDataById(id);
                result.data.Add("model", model);
            }

            //var channels = _contentApp.ChannelZtree();
            //result.data.Add("channels", channels);
            return(Data(result));
        }
Beispiel #4
0
        public ActionResult UploadLogo(int imageType)
        {
            var result = new ResultAdaptDto();
            //long size = 0;
            var files = Request.Form.Files;

            if (files.Count == 0)
            {
                result.status = false;
                result.msg    = "没有文件信息";
                return(Content(result.ToJson()));
            }
            string url = $"/static/images";

            if (imageType == 2)
            {
                url = "";
            }
            var folder = GlobalParamsDto.WebRoot + url;

            if (!Directory.Exists(folder))
            {
                Directory.CreateDirectory(folder);
            }

            var file     = files[0];
            var filename = ContentDispositionHeaderValue
                           .Parse(file.ContentDisposition)
                           .FileName
                           .Trim('"');
            int    index        = filename.LastIndexOf('.');
            string extName      = filename.Substring(index);
            string guidFileName = "logo" + extName;

            if (imageType == 2)
            {
                guidFileName = "favicon.ico";
            }
            //这个hostingEnv.WebRootPath就是要存的地址可以改下
            filename = $"{folder}/{guidFileName}";
            using (FileStream fs = System.IO.File.Create(filename))
            {
                file.CopyTo(fs);
                fs.Flush();
            }
            string imgurl = $"{ url}/{guidFileName}";

            result.data.Add("url", imgurl);
            return(Content(result.ToJson()));
        }
Beispiel #5
0
        public IActionResult GetModel(int id)
        {
            var result = new ResultAdaptDto();

            if (id > 0)
            {
                var user = _noticeApp.GetModel(id);
                result.data.Add("model", user);
            }
            var depts = _deptApp.GetDepartTree();

            result.data.Add("depts", depts);
            return(Data(result));
        }
Beispiel #6
0
        public IActionResult Merge()
        {
            var result = new ResultAdaptDto();

            try
            {
                string guid      = RequestHelper.GetQueryString("guid");
                string fileName  = RequestHelper.GetQueryString("fileName");
                var    tempDir   = GlobalParamsDto.WebRoot + "/UploadTemp/" + guid;                                  // 缓存文件夹
                var    targetDir = GlobalParamsDto.WebRoot + "/upfiles/videos/" + DateTime.Now.ToString("yyyyMMdd"); // 目标文件夹
                //uploadfile,uploadvideo
                string action = RequestHelper.GetPostString("action");
                if (action == "uploadfile")
                {
                    targetDir = GlobalParamsDto.WebRoot + "/upfiles/attachments/" + DateTime.Now.ToString("yyyyMMdd"); // 目标文件夹
                }
                if (!System.IO.Directory.Exists(targetDir))
                {
                    System.IO.Directory.CreateDirectory(targetDir);
                }

                int    index        = fileName.LastIndexOf('.');
                string extName      = fileName.Substring(index);
                string guidFileName = IdWorkerHelper.GenObjectId() + extName;
                var    finalPath    = Path.Combine(targetDir, guidFileName);

                var files = System.IO.Directory.GetFiles(tempDir);//获得下面的所有文件
                using (FileStream fs = System.IO.File.Create(finalPath))
                {
                    foreach (var part in files.OrderBy(x => x.Length).ThenBy(x => x))//排一下序,保证从0-N Write
                    {
                        var bytes = System.IO.File.ReadAllBytes(part);
                        fs.Write(bytes, 0, bytes.Length);
                        bytes = null;
                        System.IO.File.Delete(part);//删除分块
                    }
                    fs.Flush();
                }
                string returnPath = "/upfiles/videos/" + DateTime.Now.ToString("yyyyMMdd") + "/" + guidFileName;
                result.data.Add("url", returnPath);
                result.data.Add("fileName", fileName);
            }
            catch (Exception ex)
            {
                result.status = false;
                result.msg    = ex.Message;
            }
            return(Content(result.ToJson()));
        }
        public IActionResult GetModel(int id)
        {
            var result = new ResultAdaptDto();

            if (id > 0)
            {
                var model = _addressBookApp.GetModel(id);
                result.data.Add("model", model);
            }

            var depts = _deptApp.GetDepartTree();

            result.data.Add("depts", depts);
            return(Json(result));
        }
Beispiel #8
0
        public ActionResult GetButtonPermission()
        {
            string author = RequestHelper.GetQueryString("author");

            if (author.IsEmpty() || author != "easycms")
            {
                return(Error("请求权限失败"));
            }

            LoginUserDto   loginUserDto = RequestHelper.AdminInfo();
            ResultAdaptDto result       = new ResultAdaptDto();
            var            buttonTags   = _roleApp.GetButtonPermissionList(loginUserDto.RoleId);

            result.Add("isAdmin", loginUserDto.IsSuper);
            result.Add("buttonPermissions", buttonTags);
            return(Json(result));
        }
Beispiel #9
0
        /// <summary>
        /// 首页统计
        /// </summary>
        /// <returns></returns>
        public ActionResult GetChart()
        {
            var result = new ResultAdaptDto();

            try
            {
                var user = RequestHelper.AdminInfo();

                result.data.Add("user", user);
            }
            catch (Exception e)
            {
                LoggerHelper.Exception(e);
                result.status = false;
            }

            return(Content(result.ToJson()));
        }
        public ActionResult Uploadimg()
        {
            var result = new ResultAdaptDto();
            //long size = 0;
            var files = Request.Form.Files;

            if (files.Count == 0)
            {
                result.status = false;
                result.msg    = "没有文件信息";
                return(Content(result.ToJson()));
            }
            string url    = $"/upfiles/images/{DateTime.Now.ToString("yyyyMMdd")}";
            var    folder = GlobalParamsDto.WebRoot + url;

            if (!Directory.Exists(folder))
            {
                Directory.CreateDirectory(folder);
            }

            var file     = files[0];
            var filename = ContentDispositionHeaderValue
                           .Parse(file.ContentDisposition)
                           .FileName
                           .Trim('"');
            int    index        = filename.LastIndexOf('.');
            string extName      = filename.Substring(index);
            string guidstr      = Guid.NewGuid().ToString("N");
            string guidFileName = guidstr + extName;

            //这个hostingEnv.WebRootPath就是要存的地址可以改下
            filename = $"{folder}/{guidFileName}";
            using (FileStream fs = System.IO.File.Create(filename))
            {
                file.CopyTo(fs);
                fs.Flush();
            }
            string imgurl = $"{ url}/{guidFileName}";

            result.data.Add("url", imgurl);
            return(Content(result.ToJson()));
        }
Beispiel #11
0
        public IActionResult MergeFile(string md5, string fileName, int chunks)
        {
            var tempDir   = "UploadTemp";
            var targetDir = "UploadFile";

            var(res, msg) = tempDir.Merge(targetDir, fileName, md5, chunks);
            var result = new ResultAdaptDto();


            if (!res)
            {
                result.message = msg;
                result.status  = false;
            }
            else
            {
                result.data.Add("md5", md5);
                result.data.Add("url", Path.Combine("/", targetDir, fileName));
            }

            return(Content(result.ToJson()));
        }
        public IActionResult Monitor()
        {
            try
            {
                var process = Process.GetCurrentProcess();
                var model   = new SystemMonitor();
                model.NetCoreVersion   = Environment.Version.ToString();
                model.ProcessorName    = process.ProcessName;
                model.ProcessStartTime = process.StartTime;

                decimal totalMemory = decimal.Round(WindowsMachineInfo.GetTotalPhysicalMemory() / (1024 * 1024 * 1024), 2);
                model.SystemMemory = totalMemory.ToString() + "GB";


                var result = new ResultAdaptDto();
                result.data.Add("model", model);
                return(Data(result));
            }
            catch (Exception ex)
            {
                return(Error(ex.Message));
            }
        }
Beispiel #13
0
        public ActionResult GetAreaById(string id)
        {
            var result = new ResultAdaptDto();

            return(Content(result.ToJson()));
        }
Beispiel #14
0
 protected virtual ContentResult Data(ResultAdaptDto dto, string dateFormatter = "yyyy-MM-dd HH:mm:ss")
 {
     return(Content(dto.ToJson(dateFormatter)));
 }
Beispiel #15
0
        public ActionResult GetRoleAuthById(string roleId)
        {
            var result = new ResultAdaptDto();

            return(Content(result.ToJson()));
        }
Beispiel #16
0
        public ActionResult Uploadimg()
        {
            var result = new ResultAdaptDto();
            //long size = 0;
            //当设置了开始水印的时候,可以使用nomark来过滤图片不加水印
            int nomark = RequestHelper.GetPostInt("nomark");
            var files  = Request.Form.Files;

            if (files.Count == 0)
            {
                result.status  = false;
                result.message = "没有文件信息";
                return(Content(result.ToJson()));
            }
            string url    = $"/upfiles/images/{DateTime.Now.ToString("yyyyMMdd")}";
            var    folder = GlobalContext.WebRootPath + url;

            if (!Directory.Exists(folder))
            {
                Directory.CreateDirectory(folder);
            }

            var file     = files[0];
            var filename = ContentDispositionHeaderValue
                           .Parse(file.ContentDisposition)
                           .FileName
                           .Trim('"');
            int    index        = filename.LastIndexOf('.');
            string extName      = filename.Substring(index);
            string guidstr      = Guid.NewGuid().ToString("N");
            string guidFileName = guidstr + extName;

            //这个hostingEnv.WebRootPath就是要存的地址可以改下
            filename = $"{folder}/{guidFileName}";
            using (FileStream fs = System.IO.File.Create(filename))
            {
                file.CopyTo(fs);
                fs.Flush();
            }
            var firstFileInfo = new FileInfo(filename);

            if (firstFileInfo.Length > 200 * 1024)
            {
                string compressFileName = IdHelper.ObjectId() + extName;
                string compressFile     = $"{folder}/{compressFileName}";
                ImageUtilities.CompressImage(filename, compressFile, 90, 200);
                guidFileName = compressFileName;
            }
            if (nomark == 0)
            {
                var imageSet = SiteManagerCache.GetUploadInfo();
                if (imageSet.open_watermark == 1)
                {
                    try
                    {
                        string sourcePath = $"{folder}/{guidFileName}";
                        if (System.IO.File.Exists(sourcePath))
                        {
                            FileStream fs = new FileStream(sourcePath, FileMode.Open);
                            //把文件读取到字节数组
                            byte[] data = new byte[fs.Length];
                            fs.Read(data, 0, data.Length);
                            fs.Close();
                            //实例化一个内存流--->把从文件流中读取的内容[字节数组]放到内存流中去
                            MemoryStream ms    = new MemoryStream(data);
                            Image        image = Image.FromStream(ms);
                            if (image.Width > imageSet.image_width && image.Height > imageSet.image_height)
                            {
                                ImageWatermarker marker = new ImageWatermarker();
                                //图片水印
                                if (imageSet.watermark_type == 1)
                                {
                                    string waterMarkIamge = GlobalContext.WebRootPath + imageSet.watermark_image;
                                    if (System.IO.File.Exists(waterMarkIamge))
                                    {
                                        marker.AddImageSignPic(image, sourcePath, waterMarkIamge, imageSet.water_postion, imageSet.image_quality, imageSet.image_opacity);
                                    }
                                }
                                else
                                {
                                    marker.AddWatermarkText(image, sourcePath, imageSet.watermark_word, imageSet.water_postion, imageSet.font_size, imageSet.font_color);
                                }
                            }
                        }
                    }
                    catch (Exception ex)
                    {
                        LoggerHelper.Exception(ex);
                    }
                }
            }
            string imgurl = $"{ url}/{guidFileName}";

            result.data.Add("url", imgurl);
            return(Content(result.ToJson()));
        }
Beispiel #17
0
        public IActionResult SaveChunkFile()
        {
            var result = new ResultAdaptDto();
            //uploadfile,uploadvideo
            string action    = RequestHelper.GetPostString("action");
            string guid      = RequestHelper.GetPostString("guid");
            string fileName  = RequestHelper.GetPostString("name");
            string chunk     = RequestHelper.GetPostString("chunk");
            var    tempDir   = GlobalContext.WebRootPath + "/UploadTemp/" + guid;                                  // 缓存文件夹
            var    targetDir = GlobalContext.WebRootPath + "/upfiles/videos/" + DateTime.Now.ToString("yyyyMMdd"); // 目标文件夹

            if (action == "uploadfile")
            {
                targetDir = GlobalContext.WebRootPath + "/upfiles/attachments/" + DateTime.Now.ToString("yyyyMMdd"); // 目标文件夹
            }
            if (!System.IO.Directory.Exists(targetDir))
            {
                System.IO.Directory.CreateDirectory(targetDir);
            }


            var file = Request.Form.Files[0];

            int    index   = fileName.LastIndexOf('.');
            string extName = fileName.Substring(index);

            //单文件小于分片大小的直接保存下来
            if (file.Length < THUNK_SIZE)
            {
                //判断是否是单文件
                if (!FileChunkCache.ExistChunk(guid))
                {
                    string guidFileName = $"{IdHelper.ObjectId()}{extName}";
                    //这个hostingEnv.WebRootPath就是要存的地址可以改下
                    string newfilename = Path.Combine(targetDir, guidFileName);

                    using (FileStream fs = System.IO.File.Create(newfilename))
                    {
                        file.CopyTo(fs);
                        fs.Flush();
                    }
                    string returnPath = "/upfiles/videos/" + DateTime.Now.ToString("yyyyMMdd") + "/" + guidFileName;
                    if (action == "uploadfile")
                    {
                        returnPath = "/upfiles/attachments/" + DateTime.Now.ToString("yyyyMMdd") + "/" + guidFileName;
                    }
                    result.status     = true;
                    result.statusCode = 200;
                    result.data.Add("url", returnPath);
                    result.data.Add("fileName", fileName);
                    return(Content(result.ToJson()));
                }
            }

            //添加分片id缓存
            FileChunkCache.AddChunkId(guid);
            //大于分片大小的直接保存下来
            if (!System.IO.Directory.Exists(tempDir))
            {
                System.IO.Directory.CreateDirectory(tempDir);
            }
            string filePath = tempDir + "/" + chunk.ToString() + extName;

            //file.SaveFile(filePath);
            using (FileStream fs = System.IO.File.Create(filePath))
            {
                file.CopyTo(fs);
                fs.Flush();
            }

            return(Content(result.ToJson()));
        }
Beispiel #18
0
 /// <summary>
 /// json result ResultAdaptDto
 /// </summary>
 /// <param name="dto"></param>
 /// <param name="dateFormatter"></param>
 /// <returns></returns>
 protected virtual ContentResult Json(ResultAdaptDto dto)
 {
     return(Content(dto.ToJson()));
 }
Beispiel #19
0
        public ActionResult GetRoleMenuButton(string menuId)
        {
            var result = new ResultAdaptDto();

            return(Content(result.ToJson()));
        }
Beispiel #20
0
        /// <summary>
        /// 执行前
        /// </summary>
        /// <param name="filterContext"></param>
        /// <param name="next"></param>
        /// <returns></returns>
        public override async Task OnActionExecutionAsync(ActionExecutingContext filterContext, ActionExecutionDelegate next)
        {
            //if (!ValidateToken(filterContext.HttpContext.Request.Headers["token"]))
            //{
            //    filterContext.Result = new UnauthorizedResult();
            //}
            //记录路由日志
            //IDictionary<string, string> RouteValues = filterContext.ActionDescriptor.RouteValues;
            //string route = GetRouteInfo(RouteValues);
            //LoggerHelper.Info(route,"路由记录");


            IAtlassRequest requestHelper = GetAtlassRequest();
            var            user          = requestHelper.AdminInfo();

            if (user == null)
            {
                //ajax请求打回
                if (requestHelper.IsAjax())
                {
                    var result = new ResultAdaptDto();
                    result.message       = "用户信息已过期,请重新登录";
                    result.status        = false;
                    result.statusCode    = 403;
                    filterContext.Result = new JsonResult(result);
                    return;
                }
                else
                {
                    filterContext.Result = new RedirectResult("~/Login/index");
                    return;
                }
            }
            else
            {
                if (GlobalContext.RuntimeEnvironment == 0 && requestHelper.IsAjax())
                {
                    if (PermissionTag.Contains("delete") || PermissionTag.Contains("clear"))
                    {
                        var result = new ResultAdaptDto();
                        result.message       = "演示模式,禁止删除";
                        result.status        = false;
                        result.statusCode    = 401;
                        filterContext.Result = new JsonResult(result);
                        return;
                    }
                }
                //#只判断是否登录,不判断具体权限
                if (PermissionTag != "#" && !user.IsSuper)
                {
                    var  roleApp       = GetRoleAppService();
                    bool hasPermission = roleApp.HasPermission(user.RoleId, PermissionTag);
                    if (!hasPermission)
                    {
                        //ajax请求打回
                        if (requestHelper.IsAjax())
                        {
                            var result = new ResultAdaptDto();
                            result.message       = "抱歉,没有操作权限";
                            result.status        = false;
                            result.statusCode    = 401;
                            filterContext.Result = new JsonResult(result);
                            return;
                        }
                        else
                        {
                            filterContext.Result = new RedirectResult("~/Login/NoPermission");
                            return;
                        }
                    }
                }
            }

            await base.OnActionExecutionAsync(filterContext, next);
        }
Beispiel #21
0
 public static string ToJson(this ResultAdaptDto resultAdaptDto)
 {
     return(JsonConvert.SerializeObject(resultAdaptDto, JsonSettings));
 }