Esempio n. 1
0
        /// <summary>
        /// 分页获取博客文章
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        public async Task <PaginationOut <List <BlogArticleVM> > > GetArticles(GetBlogArticleInput input)
        {
            var blogArticleVM = new List <BlogArticleVM>();
            var query         = await _blogArticle.GetAllIncludingAsyn(x => x.User, x => x.Category, x => x.BlogArticleLabels);

            var articles = query.OrderByDescending(x => x.CreateTime).Skip(input.SkipCount).Take(input.Limit);//分页核心

            foreach (var article in articles)
            {
                var articleVM = new BlogArticleVM(article);
                articleVM.Thumbnail = string.IsNullOrEmpty(article?.Thumbnail) ? _randomDataHepler.GetRandomAvatar() : article?.Thumbnail;
                articleVM.User      = await GetUserDtoByUser(article.User);

                articleVM.CommentsCount = await GetCommentCount(article.Id);

                articleVM.ViewCount = await GetArticleViewCount(article.Id);

                blogArticleVM.Add(articleVM);
            }
            var statusCode = HttpContext.Response.StatusCode.Equals(200) ? 0 : 1;

            return(new PaginationOut <List <BlogArticleVM> >
            {
                Code = statusCode,
                Msg = statusCode.Equals(0) ? "" : "请求错误Ծ‸Ծ",
                Count = query.Count(),
                Data = blogArticleVM
            });
        }
Esempio n. 2
0
        public async Task <JsonResult> AddBlogArticle(AddBlogArticleInput input)
        {
            var categories = await _blogArticleCategory.GetAllAsyn(); //临时分类

            var blogArticle = new BlogArticle
            {
                Name        = input.Name,
                Abstract    = input.Abstract,
                Description = input.Description,
                User        = TzUser,
                Category    = categories.FirstOrDefault(), //临时分类
                Thumbnail   = string.IsNullOrEmpty(input.Thumbnail) ? _randomDataHepler.GetRandomAvatar() : input.Thumbnail,
            };
            var r = await _blogArticle.AddOrEditAndSaveAsyn(blogArticle);

            if (r)
            {
                string[] labelNames = { "大大二颜", "情感", "私语" }; //临时标签
                for (int i = 0; i < 3; i++)
                {
                    await _blogArticleLabel.AddOrEditAndSaveAsyn(new BlogArticleLabel
                    {
                        BlogArticle = blogArticle,
                        Name        = labelNames[i]
                    });
                }

                //初始化浏览统计
                await _viewCount.AddOrEditAndSaveAsyn(new ViewCount
                {
                    ObjectId = blogArticle.Id,
                    Count    = 0
                });

                //添加点赞
                await _blogArticlePraise.AddOrEditAndSaveAsyn(new BlogArticlePraise
                {
                    ArticleId = blogArticle.Id,
                    Up        = 0,
                    Down      = 0
                });

                return(Json(new { state = true, message = "文章发布成功" }));
            }
            else
            {
                return(Json(new { state = false, message = "文章发布失败。" }));
            }
        }
Esempio n. 3
0
        /// <summary>
        /// 添加一些默认的用户 、当然在种子数据里面已经添加过了另外的用户
        /// ?在种子数据添加的用户不能够登录,原因可能在于哈希密码
        /// </summary>
        public async Task <IActionResult> AddDefaultUsers()
        {
            //使用文件方式进行判断
            string installLockFile       = Path.Combine(_hostingEnv.WebRootPath, @"Install\install.lock");
            bool   installLockFileExists = System.IO.File.Exists(installLockFile);

            var uExist = await _userManager.FindByNameAsync("admin");

            if (uExist == null && !installLockFileExists)
            {
                ApplicationRole adminRole = null;
                ApplicationRole userRole  = null;
                //?判断用户组是否存在
                if (!await _roleManager.RoleExistsAsync("Admin"))
                {
                    adminRole = new ApplicationRole()
                    {
                        Name = "Admin", DisplayName = "超级管理员", Description = "适用于系统管理人员", ApplicationRoleType = ApplicationRoleTypeEnum.适用于系统管理人员
                    };
                    userRole = new ApplicationRole()
                    {
                        Name = "AverageUser", DisplayName = "普通用户", Description = "适用于普通注册用户", ApplicationRoleType = ApplicationRoleTypeEnum.适用于普通注册用户
                    };
                    await _roleManager.CreateAsync(adminRole);

                    await _roleManager.CreateAsync(userRole);
                }

                //添加默认用户
                string[]       userLastStr = new string[] { "", "a", "b", "c", "d", "e", "f", "g" };
                string[]       linkNames   = { "QQ", "微博", "Github", "个人网站" };
                UserLinkType[] types       = { UserLinkType.QQ, UserLinkType.Weibo, UserLinkType.Github, UserLinkType.ProSite };
                const string   password    = "******";
                for (int i = 0; i < userLastStr.Length + 1; i++)
                {
                    var user = new ApplicationUser();
                    if (i == 0)
                    {
                        const string adPassword = "******";
                        user = new ApplicationUser("admin")
                        {
                            FullName = "超级管理员",
                            Nickname = "大大二颜",
                            Remark   = "talk is cheap,show me the code.",
                            Email    = "*****@*****.**",
                            Birthday = DateTime.Parse("1995-09-25"),
                            Location = "广西·南宁"
                        };
                        var addAdmin = await _userManager.CreateAsync(user);

                        var addAdminPassword = await _userManager.AddPasswordAsync(user, adPassword);

                        //设置默认博客文章用户(发布时,请记得删除)
                        var blogArticles = await _blogArticle.GetAllAsyn();

                        foreach (var blogArticle in blogArticles)
                        {
                            blogArticle.User = user;
                            await _blogArticle.AddOrEditAndSaveAsyn(blogArticle);
                        }

                        //查询用户是否已经添加了权限 若不在添加进用户组
                        if (!await _userManager.IsInRoleAsync(user, adminRole.Name))
                        {
                            await _userManager.AddToRoleAsync(user, adminRole.Name);
                        }
                    }
                    else
                    {
                        user = new ApplicationUser("user" + userLastStr[i - 1])
                        {
                            Nickname = _randomDataHepler.GetRandomNickname(),
                            Remark   = _randomDataHepler.GetRandomRemark(),
                            FullName = "普通用户" + userLastStr[i - 1],
                            Email    = "user" + userLastStr[i - 1] + "@925i.cn",
                            Birthday = DateTime.Now,
                            Location = "广西·南宁"
                        };
                        var addUser = await _userManager.CreateAsync(user);

                        var addUserPassword = await _userManager.AddPasswordAsync(user, password);

                        if (!await _userManager.IsInRoleAsync(user, userRole.Name))
                        {
                            var roleOK = await _userManager.AddToRoleAsync(user, userRole.Name);
                        }
                    }

                    //初始化用户等级信息
                    await _userGrade.AddOrEditAndSaveAsyn(new ApplicationUserGrade
                    {
                        User             = user,
                        IsAuthentication = false,
                        Level            = 1,
                        LevelName        = "VIP",
                        Currency         = 925,
                        Score            = 0
                    });

                    //初始化用户链接
                    for (int linkI = 0; linkI < 4; linkI++)
                    {
                        await _userLink.AddOrEditAndSaveAsyn(new UserLink
                        {
                            UserId = Guid.Parse(user.Id),
                            Name   = linkNames[linkI],
                            Link   = "javascript:",
                            Target = UserLinkTarget._blank,
                            Type   = types[linkI]
                        });
                    }

                    //初始化默认头像
                    var userAvatar = _randomDataHepler.GetRandomAvatar();
                    var avatar     = new BusinessImage
                    {
                        Type              = BusinessImageEnum.Avatars,
                        Name              = string.Empty,
                        DisplayName       = string.Empty,
                        OriginalFileName  = string.Empty,
                        RelevanceObjectId = Guid.Parse(user.Id),
                        UploaderId        = Guid.Parse(user.Id),
                        Description       = "这是用户 " + user.FullName + " 的头像",
                        FileSize          = 0,
                        RelativePath      = userAvatar,
                        MinRelativePath   = userAvatar,
                        PhysicalPath      = string.Empty,
                        MinPhysicalPath   = string.Empty
                    };
                    await _businessImage.AddOrEditAndSaveAsyn(avatar);
                }
                ViewBag.Message = "数据添加完成,您可以通过下方按钮选择一些操作!";

                //添加锁定文件
                using (Stream fs = System.IO.File.Create(installLockFile)) fs.Flush();
                return(RedirectToAction("Login"));
            }
            else
            {
                ViewBag.Message = "安装已经完成,如需重新安装请删除安装目录下的install.lock文件,再进行操作。";
                return(RedirectToAction("Login"));
            }
        }