mirror of https://github.com/halo-dev/halo
🎨 代码优化
parent
d7bd677da1
commit
26f11092a8
|
@ -6,6 +6,7 @@ import javax.persistence.Entity;
|
|||
import javax.persistence.GeneratedValue;
|
||||
import javax.persistence.Id;
|
||||
import javax.persistence.Table;
|
||||
import javax.validation.constraints.NotEmpty;
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
|
@ -33,11 +34,13 @@ public class Link implements Serializable {
|
|||
/**
|
||||
* 友情链接名称
|
||||
*/
|
||||
@NotEmpty(message = "友情链接名称不能为空!")
|
||||
private String linkName;
|
||||
|
||||
/**
|
||||
* 友情链接地址
|
||||
*/
|
||||
@NotEmpty(message = "友情链接地址不能为空!")
|
||||
private String linkUrl;
|
||||
|
||||
/**
|
||||
|
|
|
@ -4,6 +4,7 @@ import com.fasterxml.jackson.annotation.JsonIgnore;
|
|||
import lombok.Data;
|
||||
|
||||
import javax.persistence.*;
|
||||
import javax.validation.constraints.NotEmpty;
|
||||
import java.io.Serializable;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
@ -33,11 +34,13 @@ public class Tag implements Serializable {
|
|||
/**
|
||||
* 标签名称
|
||||
*/
|
||||
@NotEmpty(message = "标签名称不能为空!")
|
||||
private String tagName;
|
||||
|
||||
/**
|
||||
* 标签路径
|
||||
*/
|
||||
@NotEmpty(message = "标签路径不能为空!")
|
||||
private String tagUrl;
|
||||
|
||||
@ManyToMany(mappedBy = "tags")
|
||||
|
|
|
@ -9,8 +9,11 @@ import lombok.extern.slf4j.Slf4j;
|
|||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.ui.Model;
|
||||
import org.springframework.validation.BindingResult;
|
||||
import org.springframework.validation.ObjectError;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.validation.Valid;
|
||||
import java.util.Optional;
|
||||
|
||||
/**
|
||||
|
@ -46,38 +49,39 @@ public class CategoryController {
|
|||
* 新增/修改分类目录
|
||||
*
|
||||
* @param category category对象
|
||||
* @return 重定向到/admin/category
|
||||
*/
|
||||
@PostMapping(value = "/save")
|
||||
public String saveCategory(@ModelAttribute Category category) {
|
||||
try {
|
||||
categoryService.save(category);
|
||||
} catch (Exception e) {
|
||||
log.error("Modify category failed: {}", e.getMessage());
|
||||
}
|
||||
return "redirect:/admin/category";
|
||||
}
|
||||
|
||||
/**
|
||||
* 验证分类目录路径是否已经存在
|
||||
*
|
||||
* @param cateUrl 分类路径
|
||||
* @return JsonResult
|
||||
*/
|
||||
@GetMapping(value = "/checkUrl")
|
||||
@PostMapping(value = "/save")
|
||||
@ResponseBody
|
||||
public JsonResult checkCateUrlExists(@RequestParam("cateUrl") String cateUrl) {
|
||||
Category category = categoryService.findByCateUrl(cateUrl);
|
||||
if (null != category) {
|
||||
return new JsonResult(ResultCodeEnum.FAIL.getCode(), localeMessageUtil.getMessage("code.admin.common.url-is-exists"));
|
||||
public JsonResult saveCategory(@Valid Category category, BindingResult result) {
|
||||
if (result.hasErrors()) {
|
||||
for (ObjectError error : result.getAllErrors()) {
|
||||
return new JsonResult(ResultCodeEnum.FAIL.getCode(), error.getDefaultMessage());
|
||||
}
|
||||
}
|
||||
return new JsonResult(ResultCodeEnum.SUCCESS.getCode(), "");
|
||||
final Category tempCategory = categoryService.findByCateUrl(category.getCateUrl());
|
||||
if (null != category.getCateId()) {
|
||||
if (null != tempCategory && !category.getCateId().equals(tempCategory.getCateId())) {
|
||||
return new JsonResult(ResultCodeEnum.FAIL.getCode(), localeMessageUtil.getMessage("code.admin.common.url-is-exists"));
|
||||
}
|
||||
} else {
|
||||
if (null != tempCategory) {
|
||||
return new JsonResult(ResultCodeEnum.FAIL.getCode(), localeMessageUtil.getMessage("code.admin.common.url-is-exists"));
|
||||
}
|
||||
}
|
||||
category = categoryService.save(category);
|
||||
if (null == category) {
|
||||
return new JsonResult(ResultCodeEnum.FAIL.getCode(), localeMessageUtil.getMessage("code.admin.common.save-failed"));
|
||||
}
|
||||
return new JsonResult(ResultCodeEnum.SUCCESS.getCode(), localeMessageUtil.getMessage("code.admin.common.save-success"));
|
||||
}
|
||||
|
||||
/**
|
||||
* 处理删除分类目录的请求
|
||||
*
|
||||
* @param cateId cateId
|
||||
*
|
||||
* @return 重定向到/admin/category
|
||||
*/
|
||||
@GetMapping(value = "/remove")
|
||||
|
@ -95,12 +99,13 @@ public class CategoryController {
|
|||
*
|
||||
* @param cateId cateId
|
||||
* @param model model
|
||||
*
|
||||
* @return 模板路径admin/admin_category
|
||||
*/
|
||||
@GetMapping(value = "/edit")
|
||||
public String toEditCategory(Model model, @RequestParam("cateId") Long cateId) {
|
||||
Optional<Category> category = categoryService.findByCateId(cateId);
|
||||
model.addAttribute("updateCategory", category.get());
|
||||
model.addAttribute("updateCategory", category.orElse(new Category()));
|
||||
return "admin/admin_category";
|
||||
}
|
||||
}
|
||||
|
|
|
@ -29,11 +29,14 @@ import org.springframework.data.domain.Pageable;
|
|||
import org.springframework.data.domain.Sort;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.ui.Model;
|
||||
import org.springframework.validation.BindingResult;
|
||||
import org.springframework.validation.ObjectError;
|
||||
import org.springframework.web.bind.ServletRequestDataBinder;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpSession;
|
||||
import javax.validation.Valid;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
@ -69,6 +72,7 @@ public class PageController {
|
|||
* 页面管理页面
|
||||
*
|
||||
* @param model model
|
||||
*
|
||||
* @return 模板路径admin/admin_page
|
||||
*/
|
||||
@GetMapping
|
||||
|
@ -93,12 +97,13 @@ public class PageController {
|
|||
*
|
||||
* @param model model
|
||||
* @param linkId linkId 友情链接编号
|
||||
*
|
||||
* @return String 模板路径admin/admin_page_link
|
||||
*/
|
||||
@GetMapping(value = "/links/edit")
|
||||
public String toEditLink(Model model, @RequestParam("linkId") Long linkId) {
|
||||
Optional<Link> link = linkService.findByLinkId(linkId);
|
||||
model.addAttribute("updateLink", link.get());
|
||||
model.addAttribute("updateLink", link.orElse(new Link()));
|
||||
return "admin/admin_page_link";
|
||||
}
|
||||
|
||||
|
@ -106,22 +111,29 @@ public class PageController {
|
|||
* 处理添加/修改友链的请求并渲染页面
|
||||
*
|
||||
* @param link Link实体
|
||||
* @return 重定向到/admin/page/links
|
||||
*
|
||||
* @return JsonResult
|
||||
*/
|
||||
@PostMapping(value = "/links/save")
|
||||
public String saveLink(@ModelAttribute Link link) {
|
||||
try {
|
||||
linkService.save(link);
|
||||
} catch (Exception e) {
|
||||
log.error("Save/modify friendship link failed: {}", e.getMessage());
|
||||
@ResponseBody
|
||||
public JsonResult saveLink(@Valid Link link, BindingResult result) {
|
||||
if (result.hasErrors()) {
|
||||
for (ObjectError error : result.getAllErrors()) {
|
||||
return new JsonResult(ResultCodeEnum.FAIL.getCode(), error.getDefaultMessage());
|
||||
}
|
||||
}
|
||||
return "redirect:/admin/page/links";
|
||||
link = linkService.save(link);
|
||||
if (null == link) {
|
||||
return new JsonResult(ResultCodeEnum.FAIL.getCode(), localeMessageUtil.getMessage("code.admin.common.save-failed"));
|
||||
}
|
||||
return new JsonResult(ResultCodeEnum.SUCCESS.getCode(), localeMessageUtil.getMessage("code.admin.common.save-success"));
|
||||
}
|
||||
|
||||
/**
|
||||
* 处理删除友情链接的请求并重定向
|
||||
*
|
||||
* @param linkId 友情链接编号
|
||||
*
|
||||
* @return 重定向到/admin/page/links
|
||||
*/
|
||||
@GetMapping(value = "/links/remove")
|
||||
|
@ -140,6 +152,7 @@ public class PageController {
|
|||
* @param model model
|
||||
* @param page 当前页码
|
||||
* @param size 每页显示的条数
|
||||
*
|
||||
* @return 模板路径admin/admin_page_gallery
|
||||
*/
|
||||
@GetMapping(value = "/galleries")
|
||||
|
@ -157,6 +170,7 @@ public class PageController {
|
|||
* 保存图片
|
||||
*
|
||||
* @param gallery gallery
|
||||
*
|
||||
* @return 重定向到/admin/page/gallery
|
||||
*/
|
||||
@PostMapping(value = "/gallery/save")
|
||||
|
@ -177,6 +191,7 @@ public class PageController {
|
|||
*
|
||||
* @param model model
|
||||
* @param galleryId 图片编号
|
||||
*
|
||||
* @return 模板路径admin/widget/_gallery-detail
|
||||
*/
|
||||
@GetMapping(value = "/gallery")
|
||||
|
@ -190,6 +205,7 @@ public class PageController {
|
|||
* 删除图库中的图片
|
||||
*
|
||||
* @param galleryId 图片编号
|
||||
*
|
||||
* @return JsonResult
|
||||
*/
|
||||
@GetMapping(value = "/gallery/remove")
|
||||
|
@ -208,6 +224,7 @@ public class PageController {
|
|||
* 跳转到新建页面
|
||||
*
|
||||
* @param model model
|
||||
*
|
||||
* @return 模板路径admin/admin_page_md_editor
|
||||
*/
|
||||
@GetMapping(value = "/new")
|
||||
|
@ -262,6 +279,7 @@ public class PageController {
|
|||
*
|
||||
* @param pageId 页面编号
|
||||
* @param model model
|
||||
*
|
||||
* @return admin/admin_page_md_editor
|
||||
*/
|
||||
@GetMapping(value = "/edit")
|
||||
|
@ -277,6 +295,7 @@ public class PageController {
|
|||
* 检查该路径是否已经存在
|
||||
*
|
||||
* @param postUrl postUrl
|
||||
*
|
||||
* @return JsonResult
|
||||
*/
|
||||
@GetMapping(value = "/checkUrl")
|
||||
|
|
|
@ -9,8 +9,12 @@ import lombok.extern.slf4j.Slf4j;
|
|||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.ui.Model;
|
||||
import org.springframework.validation.BindingResult;
|
||||
import org.springframework.validation.ObjectError;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.validation.Valid;
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* 后台标签管理控制器
|
||||
|
@ -44,38 +48,39 @@ public class TagController {
|
|||
* 新增/修改标签
|
||||
*
|
||||
* @param tag tag
|
||||
* @return 重定向到/admin/tag
|
||||
*
|
||||
* @return JsonResult
|
||||
*/
|
||||
@PostMapping(value = "/save")
|
||||
public String saveTag(@ModelAttribute Tag tag) {
|
||||
try {
|
||||
tagService.save(tag);
|
||||
} catch (Exception e) {
|
||||
log.error("Add/modify tag failed: {}", e.getMessage());
|
||||
}
|
||||
return "redirect:/admin/tag";
|
||||
}
|
||||
|
||||
/**
|
||||
* 验证是否存在该路径
|
||||
*
|
||||
* @param tagUrl 标签路径名
|
||||
* @return true:不存在,false:已存在
|
||||
*/
|
||||
@GetMapping(value = "/checkUrl")
|
||||
@ResponseBody
|
||||
public JsonResult checkTagUrlExists(@RequestParam("tagUrl") String tagUrl) {
|
||||
Tag tag = tagService.findByTagUrl(tagUrl);
|
||||
if (null != tag) {
|
||||
return new JsonResult(ResultCodeEnum.FAIL.getCode(), localeMessageUtil.getMessage("code.admin.common.url-is-exists"));
|
||||
public JsonResult saveTag(@Valid Tag tag, BindingResult result) {
|
||||
if (result.hasErrors()) {
|
||||
for (ObjectError error : result.getAllErrors()) {
|
||||
return new JsonResult(ResultCodeEnum.FAIL.getCode(), error.getDefaultMessage());
|
||||
}
|
||||
}
|
||||
return new JsonResult(ResultCodeEnum.SUCCESS.getCode(), "");
|
||||
final Tag tempTag = tagService.findByTagUrl(tag.getTagUrl());
|
||||
if (null != tag.getTagId()) {
|
||||
if (null != tempTag && !tag.getTagId().equals(tempTag.getTagId())) {
|
||||
return new JsonResult(ResultCodeEnum.FAIL.getCode(), localeMessageUtil.getMessage("code.admin.common.url-is-exists"));
|
||||
}
|
||||
} else {
|
||||
if (null != tempTag) {
|
||||
return new JsonResult(ResultCodeEnum.FAIL.getCode(), localeMessageUtil.getMessage("code.admin.common.url-is-exists"));
|
||||
}
|
||||
}
|
||||
tag = tagService.save(tag);
|
||||
if (null == tag) {
|
||||
return new JsonResult(ResultCodeEnum.FAIL.getCode(), localeMessageUtil.getMessage("code.admin.common.save-failed"));
|
||||
}
|
||||
return new JsonResult(ResultCodeEnum.SUCCESS.getCode(), localeMessageUtil.getMessage("code.admin.common.save-success"));
|
||||
}
|
||||
|
||||
/**
|
||||
* 处理删除标签的请求
|
||||
*
|
||||
* @param tagId 标签编号
|
||||
*
|
||||
* @return 重定向到/admin/tag
|
||||
*/
|
||||
@GetMapping(value = "/remove")
|
||||
|
@ -93,11 +98,12 @@ public class TagController {
|
|||
*
|
||||
* @param model model
|
||||
* @param tagId 标签编号
|
||||
*
|
||||
* @return 模板路径admin/admin_tag
|
||||
*/
|
||||
@GetMapping(value = "/edit")
|
||||
public String toEditTag(Model model, @RequestParam("tagId") Long tagId) {
|
||||
Tag tag = tagService.findByTagId(tagId).get();
|
||||
final Tag tag = tagService.findByTagId(tagId).orElse(new Tag());
|
||||
model.addAttribute("updateTag", tag);
|
||||
return "admin/admin_tag";
|
||||
}
|
||||
|
|
|
@ -1,13 +1,13 @@
|
|||
var halo = new $.halo();
|
||||
$(document).ready(function () {
|
||||
$("#login-name").val(localStorage.getItem("loginName"));
|
||||
$("#loginName").val(localStorage.getItem("loginName"));
|
||||
});
|
||||
|
||||
function btn_login() {
|
||||
var btnLogin = $('#btn-login');
|
||||
function doLogin() {
|
||||
var btnLogin = $('#btnLogin');
|
||||
var loginBody = $('.login-body');
|
||||
var name = $("#login-name");
|
||||
var pwd = $("#login-pwd");
|
||||
var name = $("#loginName");
|
||||
var pwd = $("#loginPwd");
|
||||
btnLogin.button('loading');
|
||||
if (name.val() === "" || pwd.val() === "") {
|
||||
halo.showMsg("请输入完整信息!", 'info', 2000);
|
||||
|
@ -46,6 +46,6 @@ function btn_login() {
|
|||
|
||||
$(document).keydown(function (event) {
|
||||
if (event.keyCode === 13) {
|
||||
btn_login();
|
||||
doLogin();
|
||||
}
|
||||
});
|
||||
|
|
|
@ -1 +1 @@
|
|||
var halo=new $.halo();$(document).ready(function(){$("#login-name").val(localStorage.getItem("loginName"));});function btn_login(){var btnLogin=$("#btn-login");var loginBody=$(".login-body");var name=$("#login-name");var pwd=$("#login-pwd");btnLogin.button("loading");if(name.val()===""||pwd.val()===""){halo.showMsg("请输入完整信息!","info",2000);btnLogin.button("reset");}else{$.post("/admin/getLogin",{loginName:name.val(),loginPwd:pwd.val()},function(data){localStorage.setItem("loginName",name.val());if(data.code===1){halo.showMsgAndRedirect(data.msg,"success",1000,"/admin","false");}else{loginBody.addClass("animate shake");$.toast({text:data.msg,heading:heading,icon:"error",showHideTransition:"fade",allowToastClose:true,hideAfter:2000,stack:1,position:"top-center",textAlign:"left",loader:true,loaderBg:"#ffffff",afterHidden:function(){loginBody.removeClass("animate shake");}});btnLogin.button("reset");}},"JSON");}}$(document).keydown(function(event){if(event.keyCode===13){btn_login();}});
|
||||
var halo=new $.halo();$(document).ready(function(){$("#loginName").val(localStorage.getItem("loginName"));});function doLogin(){var btnLogin=$("#btnLogin");var loginBody=$(".login-body");var name=$("#loginName");var pwd=$("#loginPwd");btnLogin.button("loading");if(name.val()===""||pwd.val()===""){halo.showMsg("请输入完整信息!","info",2000);btnLogin.button("reset");}else{$.post("/admin/getLogin",{loginName:name.val(),loginPwd:pwd.val()},function(data){localStorage.setItem("loginName",name.val());if(data.code===1){halo.showMsgAndRedirect(data.msg,"success",1000,"/admin","false");}else{loginBody.addClass("animate shake");$.toast({text:data.msg,heading:heading,icon:"error",showHideTransition:"fade",allowToastClose:true,hideAfter:2000,stack:1,position:"top-center",textAlign:"left",loader:true,loaderBg:"#ffffff",afterHidden:function(){loginBody.removeClass("animate shake");}});btnLogin.button("reset");}},"JSON");}}$(document).keydown(function(event){if(event.keyCode===13){doLogin();}});
|
|
@ -24,7 +24,7 @@
|
|||
<div class="box-header with-border">
|
||||
<h3 class="box-title"><@spring.message code='admin.categories.text.edit-category' /> <#if updateCategory??>[${updateCategory.cateName}]</#if></h3>
|
||||
</div>
|
||||
<form action="/admin/category/save" method="post" role="form" id="cateAddForm">
|
||||
<form role="form" id="cateSaveForm">
|
||||
<input type="hidden" name="cateId" value="${updateCategory.cateId?c}">
|
||||
<div class="box-body">
|
||||
<div class="form-group">
|
||||
|
@ -44,7 +44,7 @@
|
|||
</div>
|
||||
</div>
|
||||
<div class="box-footer">
|
||||
<button type="submit" class="btn btn-primary btn-sm "><@spring.message code='common.btn.define-edit' /></button>
|
||||
<button type="button" class="btn btn-primary btn-sm" onclick="save()"><@spring.message code='common.btn.define-edit' /></button>
|
||||
<a data-pjax="true" href="/admin/category" class="btn btn-info btn-sm "><@spring.message code='common.btn.back-to-add' /></a>
|
||||
</div>
|
||||
</form>
|
||||
|
@ -52,16 +52,16 @@
|
|||
<div class="box-header with-border">
|
||||
<h3 class="box-title"><@spring.message code='admin.categories.text.add-category' /></h3>
|
||||
</div>
|
||||
<form action="/admin/category/save" method="post" role="form" id="cateAddForm" onsubmit="return checkCate()">
|
||||
<form role="form" id="cateSaveForm">
|
||||
<div class="box-body">
|
||||
<div class="form-group">
|
||||
<label for="cateName"><@spring.message code='admin.categories.form.cate-name' /></label>
|
||||
<input type="text" class="form-control" id="cateName" name="cateName" placeholder="">
|
||||
<input type="text" class="form-control" id="cateName" name="cateName">
|
||||
<small><@spring.message code='admin.categories.form.cate-name-tips' /></small>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="cateUrl"><@spring.message code='admin.categories.form.cate-url' /></label>
|
||||
<input type="text" class="form-control" id="cateUrl" name="cateUrl" placeholder="">
|
||||
<input type="text" class="form-control" id="cateUrl" name="cateUrl">
|
||||
<small><@spring.message code='admin.categories.form.cate-url-tips' /></small>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
|
@ -71,7 +71,7 @@
|
|||
</div>
|
||||
</div>
|
||||
<div class="box-footer">
|
||||
<button type="submit" class="btn btn-primary btn-sm "><@spring.message code='common.btn.define-add' /></button>
|
||||
<button type="button" class="btn btn-primary btn-sm" onclick="save()"><@spring.message code='common.btn.define-add' /></button>
|
||||
</div>
|
||||
</form>
|
||||
</#if>
|
||||
|
@ -155,22 +155,15 @@
|
|||
window.location.href = url;
|
||||
</#if>
|
||||
}
|
||||
function checkCate() {
|
||||
var name = $('#cateName').val();
|
||||
var url = $('#cateUrl').val();
|
||||
var desc = $('#cateDesc').val();
|
||||
var result = true;
|
||||
if(name===""||url===""||desc===""){
|
||||
halo.showMsg("<@spring.message code='common.js.info-no-complete' />",'info',2000);
|
||||
result = false;
|
||||
}
|
||||
$.get('/admin/category/checkUrl',{'cateUrl' : url},function(data) {
|
||||
if(data.code === 0){
|
||||
function save() {
|
||||
var param = $("#cateSaveForm").serialize();
|
||||
$.post('/admin/category/save',param,function (data) {
|
||||
if (data.code === 1) {
|
||||
halo.showMsgAndRedirect(data.msg,'success',1000,'/admin/category',"${options.admin_pjax!'true'}");
|
||||
} else {
|
||||
halo.showMsg(data.msg,'error',2000);
|
||||
result = false;
|
||||
}
|
||||
},'JSON');
|
||||
return result;
|
||||
}
|
||||
</script>
|
||||
</@footer>
|
||||
|
|
|
@ -11,22 +11,22 @@
|
|||
<link rel="stylesheet" href="/static/halo-backend/plugins/toast/css/jquery.toast.min.css">
|
||||
<link rel="stylesheet" href="/static/halo-backend/css/style.min.css">
|
||||
<style>
|
||||
body{background-color:#f5f5f5}*{outline:0}label{color:#4b1c0f}.login-form{max-width:380px;margin-top:10%}.login-logo{font-size:56px;text-align:center;margin-bottom:25px;font-weight:500;color:#444;text-shadow:#b2baba .1em .1em .2em}.login-body{padding:20px;background-color:#fff;-o-box-shadow:-4px 7px 46px 2px rgba(0,0,0,.1);box-shadow:-4px 7px 46px 2px rgba(0,0,0,.1)}.login-button{background-color:#fff;border-radius:0;border:1px solid #000;transition:all .5s ease-in-out}.login-button:hover{border:1px solid #fff;background-color:#000;color:#fff}.form-group{padding-bottom:25px}#login-name,#login-pwd{border-radius:0}.control{padding-bottom:5px}
|
||||
body{background-color:#f5f5f5}*{outline:0}label{color:#4b1c0f}.loginForm{max-width:380px;margin-top:10%}.loginLogo{font-size:56px;text-align:center;margin-bottom:25px;font-weight:500;color:#444;text-shadow:#b2baba .1em .1em .2em}.loginBody{padding:20px;background-color:#fff;-o-box-shadow:-4px 7px 46px 2px rgba(0,0,0,.1);box-shadow:-4px 7px 46px 2px rgba(0,0,0,.1)}.login-button{background-color:#fff;border-radius:0;border:1px solid #000;transition:all .5s ease-in-out}.login-button:hover{border:1px solid #fff;background-color:#000;color:#fff}.form-group{padding-bottom:25px}#loginName,#loginPwd{border-radius:0}.control{padding-bottom:5px}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class="container login-form">
|
||||
<div class="container loginForm">
|
||||
<#-- 虽然Halo使用了宽松的GPL协议,但开发不易,希望您可以保留一下版权声明。笔芯~ -->
|
||||
<div class="login-logo animated fadeInUp">
|
||||
<div class="loginLogo animated fadeInUp">
|
||||
Halo
|
||||
</div>
|
||||
<div class="login-body animated">
|
||||
<div class="loginBody animated">
|
||||
<form>
|
||||
<div class="form-group animated fadeInUp" style="animation-delay: 0.1s">
|
||||
<input type="text" class="form-control" name="loginName" id="login-name" placeholder="<@spring.message code='login.form.loginName' />" autocomplete="username">
|
||||
<input type="text" class="form-control" name="loginName" id="loginName" placeholder="<@spring.message code='login.form.loginName' />" autocomplete="username">
|
||||
</div>
|
||||
<div class="form-group animated fadeInUp" style="animation-delay: 0.2s">
|
||||
<input type="password" class="form-control" name="loginPwd" id="login-pwd" placeholder="<@spring.message code='login.form.loginPwd' />" autocomplete="current-password">
|
||||
<input type="password" class="form-control" name="loginPwd" id="loginPwd" placeholder="<@spring.message code='login.form.loginPwd' />" autocomplete="current-password">
|
||||
</div>
|
||||
<#--<div class="row control animated fadeInUp" style="animation-delay: 0.3s">-->
|
||||
<#--<div class="col-xs-6">-->
|
||||
|
@ -36,7 +36,7 @@
|
|||
<#--<a href="#" style="color: #000;">忘记密码?</a>-->
|
||||
<#--</div>-->
|
||||
<#--</div>-->
|
||||
<button type="button" id="btn-login" data-loading-text="<@spring.message code='login.btn.logining' />" class="btn btn-block login-button animated fadeInUp" onclick="btn_login()" style="animation-delay: 0.4s;outline: none;"><@spring.message code='login.btn.login' /></button>
|
||||
<button type="button" id="btnLogin" data-loading-text="<@spring.message code='login.btn.logining' />" class="btn btn-block login-button animated fadeInUp" onclick="doLogin()" style="animation-delay: 0.4s;outline: none;"><@spring.message code='login.btn.login' /></button>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -16,62 +16,62 @@
|
|||
<div class="box box-primary">
|
||||
<#if updateLink??>
|
||||
<div class="box-header with-border"><h3 class="box-title"><@spring.message code='admin.pages.links.text.edit-link' /></h3></div>
|
||||
<form action="/admin/page/links/save" method="post" role="form" onsubmit="return isNull()">
|
||||
<form role="form" id="linkSaveForm">
|
||||
<input type="hidden" name="linkId" value="${updateLink.linkId?c}">
|
||||
<div class="box-body">
|
||||
<div class="form-group">
|
||||
<label for="linkName"><@spring.message code='admin.pages.links.form.link-name' /></label>
|
||||
<input type="text" class="form-control" id="linkName" name="linkName" value="${updateLink.linkName}">
|
||||
<input type="text" class="form-control" id="linkName" name="linkName" value="${updateLink.linkName!}">
|
||||
<small><@spring.message code='admin.pages.links.form.link-name-tips' /></small>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="linkUrl"><@spring.message code='admin.pages.links.form.link-url' /></label>
|
||||
<input type="url" class="form-control" id="linkUrl" name="linkUrl" value="${updateLink.linkUrl}">
|
||||
<input type="url" class="form-control" id="linkUrl" name="linkUrl" value="${updateLink.linkUrl!}">
|
||||
<small><@spring.message code='admin.pages.links.form.link-url-tips' /></small>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="linkPic">LOGO</label>
|
||||
<input type="text" class="form-control" id="linkPic" name="linkPic" value="${updateLink.linkPic}">
|
||||
<input type="text" class="form-control" id="linkPic" name="linkPic" value="${updateLink.linkPic!}">
|
||||
<small><@spring.message code='admin.pages.links.form.link-pic-tips' /></small>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="linkDesc"><@spring.message code='admin.pages.links.form.link-desc' /></label>
|
||||
<textarea class="form-control" rows="3" id="linkDesc" name="linkDesc" style="resize: none">${updateLink.linkDesc}</textarea>
|
||||
<textarea class="form-control" rows="3" id="linkDesc" name="linkDesc" style="resize: none">${updateLink.linkDesc!}</textarea>
|
||||
<small><@spring.message code='admin.pages.links.form.link-desc-tips' /></small>
|
||||
</div>
|
||||
</div>
|
||||
<div class="box-footer">
|
||||
<button type="submit" class="btn btn-primary btn-sm "><@spring.message code='common.btn.define-edit' /></button>
|
||||
<a data-pjax="true" href="/admin/page/links" class="btn btn-info btn-sm "><@spring.message code='common.btn.back-to-add' /></a>
|
||||
<button type="button" class="btn btn-primary btn-sm" onclick="save()"><@spring.message code='common.btn.define-edit' /></button>
|
||||
<a data-pjax="true" href="/admin/page/links" class="btn btn-info btn-sm"><@spring.message code='common.btn.back-to-add' /></a>
|
||||
</div>
|
||||
</form>
|
||||
<#else>
|
||||
<div class="box-header with-border"><h3 class="box-title"><@spring.message code='admin.pages.links.text.add-link' /></h3></div>
|
||||
<form action="/admin/page/links/save" method="post" role="form" onsubmit="return isNull()">
|
||||
<form role="form" id="linkSaveForm">
|
||||
<div class="box-body">
|
||||
<div class="form-group">
|
||||
<label for="exampleInputEmail1"><@spring.message code='admin.pages.links.form.link-name' /></label>
|
||||
<label for="linkName"><@spring.message code='admin.pages.links.form.link-name' /></label>
|
||||
<input type="text" class="form-control" id="linkName" name="linkName" >
|
||||
<small><@spring.message code='admin.pages.links.form.link-name-tips' /></small>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="exampleInputPassword1"><@spring.message code='admin.pages.links.form.link-url' /></label>
|
||||
<label for="linkUrl"><@spring.message code='admin.pages.links.form.link-url' /></label>
|
||||
<input type="text" class="form-control" id="linkUrl" name="linkUrl" >
|
||||
<small><@spring.message code='admin.pages.links.form.link-url-tips' /></small>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="exampleInputPassword1">LOGO</label>
|
||||
<label for="linkPic">LOGO</label>
|
||||
<input type="text" class="form-control" id="linkPic" name="linkPic" >
|
||||
<small><@spring.message code='admin.pages.links.form.link-pic-tips' /></small>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="exampleInputPassword1"><@spring.message code='admin.pages.links.form.link-desc' /></label>
|
||||
<label for="linkDesc"><@spring.message code='admin.pages.links.form.link-desc' /></label>
|
||||
<textarea class="form-control" rows="3" id="linkDesc" name="linkDesc" style="resize: none"></textarea>
|
||||
<small><@spring.message code='admin.pages.links.form.link-desc-tips' /></small>
|
||||
</div>
|
||||
</div>
|
||||
<div class="box-footer">
|
||||
<button type="submit" class="btn btn-primary btn-sm "><@spring.message code='common.btn.define-add' /></button>
|
||||
<button type="button" class="btn btn-primary btn-sm" onclick="save()"><@spring.message code='common.btn.define-add' /></button>
|
||||
</div>
|
||||
</form>
|
||||
</#if>
|
||||
|
@ -147,13 +147,15 @@
|
|||
window.location.href = url;
|
||||
</#if>
|
||||
}
|
||||
function isNull() {
|
||||
var name = $('#linkName').val();
|
||||
var url = $('#linkUrl').val();
|
||||
if(name===""||url===""){
|
||||
halo.showMsg("<@spring.message code='common.js.info-no-complete' />",'info',2000);
|
||||
return false;
|
||||
}
|
||||
function save() {
|
||||
var param = $("#linkSaveForm").serialize();
|
||||
$.post("/admin/page/links/save",param,function (data) {
|
||||
if (data.code === 1) {
|
||||
halo.showMsgAndRedirect(data.msg,'success',1000,'/admin/page/links',"${options.admin_pjax!'true'}");
|
||||
} else {
|
||||
halo.showMsg(data.msg,'error',2000);
|
||||
}
|
||||
})
|
||||
}
|
||||
</script>
|
||||
</@footer>
|
||||
|
|
|
@ -27,23 +27,23 @@
|
|||
<div class="box-header with-border">
|
||||
<h3 class="box-title"><@spring.message code='admin.tags.text.edit-tag' /><#if updateTag??>[${updateTag.tagName}]</#if></h3>
|
||||
</div>
|
||||
<form action="/admin/tag/save" method="post" role="form">
|
||||
<form role="form" id="tagSaveForm">
|
||||
<input type="hidden" name="tagId" value="${updateTag.tagId?c}">
|
||||
<div class="box-body">
|
||||
<div class="form-group">
|
||||
<label for="tagName"><@spring.message code='admin.tags.form.tag-name' /></label>
|
||||
<input type="text" class="form-control" id="tagName" name="tagName" value="${updateTag.tagName}">
|
||||
<input type="text" class="form-control" id="tagName" name="tagName" value="${updateTag.tagName!}">
|
||||
<small><@spring.message code='admin.tags.form.tag-name-tips' /></small>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="tagUrl"><@spring.message code='admin.tags.form.tag-url' /></label>
|
||||
<input type="text" class="form-control" id="tagUrl" name="tagUrl" value="${updateTag.tagUrl}">
|
||||
<input type="text" class="form-control" id="tagUrl" name="tagUrl" value="${updateTag.tagUrl!}">
|
||||
<small><@spring.message code='admin.tags.form.tag-url-tips' /></small>
|
||||
</div>
|
||||
</div>
|
||||
<div class="box-footer">
|
||||
<button type="submit" class="btn btn-primary btn-sm "><@spring.message code='common.btn.define-edit' /></button>
|
||||
<a data-pjax="true" href="/admin/tag" class="btn btn-info btn-sm "><@spring.message code='common.btn.back-to-add' /></a>
|
||||
<button type="button" class="btn btn-primary btn-sm" onclick="save()"><@spring.message code='common.btn.define-edit' /></button>
|
||||
<a data-pjax="true" href="/admin/tag" class="btn btn-info btn-sm"><@spring.message code='common.btn.back-to-add' /></a>
|
||||
<#if updateTag.posts?size = 0>
|
||||
<a data-pjax="true" href="/admin/tag/remove?tagId=${updateTag.tagId?c}" class="btn btn-danger btn-sm pull-right"><@spring.message code='common.btn.delete' /></a>
|
||||
</#if>
|
||||
|
@ -53,7 +53,7 @@
|
|||
<div class="box-header with-border">
|
||||
<h3 class="box-title"><@spring.message code='admin.tags.text.add-tag' /></h3>
|
||||
</div>
|
||||
<form action="/admin/tag/save" method="post" role="form" onsubmit="return checkTag()">
|
||||
<form role="form" id="tagSaveForm">
|
||||
<div class="box-body">
|
||||
<div class="form-group">
|
||||
<label for="tagName"><@spring.message code='admin.tags.form.tag-name' /></label>
|
||||
|
@ -67,7 +67,7 @@
|
|||
</div>
|
||||
</div>
|
||||
<div class="box-footer">
|
||||
<button type="submit" class="btn btn-primary btn-sm "><@spring.message code='common.btn.define-add' /></button>
|
||||
<button type="button" class="btn btn-primary btn-sm" onclick="save()"><@spring.message code='common.btn.define-add' /></button>
|
||||
</div>
|
||||
</form>
|
||||
</#if>
|
||||
|
@ -132,21 +132,15 @@
|
|||
window.location.href = url;
|
||||
</#if>
|
||||
}
|
||||
function checkTag() {
|
||||
var name = $('#tagName').val();
|
||||
var url = $('#tagUrl').val();
|
||||
var result = true;
|
||||
if(name===""||url===""){
|
||||
halo.showMsg("<@spring.message code='common.js.info-no-complete' />",'info',2000);
|
||||
result = false;
|
||||
}
|
||||
$.get('/admin/tag/checkUrl',{'tagUrl' : url},function(data) {
|
||||
if(data.code === 0){
|
||||
function save() {
|
||||
var param = $("#tagSaveForm").serialize();
|
||||
$.post("/admin/tag/save",param,function (data) {
|
||||
if (data.code === 1) {
|
||||
halo.showMsgAndRedirect(data.msg,'success',1000,'/admin/tag',"${options.admin_pjax!'true'}");
|
||||
} else {
|
||||
halo.showMsg(data.msg,'error',2000);
|
||||
result = false;
|
||||
}
|
||||
},'JSON');
|
||||
return result;
|
||||
})
|
||||
}
|
||||
</script>
|
||||
</@footer>
|
||||
|
|
Loading…
Reference in New Issue