mirror of https://github.com/halo-dev/halo
👽 细节修改
parent
d95ef36401
commit
210ae09f1e
|
@ -127,7 +127,8 @@ public class AdminController extends BaseController {
|
||||||
User aUser = userService.findUser();
|
User aUser = userService.findUser();
|
||||||
//首先判断是否已经被禁用已经是否已经过了10分钟
|
//首先判断是否已经被禁用已经是否已经过了10分钟
|
||||||
Date loginLast = aUser.getLoginLast();
|
Date loginLast = aUser.getLoginLast();
|
||||||
Long between = DateUtil.between(loginLast, new Date(), DateUnit.MINUTE);
|
Long between = DateUtil.between(loginLast, DateUtil.date(), DateUnit.MINUTE);
|
||||||
|
log.info(between+"");
|
||||||
if (StringUtils.equals(aUser.getLoginEnable(), "false") && (between < 10)) {
|
if (StringUtils.equals(aUser.getLoginEnable(), "false") && (between < 10)) {
|
||||||
return new JsonResult(0, "已禁止登录,请10分钟后再试");
|
return new JsonResult(0, "已禁止登录,请10分钟后再试");
|
||||||
}
|
}
|
||||||
|
@ -138,13 +139,13 @@ public class AdminController extends BaseController {
|
||||||
} else {
|
} else {
|
||||||
user = userService.userLoginByName(loginName, SecureUtil.md5(loginPwd));
|
user = userService.userLoginByName(loginName, SecureUtil.md5(loginPwd));
|
||||||
}
|
}
|
||||||
userService.updateUserLoginLast(new Date());
|
userService.updateUserLoginLast(DateUtil.date());
|
||||||
//判断User对象是否相等
|
//判断User对象是否相等
|
||||||
if (ObjectUtil.equal(aUser, user)) {
|
if (ObjectUtil.equal(aUser, user)) {
|
||||||
session.setAttribute(HaloConst.USER_SESSION_KEY, aUser);
|
session.setAttribute(HaloConst.USER_SESSION_KEY, aUser);
|
||||||
//重置用户的登录状态为正常
|
//重置用户的登录状态为正常
|
||||||
userService.updateUserNormal();
|
userService.updateUserNormal();
|
||||||
logsService.saveByLogs(new Logs(LogsRecord.LOGIN, LogsRecord.LOGIN_SUCCESS, HaloUtils.getIpAddr(request), new Date()));
|
logsService.saveByLogs(new Logs(LogsRecord.LOGIN, LogsRecord.LOGIN_SUCCESS, HaloUtils.getIpAddr(request), DateUtil.date()));
|
||||||
return new JsonResult(1, "登录成功!");
|
return new JsonResult(1, "登录成功!");
|
||||||
} else {
|
} else {
|
||||||
//更新失败次数
|
//更新失败次数
|
||||||
|
@ -158,7 +159,7 @@ public class AdminController extends BaseController {
|
||||||
LogsRecord.LOGIN,
|
LogsRecord.LOGIN,
|
||||||
LogsRecord.LOGIN_ERROR + "[" + HtmlUtil.encode(loginName) + "," + HtmlUtil.encode(loginPwd) + "]",
|
LogsRecord.LOGIN_ERROR + "[" + HtmlUtil.encode(loginName) + "," + HtmlUtil.encode(loginPwd) + "]",
|
||||||
HaloUtils.getIpAddr(request),
|
HaloUtils.getIpAddr(request),
|
||||||
new Date()
|
DateUtil.date()
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
return new JsonResult(0, "登录失败,你还有" + (5 - errorCount) + "次机会。");
|
return new JsonResult(0, "登录失败,你还有" + (5 - errorCount) + "次机会。");
|
||||||
|
@ -174,7 +175,7 @@ public class AdminController extends BaseController {
|
||||||
@GetMapping(value = "/logOut")
|
@GetMapping(value = "/logOut")
|
||||||
public String logOut(HttpSession session) {
|
public String logOut(HttpSession session) {
|
||||||
User user = (User) session.getAttribute(HaloConst.USER_SESSION_KEY);
|
User user = (User) session.getAttribute(HaloConst.USER_SESSION_KEY);
|
||||||
logsService.saveByLogs(new Logs(LogsRecord.LOGOUT, user.getUserName(), HaloUtils.getIpAddr(request), new Date()));
|
logsService.saveByLogs(new Logs(LogsRecord.LOGOUT, user.getUserName(), HaloUtils.getIpAddr(request), DateUtil.date()));
|
||||||
session.invalidate();
|
session.invalidate();
|
||||||
log.info("用户[" + user.getUserName() + "]退出登录");
|
log.info("用户[" + user.getUserName() + "]退出登录");
|
||||||
return "redirect:/admin/login";
|
return "redirect:/admin/login";
|
||||||
|
|
|
@ -8,6 +8,7 @@ import cc.ryanc.halo.model.dto.LogsRecord;
|
||||||
import cc.ryanc.halo.service.AttachmentService;
|
import cc.ryanc.halo.service.AttachmentService;
|
||||||
import cc.ryanc.halo.service.LogsService;
|
import cc.ryanc.halo.service.LogsService;
|
||||||
import cc.ryanc.halo.utils.HaloUtils;
|
import cc.ryanc.halo.utils.HaloUtils;
|
||||||
|
import cn.hutool.core.date.DateUtil;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
@ -146,7 +147,7 @@ public class AttachmentController {
|
||||||
mediaPath.mkdirs();
|
mediaPath.mkdirs();
|
||||||
}
|
}
|
||||||
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMddHHmmss");
|
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMddHHmmss");
|
||||||
String nameWithOutSuffix = file.getOriginalFilename().substring(0, file.getOriginalFilename().lastIndexOf('.')).replaceAll(" ","_").replaceAll(",","")+dateFormat.format(new Date())+new Random().nextInt(1000);
|
String nameWithOutSuffix = file.getOriginalFilename().substring(0, file.getOriginalFilename().lastIndexOf('.')).replaceAll(" ","_").replaceAll(",","")+dateFormat.format(DateUtil.date())+new Random().nextInt(1000);
|
||||||
String fileSuffix = file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf('.') + 1);
|
String fileSuffix = file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf('.') + 1);
|
||||||
String fileName = nameWithOutSuffix+"."+fileSuffix;
|
String fileName = nameWithOutSuffix+"."+fileSuffix;
|
||||||
file.transferTo(new File(mediaPath.getAbsoluteFile(), fileName));
|
file.transferTo(new File(mediaPath.getAbsoluteFile(), fileName));
|
||||||
|
@ -167,13 +168,13 @@ public class AttachmentController {
|
||||||
|
|
||||||
attachment.setAttachType(file.getContentType());
|
attachment.setAttachType(file.getContentType());
|
||||||
attachment.setAttachSuffix(new StringBuffer(".").append(fileSuffix).toString());
|
attachment.setAttachSuffix(new StringBuffer(".").append(fileSuffix).toString());
|
||||||
attachment.setAttachCreated(new Date());
|
attachment.setAttachCreated(DateUtil.date());
|
||||||
attachmentService.saveByAttachment(attachment);
|
attachmentService.saveByAttachment(attachment);
|
||||||
|
|
||||||
updateConst();
|
updateConst();
|
||||||
log.info("上传文件[" + fileName + "]到[" + mediaPath.getAbsolutePath() + "]成功");
|
log.info("上传文件[" + fileName + "]到[" + mediaPath.getAbsolutePath() + "]成功");
|
||||||
logsService.saveByLogs(
|
logsService.saveByLogs(
|
||||||
new Logs(LogsRecord.UPLOAD_FILE, fileName, HaloUtils.getIpAddr(request), new Date())
|
new Logs(LogsRecord.UPLOAD_FILE, fileName, HaloUtils.getIpAddr(request), DateUtil.date())
|
||||||
);
|
);
|
||||||
|
|
||||||
result.put("success", 1);
|
result.put("success", 1);
|
||||||
|
@ -245,7 +246,7 @@ public class AttachmentController {
|
||||||
updateConst();
|
updateConst();
|
||||||
log.info("删除文件[" + delFileName + "]成功!");
|
log.info("删除文件[" + delFileName + "]成功!");
|
||||||
logsService.saveByLogs(
|
logsService.saveByLogs(
|
||||||
new Logs(LogsRecord.REMOVE_FILE, delFileName, HaloUtils.getIpAddr(request), new Date())
|
new Logs(LogsRecord.REMOVE_FILE, delFileName, HaloUtils.getIpAddr(request), DateUtil.date())
|
||||||
);
|
);
|
||||||
} else {
|
} else {
|
||||||
log.error("删除附件[" + delFileName + "]失败!");
|
log.error("删除附件[" + delFileName + "]失败!");
|
||||||
|
|
|
@ -10,6 +10,7 @@ import cc.ryanc.halo.service.PostService;
|
||||||
import cc.ryanc.halo.service.UserService;
|
import cc.ryanc.halo.service.UserService;
|
||||||
import cc.ryanc.halo.utils.HaloUtils;
|
import cc.ryanc.halo.utils.HaloUtils;
|
||||||
import cc.ryanc.halo.web.controller.core.BaseController;
|
import cc.ryanc.halo.web.controller.core.BaseController;
|
||||||
|
import cn.hutool.core.date.DateUtil;
|
||||||
import cn.hutool.core.lang.Validator;
|
import cn.hutool.core.lang.Validator;
|
||||||
import cn.hutool.crypto.SecureUtil;
|
import cn.hutool.crypto.SecureUtil;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
@ -196,7 +197,7 @@ public class CommentController extends BaseController{
|
||||||
comment.setCommentAuthorUrl(HaloConst.OPTIONS.get("blog_url"));
|
comment.setCommentAuthorUrl(HaloConst.OPTIONS.get("blog_url"));
|
||||||
comment.setCommentAuthorIp(HaloUtils.getIpAddr(request));
|
comment.setCommentAuthorIp(HaloUtils.getIpAddr(request));
|
||||||
comment.setCommentAuthorAvatarMd5(SecureUtil.md5(user.getUserEmail()));
|
comment.setCommentAuthorAvatarMd5(SecureUtil.md5(user.getUserEmail()));
|
||||||
comment.setCommentDate(new Date());
|
comment.setCommentDate(DateUtil.date());
|
||||||
String lastContent = " //<a href='#comment-id-"+lastComment.getCommentId()+"'>@"+lastComment.getCommentAuthor()+"</a>:"+lastComment.getCommentContent();
|
String lastContent = " //<a href='#comment-id-"+lastComment.getCommentId()+"'>@"+lastComment.getCommentAuthor()+"</a>:"+lastComment.getCommentContent();
|
||||||
comment.setCommentContent(commentContent+lastContent);
|
comment.setCommentContent(commentContent+lastContent);
|
||||||
comment.setCommentAgent(userAgent);
|
comment.setCommentAgent(userAgent);
|
||||||
|
|
|
@ -31,8 +31,7 @@ public class MenuController {
|
||||||
* @return 模板路径/admin/admin_menu
|
* @return 模板路径/admin/admin_menu
|
||||||
*/
|
*/
|
||||||
@GetMapping
|
@GetMapping
|
||||||
public String menus(Model model) {
|
public String menus() {
|
||||||
model.addAttribute("statusName", "添加");
|
|
||||||
return "/admin/admin_menu";
|
return "/admin/admin_menu";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -62,7 +61,6 @@ public class MenuController {
|
||||||
@GetMapping(value = "/edit")
|
@GetMapping(value = "/edit")
|
||||||
public String updateMenu(@RequestParam("menuId") Long menuId, Model model) {
|
public String updateMenu(@RequestParam("menuId") Long menuId, Model model) {
|
||||||
Menu menu = menuService.findByMenuId(menuId).get();
|
Menu menu = menuService.findByMenuId(menuId).get();
|
||||||
model.addAttribute("statusName", "修改");
|
|
||||||
model.addAttribute("updateMenu", menu);
|
model.addAttribute("updateMenu", menu);
|
||||||
return "/admin/admin_menu";
|
return "/admin/admin_menu";
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,12 +2,14 @@ package cc.ryanc.halo.web.controller.admin;
|
||||||
|
|
||||||
import cc.ryanc.halo.model.domain.*;
|
import cc.ryanc.halo.model.domain.*;
|
||||||
import cc.ryanc.halo.model.dto.HaloConst;
|
import cc.ryanc.halo.model.dto.HaloConst;
|
||||||
|
import cc.ryanc.halo.model.dto.JsonResult;
|
||||||
import cc.ryanc.halo.model.dto.LogsRecord;
|
import cc.ryanc.halo.model.dto.LogsRecord;
|
||||||
import cc.ryanc.halo.service.GalleryService;
|
import cc.ryanc.halo.service.GalleryService;
|
||||||
import cc.ryanc.halo.service.LinkService;
|
import cc.ryanc.halo.service.LinkService;
|
||||||
import cc.ryanc.halo.service.LogsService;
|
import cc.ryanc.halo.service.LogsService;
|
||||||
import cc.ryanc.halo.service.PostService;
|
import cc.ryanc.halo.service.PostService;
|
||||||
import cc.ryanc.halo.utils.HaloUtils;
|
import cc.ryanc.halo.utils.HaloUtils;
|
||||||
|
import cn.hutool.core.date.DateUtil;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
@ -212,9 +214,10 @@ public class PageController {
|
||||||
*/
|
*/
|
||||||
@PostMapping(value = "/new/push")
|
@PostMapping(value = "/new/push")
|
||||||
@ResponseBody
|
@ResponseBody
|
||||||
public void pushPage(@ModelAttribute Post post, HttpSession session) {
|
public JsonResult pushPage(@ModelAttribute Post post, HttpSession session) {
|
||||||
|
String msg = "发表成功";
|
||||||
try {
|
try {
|
||||||
post.setPostDate(new Date());
|
post.setPostDate(DateUtil.date());
|
||||||
//发表用户
|
//发表用户
|
||||||
User user = (User) session.getAttribute(HaloConst.USER_SESSION_KEY);
|
User user = (User) session.getAttribute(HaloConst.USER_SESSION_KEY);
|
||||||
post.setUser(user);
|
post.setUser(user);
|
||||||
|
@ -222,15 +225,18 @@ public class PageController {
|
||||||
if(null!=post.getPostId()){
|
if(null!=post.getPostId()){
|
||||||
post.setPostViews(postService.findByPostId(post.getPostId()).get().getPostViews());
|
post.setPostViews(postService.findByPostId(post.getPostId()).get().getPostViews());
|
||||||
post.setPostDate(postService.findByPostId(post.getPostId()).get().getPostDate());
|
post.setPostDate(postService.findByPostId(post.getPostId()).get().getPostDate());
|
||||||
post.setPostUpdate(new Date());
|
post.setPostUpdate(DateUtil.date());
|
||||||
|
msg = "更新成功";
|
||||||
}else{
|
}else{
|
||||||
post.setPostDate(new Date());
|
post.setPostDate(DateUtil.date());
|
||||||
post.setPostUpdate(new Date());
|
post.setPostUpdate(DateUtil.date());
|
||||||
}
|
}
|
||||||
postService.saveByPost(post);
|
postService.saveByPost(post);
|
||||||
logsService.saveByLogs(new Logs(LogsRecord.PUSH_PAGE, post.getPostTitle(), HaloUtils.getIpAddr(request), new Date()));
|
logsService.saveByLogs(new Logs(LogsRecord.PUSH_PAGE, post.getPostTitle(), HaloUtils.getIpAddr(request), DateUtil.date()));
|
||||||
|
return new JsonResult(1,msg);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
log.error("未知错误:{0}", e.getMessage());
|
log.error("未知错误:{0}", e.getMessage());
|
||||||
|
return new JsonResult(0,"保存失败");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -10,6 +10,7 @@ import cc.ryanc.halo.service.PostService;
|
||||||
import cc.ryanc.halo.service.TagService;
|
import cc.ryanc.halo.service.TagService;
|
||||||
import cc.ryanc.halo.utils.HaloUtils;
|
import cc.ryanc.halo.utils.HaloUtils;
|
||||||
import cc.ryanc.halo.web.controller.core.BaseController;
|
import cc.ryanc.halo.web.controller.core.BaseController;
|
||||||
|
import cn.hutool.core.date.DateUtil;
|
||||||
import cn.hutool.http.HtmlUtil;
|
import cn.hutool.http.HtmlUtil;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
|
@ -155,8 +156,9 @@ public class PostController extends BaseController{
|
||||||
*/
|
*/
|
||||||
@PostMapping(value = "/new/push")
|
@PostMapping(value = "/new/push")
|
||||||
@ResponseBody
|
@ResponseBody
|
||||||
public void pushPost(@ModelAttribute Post post, @RequestParam("cateList") List<String> cateList, @RequestParam("tagList") String tagList, HttpSession session){
|
public JsonResult pushPost(@ModelAttribute Post post, @RequestParam("cateList") List<String> cateList, @RequestParam("tagList") String tagList, HttpSession session){
|
||||||
User user = (User)session.getAttribute(HaloConst.USER_SESSION_KEY);
|
User user = (User)session.getAttribute(HaloConst.USER_SESSION_KEY);
|
||||||
|
String msg = "发表成功";
|
||||||
try{
|
try{
|
||||||
//提取摘要
|
//提取摘要
|
||||||
int postSummary = 50;
|
int postSummary = 50;
|
||||||
|
@ -175,11 +177,12 @@ public class PostController extends BaseController{
|
||||||
if(null!=post.getPostId()){
|
if(null!=post.getPostId()){
|
||||||
Post oldPost = postService.findByPostId(post.getPostId()).get();
|
Post oldPost = postService.findByPostId(post.getPostId()).get();
|
||||||
post.setPostDate(oldPost.getPostDate());
|
post.setPostDate(oldPost.getPostDate());
|
||||||
post.setPostUpdate(new Date());
|
post.setPostUpdate(DateUtil.date());
|
||||||
post.setPostViews(oldPost.getPostViews());
|
post.setPostViews(oldPost.getPostViews());
|
||||||
|
msg = "更新成功";
|
||||||
}else{
|
}else{
|
||||||
post.setPostDate(new Date());
|
post.setPostDate(DateUtil.date());
|
||||||
post.setPostUpdate(new Date());
|
post.setPostUpdate(DateUtil.date());
|
||||||
}
|
}
|
||||||
post.setUser(user);
|
post.setUser(user);
|
||||||
List<Category> categories = categoryService.strListToCateList(cateList);
|
List<Category> categories = categoryService.strListToCateList(cateList);
|
||||||
|
@ -190,9 +193,11 @@ public class PostController extends BaseController{
|
||||||
}
|
}
|
||||||
post.setPostUrl(urlFilter(post.getPostUrl()));
|
post.setPostUrl(urlFilter(post.getPostUrl()));
|
||||||
postService.saveByPost(post);
|
postService.saveByPost(post);
|
||||||
logsService.saveByLogs(new Logs(LogsRecord.PUSH_POST,post.getPostTitle(),HaloUtils.getIpAddr(request),new Date()));
|
logsService.saveByLogs(new Logs(LogsRecord.PUSH_POST,post.getPostTitle(),HaloUtils.getIpAddr(request),DateUtil.date()));
|
||||||
|
return new JsonResult(1,msg);
|
||||||
}catch (Exception e){
|
}catch (Exception e){
|
||||||
log.error("未知错误:", e.getMessage());
|
log.error("未知错误:", e.getMessage());
|
||||||
|
return new JsonResult(0,"保存失败");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -222,13 +227,13 @@ public class PostController extends BaseController{
|
||||||
try{
|
try{
|
||||||
if(StringUtils.isEmpty(postTitle)){
|
if(StringUtils.isEmpty(postTitle)){
|
||||||
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMddHHmmss");
|
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMddHHmmss");
|
||||||
post.setPostTitle("草稿:"+dateFormat.format(new Date()));
|
post.setPostTitle("草稿:"+dateFormat.format(DateUtil.date()));
|
||||||
}else{
|
}else{
|
||||||
post.setPostTitle(postTitle);
|
post.setPostTitle(postTitle);
|
||||||
}
|
}
|
||||||
if(StringUtils.isEmpty(postUrl)){
|
if(StringUtils.isEmpty(postUrl)){
|
||||||
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMddHHmmss");
|
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMddHHmmss");
|
||||||
post.setPostUrl(dateFormat.format(new Date()));
|
post.setPostUrl(dateFormat.format(DateUtil.date()));
|
||||||
}else{
|
}else{
|
||||||
post.setPostUrl(postUrl);
|
post.setPostUrl(postUrl);
|
||||||
}
|
}
|
||||||
|
@ -236,14 +241,14 @@ public class PostController extends BaseController{
|
||||||
post.setPostStatus(1);
|
post.setPostStatus(1);
|
||||||
post.setPostContentMd(postContentMd);
|
post.setPostContentMd(postContentMd);
|
||||||
post.setPostType(postType);
|
post.setPostType(postType);
|
||||||
post.setPostDate(new Date());
|
post.setPostDate(DateUtil.date());
|
||||||
post.setPostUpdate(new Date());
|
post.setPostUpdate(DateUtil.date());
|
||||||
post.setUser(user);
|
post.setUser(user);
|
||||||
}catch (Exception e){
|
}catch (Exception e){
|
||||||
log.error("未知错误:", e.getMessage());
|
log.error("未知错误:", e.getMessage());
|
||||||
return new JsonResult(0,"保存失败");
|
return new JsonResult(0,"保存失败");
|
||||||
}
|
}
|
||||||
return new JsonResult(1,postService.saveByPost(post));
|
return new JsonResult(1,"保存成功",postService.saveByPost(post));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -293,7 +298,7 @@ public class PostController extends BaseController{
|
||||||
try{
|
try{
|
||||||
Optional<Post> post = postService.findByPostId(postId);
|
Optional<Post> post = postService.findByPostId(postId);
|
||||||
postService.removeByPostId(postId);
|
postService.removeByPostId(postId);
|
||||||
logsService.saveByLogs(new Logs(LogsRecord.REMOVE_POST,post.get().getPostTitle(),HaloUtils.getIpAddr(request),new Date()));
|
logsService.saveByLogs(new Logs(LogsRecord.REMOVE_POST,post.get().getPostTitle(),HaloUtils.getIpAddr(request),DateUtil.date()));
|
||||||
}catch (Exception e){
|
}catch (Exception e){
|
||||||
log.error("未知错误:{0}",e.getMessage());
|
log.error("未知错误:{0}",e.getMessage());
|
||||||
}
|
}
|
||||||
|
|
|
@ -8,6 +8,7 @@ import cc.ryanc.halo.service.LogsService;
|
||||||
import cc.ryanc.halo.service.OptionsService;
|
import cc.ryanc.halo.service.OptionsService;
|
||||||
import cc.ryanc.halo.utils.HaloUtils;
|
import cc.ryanc.halo.utils.HaloUtils;
|
||||||
import cc.ryanc.halo.web.controller.core.BaseController;
|
import cc.ryanc.halo.web.controller.core.BaseController;
|
||||||
|
import cn.hutool.core.date.DateUtil;
|
||||||
import cn.hutool.core.io.FileUtil;
|
import cn.hutool.core.io.FileUtil;
|
||||||
import cn.hutool.core.util.ZipUtil;
|
import cn.hutool.core.util.ZipUtil;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
@ -77,7 +78,7 @@ public class ThemeController extends BaseController {
|
||||||
BaseController.THEME = siteTheme;
|
BaseController.THEME = siteTheme;
|
||||||
log.info("已将主题改变为:" + siteTheme);
|
log.info("已将主题改变为:" + siteTheme);
|
||||||
logsService.saveByLogs(
|
logsService.saveByLogs(
|
||||||
new Logs(LogsRecord.CHANGE_THEME, "更换为" + siteTheme, HaloUtils.getIpAddr(request), new Date())
|
new Logs(LogsRecord.CHANGE_THEME, "更换为" + siteTheme, HaloUtils.getIpAddr(request), DateUtil.date())
|
||||||
);
|
);
|
||||||
return new JsonResult(1,"主题已设置为"+siteTheme);
|
return new JsonResult(1,"主题已设置为"+siteTheme);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
|
@ -105,7 +106,7 @@ public class ThemeController extends BaseController {
|
||||||
file.transferTo(themePath);
|
file.transferTo(themePath);
|
||||||
log.info("上传主题成功,路径:" + themePath.getAbsolutePath());
|
log.info("上传主题成功,路径:" + themePath.getAbsolutePath());
|
||||||
logsService.saveByLogs(
|
logsService.saveByLogs(
|
||||||
new Logs(LogsRecord.UPLOAD_THEME, file.getOriginalFilename(), HaloUtils.getIpAddr(request), new Date())
|
new Logs(LogsRecord.UPLOAD_THEME, file.getOriginalFilename(), HaloUtils.getIpAddr(request), DateUtil.date())
|
||||||
);
|
);
|
||||||
ZipUtil.unzip(themePath,new File(basePath.getAbsolutePath(), "templates/themes/"));
|
ZipUtil.unzip(themePath,new File(basePath.getAbsolutePath(), "templates/themes/"));
|
||||||
FileUtil.del(themePath);
|
FileUtil.del(themePath);
|
||||||
|
|
|
@ -5,6 +5,7 @@ import cc.ryanc.halo.model.dto.HaloConst;
|
||||||
import cc.ryanc.halo.model.dto.LogsRecord;
|
import cc.ryanc.halo.model.dto.LogsRecord;
|
||||||
import cc.ryanc.halo.service.*;
|
import cc.ryanc.halo.service.*;
|
||||||
import cc.ryanc.halo.utils.HaloUtils;
|
import cc.ryanc.halo.utils.HaloUtils;
|
||||||
|
import cn.hutool.core.date.DateUtil;
|
||||||
import cn.hutool.crypto.SecureUtil;
|
import cn.hutool.crypto.SecureUtil;
|
||||||
import freemarker.template.Configuration;
|
import freemarker.template.Configuration;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
@ -127,7 +128,7 @@ public class InstallController {
|
||||||
post.setPostContent("<h1 id=\"h1-hello-halo-\"><a name=\"Hello Halo!\" class=\"reference-link\"></a><span class=\"header-link octicon octicon-link\"></span>Hello Halo!</h1><p>欢迎使用Halo进行创作,删除这篇文章后赶紧开始吧。</p>\n");
|
post.setPostContent("<h1 id=\"h1-hello-halo-\"><a name=\"Hello Halo!\" class=\"reference-link\"></a><span class=\"header-link octicon octicon-link\"></span>Hello Halo!</h1><p>欢迎使用Halo进行创作,删除这篇文章后赶紧开始吧。</p>\n");
|
||||||
post.setPostSummary("欢迎使用Halo进行创作,删除这篇文章后赶紧开始吧。");
|
post.setPostSummary("欢迎使用Halo进行创作,删除这篇文章后赶紧开始吧。");
|
||||||
post.setPostStatus(0);
|
post.setPostStatus(0);
|
||||||
post.setPostDate(new Date());
|
post.setPostDate(DateUtil.date());
|
||||||
post.setPostUrl("hello-halo");
|
post.setPostUrl("hello-halo");
|
||||||
post.setUser(user);
|
post.setUser(user);
|
||||||
post.setCategories(categories);
|
post.setCategories(categories);
|
||||||
|
@ -141,7 +142,7 @@ public class InstallController {
|
||||||
comment.setCommentAuthorUrl("https://ryanc.cc");
|
comment.setCommentAuthorUrl("https://ryanc.cc");
|
||||||
comment.setCommentAuthorIp("127.0.0.1");
|
comment.setCommentAuthorIp("127.0.0.1");
|
||||||
comment.setCommentAuthorAvatarMd5("7cc7f29278071bd4dce995612d428834");
|
comment.setCommentAuthorAvatarMd5("7cc7f29278071bd4dce995612d428834");
|
||||||
comment.setCommentDate(new Date());
|
comment.setCommentDate(DateUtil.date());
|
||||||
comment.setCommentContent("欢迎,欢迎!");
|
comment.setCommentContent("欢迎,欢迎!");
|
||||||
comment.setCommentStatus(0);
|
comment.setCommentStatus(0);
|
||||||
comment.setCommentAgent("Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.162 Safari/537.36");
|
comment.setCommentAgent("Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.162 Safari/537.36");
|
||||||
|
@ -177,7 +178,7 @@ public class InstallController {
|
||||||
LogsRecord.INSTALL,
|
LogsRecord.INSTALL,
|
||||||
"安装成功,欢迎使用Halo。",
|
"安装成功,欢迎使用Halo。",
|
||||||
HaloUtils.getIpAddr(request),
|
HaloUtils.getIpAddr(request),
|
||||||
new Date()
|
DateUtil.date()
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
|
@ -9,6 +9,7 @@ import cc.ryanc.halo.service.MailService;
|
||||||
import cc.ryanc.halo.service.PostService;
|
import cc.ryanc.halo.service.PostService;
|
||||||
import cc.ryanc.halo.service.UserService;
|
import cc.ryanc.halo.service.UserService;
|
||||||
import cc.ryanc.halo.utils.HaloUtils;
|
import cc.ryanc.halo.utils.HaloUtils;
|
||||||
|
import cn.hutool.core.date.DateUtil;
|
||||||
import cn.hutool.core.util.URLUtil;
|
import cn.hutool.core.util.URLUtil;
|
||||||
import cn.hutool.http.HtmlUtil;
|
import cn.hutool.http.HtmlUtil;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
@ -101,7 +102,7 @@ public class FrontCommentController {
|
||||||
post = postService.findByPostId(post.getPostId()).get();
|
post = postService.findByPostId(post.getPostId()).get();
|
||||||
comment.setCommentAuthorEmail(HtmlUtil.encode(comment.getCommentAuthorEmail()).toLowerCase());
|
comment.setCommentAuthorEmail(HtmlUtil.encode(comment.getCommentAuthorEmail()).toLowerCase());
|
||||||
comment.setPost(post);
|
comment.setPost(post);
|
||||||
comment.setCommentDate(new Date());
|
comment.setCommentDate(DateUtil.date());
|
||||||
comment.setCommentAuthorIp(HaloUtils.getIpAddr(request));
|
comment.setCommentAuthorIp(HaloUtils.getIpAddr(request));
|
||||||
comment.setIsAdmin(0);
|
comment.setIsAdmin(0);
|
||||||
comment.setCommentAuthor(HtmlUtil.encode(comment.getCommentAuthor()));
|
comment.setCommentAuthor(HtmlUtil.encode(comment.getCommentAuthor()));
|
||||||
|
|
|
@ -231,12 +231,9 @@
|
||||||
'postThumbnail': $('#selectImg')[0].src
|
'postThumbnail': $('#selectImg')[0].src
|
||||||
},
|
},
|
||||||
success: function (data) {
|
success: function (data) {
|
||||||
|
if(data.code==1){
|
||||||
$.toast({
|
$.toast({
|
||||||
<#if post??>
|
text: data.msg,
|
||||||
text: "更新成功!",
|
|
||||||
<#else>
|
|
||||||
text: "发表成功!",
|
|
||||||
</#if>
|
|
||||||
heading: '提示',
|
heading: '提示',
|
||||||
icon: 'success',
|
icon: 'success',
|
||||||
showHideTransition: 'fade',
|
showHideTransition: 'fade',
|
||||||
|
@ -251,6 +248,21 @@
|
||||||
window.location.href="/admin/page";
|
window.location.href="/admin/page";
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
}else{
|
||||||
|
$.toast({
|
||||||
|
text: data.msg,
|
||||||
|
heading: '提示',
|
||||||
|
icon: 'error',
|
||||||
|
showHideTransition: 'fade',
|
||||||
|
allowToastClose: true,
|
||||||
|
hideAfter: 1000,
|
||||||
|
stack: 1,
|
||||||
|
position: 'top-center',
|
||||||
|
textAlign: 'left',
|
||||||
|
loader: true,
|
||||||
|
loaderBg: '#ffffff'
|
||||||
|
});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
|
@ -95,13 +95,14 @@
|
||||||
<#switch post.postStatus>
|
<#switch post.postStatus>
|
||||||
<#case 0>
|
<#case 0>
|
||||||
<a href="/archives/${post.postUrl}" class="btn btn-primary btn-xs " target="_blank">查看</a>
|
<a href="/archives/${post.postUrl}" class="btn btn-primary btn-xs " target="_blank">查看</a>
|
||||||
<a href="/admin/posts/edit?postId=${post.postId?c}" class="btn btn-info btn-xs ">修改</a>
|
<a href="/admin/posts/edit?postId=${post.postId?c}" class="btn btn-info btn-xs ">编辑</a>
|
||||||
<button class="btn btn-danger btn-xs " onclick="modelShow('/admin/posts/throw?postId=${post.postId?c}','确定移到回收站?')">丢弃</button>
|
<button class="btn btn-danger btn-xs " onclick="modelShow('/admin/posts/throw?postId=${post.postId?c}','确定移到回收站?')">丢弃</button>
|
||||||
<#break >
|
<#break >
|
||||||
<#case 1>
|
<#case 1>
|
||||||
<a href="/admin/posts/view?postId=${post.postId?c}" class="btn btn-primary btn-xs " target="_blank">预览</a>
|
<a href="/admin/posts/edit?postId=${post.postId?c}"
|
||||||
<a href="/admin/posts/edit?postId=${post.postId?c}" class="btn btn-info btn-xs ">修改</a>
|
class="btn btn-info btn-xs ">编辑</a>
|
||||||
<button class="btn btn-danger btn-xs " onclick="modelShow('/admin/posts/revert?postId=${post.postId?c}&status=1','确定发布该文章?')">发布</button>
|
<button class="btn btn-primary btn-xs " onclick="modelShow('/admin/posts/revert?postId=${post.postId?c}&status=1','确定发布该文章?')">发布</button>
|
||||||
|
<button class="btn btn-danger btn-xs " onclick="modelShow('/admin/posts/throw?postId=${post.postId?c}','确定移到回收站?')">丢弃</button>
|
||||||
<#break >
|
<#break >
|
||||||
<#case 2>
|
<#case 2>
|
||||||
<a href="/admin/posts/revert?postId=${post.postId?c}&status=2" class="btn btn-primary btn-xs ">还原</a>
|
<a href="/admin/posts/revert?postId=${post.postId?c}&status=2" class="btn btn-primary btn-xs ">还原</a>
|
||||||
|
|
|
@ -323,12 +323,9 @@
|
||||||
'tagList' : $('#tagList').tagEditor('getTags')[0].tags.toString()
|
'tagList' : $('#tagList').tagEditor('getTags')[0].tags.toString()
|
||||||
},
|
},
|
||||||
success: function (data) {
|
success: function (data) {
|
||||||
|
if(data.code==1){
|
||||||
$.toast({
|
$.toast({
|
||||||
<#if post??>
|
text: data.msg,
|
||||||
text: "更新成功!",
|
|
||||||
<#else>
|
|
||||||
text: "发表成功!",
|
|
||||||
</#if>
|
|
||||||
heading: '提示',
|
heading: '提示',
|
||||||
icon: 'success',
|
icon: 'success',
|
||||||
showHideTransition: 'fade',
|
showHideTransition: 'fade',
|
||||||
|
@ -343,6 +340,21 @@
|
||||||
window.location.href="/admin/posts";
|
window.location.href="/admin/posts";
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
}else{
|
||||||
|
$.toast({
|
||||||
|
text: data.msg,
|
||||||
|
heading: '提示',
|
||||||
|
icon: 'error',
|
||||||
|
showHideTransition: 'fade',
|
||||||
|
allowToastClose: true,
|
||||||
|
hideAfter: 1000,
|
||||||
|
stack: 1,
|
||||||
|
position: 'top-center',
|
||||||
|
textAlign: 'left',
|
||||||
|
loader: true,
|
||||||
|
loaderBg: '#ffffff'
|
||||||
|
});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue