/// <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 }); }
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 = "文章发布失败。" })); } }
/// <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")); } }