fixed: 路由重写

This commit is contained in:
冼子明 2025-03-30 14:47:32 +08:00
parent 1f47feb8ba
commit 002ce9d0af
51 changed files with 326 additions and 254 deletions

View File

@ -1,14 +1,18 @@
package vip.fuck.sm.plugins.cms.config;
import cn.hutool.extra.template.engine.enjoy.EnjoyEngine;
import com.jfinal.plugin.activerecord.ActiveRecordPlugin;
import com.jfinal.plugin.activerecord.DbKit;
import com.jfinal.plugin.activerecord.solon.annotation.Db;
import com.jfinal.template.ext.spring.JFinalView;
import com.zaxxer.hikari.HikariDataSource;
import org.noear.solon.Solon;
import org.noear.solon.annotation.Bean;
import org.noear.solon.annotation.Configuration;
import org.noear.solon.annotation.Inject;
import org.noear.solon.view.enjoy.EnjoyRender;
import vip.fuck.sm.plugins.cms.entity._MappingKit;
import vip.fuck.sm.plugins.cms.util.JFinal;
import javax.sql.DataSource;
@ -29,7 +33,13 @@ public class Configxv {
//启用开发或调试模式可以打印sql
if (Solon.cfg().isDebugMode() || Solon.cfg().isFilesMode()) {
arp.setDevMode(true);
arp.setShowSql(true);
}
}
@Bean
public void putbase(@Inject EnjoyRender enjoyRender){
enjoyRender.putVariable("base", JFinal.getContextPath());
}
}

View File

@ -31,7 +31,7 @@ import java.util.HashMap;
*
*/
@Controller
@Mapping("/admin/admin")
@Mapping("/cms/admin/admin")
public class AdminController extends BaseController {
/**

View File

@ -232,6 +232,18 @@ public class BaseController {
return null;
}
protected String fixedSubfix(String view){
if(view!=null){
view = view
.replaceAll("\\.html\\.shtm$",CommonAttribute.VIEW_EXTENSION)
.replaceAll("\\.html$",CommonAttribute.VIEW_EXTENSION);
if(!view.endsWith(CommonAttribute.VIEW_EXTENSION)){
view+=CommonAttribute.VIEW_EXTENSION;
}
}
return view;
}
/**
* 获取页面
*
@ -239,12 +251,13 @@ public class BaseController {
*/
// @NotAction
public ModelAndView getView(String view){
view = fixedSubfix(view);
Site currSite = getCurrentSite();
if (ObjectUtil.isEmpty(currSite)) {
Site currentSite = new Site().dao().findById(1);
getSession().sessionSet(Site.ADMIN_SESSION_SITE, currentSite);
}
return new ModelAndView(CommonAttribute.ADMIN_PATH+view+CommonAttribute.VIEW_EXTENSION);
return new ModelAndView(CommonAttribute.ADMIN_PATH+view);
}
public void render(String view){

View File

@ -21,7 +21,7 @@ import java.util.HashMap;
*
*/
@Controller
@Mapping("/admin/cache")
@Mapping("/cms/admin/cache")
public class CacheController extends BaseController {
@Inject

View File

@ -31,7 +31,7 @@ import java.util.*;
*
*/
@Controller
@Mapping("/admin/category")
@Mapping("/cms/admin/category")
public class CategoryController extends BaseController {
/**

View File

@ -23,7 +23,7 @@ import java.util.HashMap;
*
*/
@Controller
@Mapping("/admin/company")
@Mapping("/cms/admin/company")
public class CompanyController extends BaseController {
/**

View File

@ -26,7 +26,7 @@ import java.util.*;
*
*/
@Controller
@Mapping("/admin/content")
@Mapping("/cms/admin/content")
public class ContentController extends BaseController {
/**

View File

@ -18,7 +18,7 @@ import java.util.List;
*
*/
@Controller
@Mapping("/admin/database")
@Mapping("/cms/admin/database")
public class DatabaseController extends BaseController {
/**

View File

@ -20,7 +20,7 @@ import java.util.HashMap;
*
*/
@Controller
@Mapping("/admin/div")
@Mapping("/cms/admin/div")
public class DivController extends BaseController {
/**

View File

@ -26,7 +26,7 @@ import java.util.List;
*
*/
@Controller
@Mapping("/admin/div_data")
@Mapping("/cms/admin/div_data")
public class DivDataController extends BaseController {
/**

View File

@ -13,7 +13,7 @@ import vip.fuck.sm.plugins.cms.CommonAttribute;
*
*/
@Controller
@Mapping("/admin/error")
@Mapping("/cms/admin/error")
public class ErrorController extends BaseController {
/**

View File

@ -33,7 +33,7 @@ import java.util.UUID;
*
*/
@Controller
@Mapping("/admin/file")
@Mapping("/cms/admin/file")
public class FileController extends BaseController {
/**

View File

@ -21,7 +21,7 @@ import java.util.HashMap;
*
*/
@Controller
@Mapping("/admin/friend_link")
@Mapping("/cms/admin/friend_link")
public class FriendLinkController extends BaseController {
/**

View File

@ -20,7 +20,7 @@ import java.util.HashMap;
*
*/
@Controller
@Mapping("/admin/guestbook")
@Mapping("/cms/admin/guestbook")
public class GuestbookController extends BaseController {
/**

View File

@ -28,7 +28,7 @@ import java.util.*;
*
*/
@Controller
@Mapping("/admin/html")
@Mapping("/cms/admin/html")
public class HtmlController extends BaseController {
/**

View File

@ -6,10 +6,12 @@
package vip.fuck.sm.plugins.cms.controller.admin;
import cn.hutool.core.util.ObjectUtil;
import com.jfinal.plugin.activerecord.Db;
import com.jfinal.plugin.activerecord.Record;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang.BooleanUtils;
import org.apache.commons.lang.ObjectUtils;
import org.apache.commons.lang.StringUtils;
import org.apache.commons.lang.time.DateFormatUtils;
import org.apache.commons.lang.time.DateUtils;
@ -27,7 +29,7 @@ import java.util.Date;
*
*
*/
@Mapping("/admin/index")
@Mapping("/cms/admin/index")
@Controller
public class IndexController extends BaseController {
@ -41,8 +43,8 @@ public class IndexController extends BaseController {
Integer siteId = getParaToInt("siteId");
if(siteId == null){
Admin currentAdmin = getCurrentAdmin();
if(BooleanUtils.isFalse(currentAdmin.getRole().getIsSystem())
&& CollectionUtils.isEmpty(currentAdmin.getRole().getSiteIds())){
if(ObjectUtil.isEmpty(currentAdmin) || ObjectUtil.isEmpty(currentAdmin.getRole()) || BooleanUtils.isFalse(currentAdmin.getRole().getIsSystem())
|| CollectionUtils.isEmpty(currentAdmin.getRole().getSiteIds())){
renderHtml("<script>alert('用户没有授权站点');history.back();</script>");
return;
}

View File

@ -37,7 +37,7 @@ import java.util.Set;
*
*/
@Controller
@Mapping("/admin/login")
@Mapping("/cms/admin/login")
public class LoginController extends BaseController {
/**

View File

@ -14,7 +14,7 @@ import vip.fuck.sm.plugins.cms.entity.Site;
*
*/
@Controller
@Mapping("/admin/logout")
@Mapping("/cms/admin/logout")
public class LogoutController extends BaseController{
/**

View File

@ -20,7 +20,7 @@ import java.util.List;
*
*/
@Controller
@Mapping("/admin/menu")
@Mapping("/cms/admin/menu")
public class MenuController extends BaseController{
/**

View File

@ -24,7 +24,7 @@ import java.util.HashMap;
*
*
*/
@Mapping("/admin/model")
@Mapping("/cms/admin/model")
@Controller
public class ModelController extends BaseController {

View File

@ -25,7 +25,7 @@ import java.util.List;
*
*
*/
@Mapping("/admin/nav")
@Mapping("/cms/admin/nav")
@Controller
public class NavController extends BaseController {

View File

@ -20,7 +20,7 @@ import java.util.HashMap;
*
*/
@Controller
@Mapping("/admin/profile")
@Mapping("/cms/admin/profile")
public class ProfileController extends BaseController {

View File

@ -23,7 +23,7 @@ import java.util.HashMap;
*
*/
@Controller
@Mapping("/admin/role")
@Mapping("/cms/admin/role")
public class RoleController extends BaseController {
/**

View File

@ -28,7 +28,7 @@ import java.util.Set;
*
*
*/
@Mapping("/admin/setup")
@Mapping("/cms/admin/setup")
@Controller
public class SetupController extends BaseController {

View File

@ -24,7 +24,7 @@ import java.util.HashMap;
*
*/
@Controller
@Mapping("/admin/site")
@Mapping("/cms/admin/site")
public class SiteController extends BaseController {
/**

View File

@ -21,7 +21,7 @@ import java.util.HashMap;
*
*/
@Controller
@Mapping("/admin/slide")
@Mapping("/cms/admin/slide")
public class SlideController extends BaseController {
/**

View File

@ -19,7 +19,7 @@ import java.util.HashMap;
*
*/
@Controller
@Mapping("/admin/tag")
@Mapping("/cms/admin/tag")
public class TagController extends BaseController {
/**

View File

@ -24,7 +24,7 @@ import java.io.IOException;
*
*
*/
@Mapping("/admin/template")
@Mapping("/cms/admin/template")
@Controller
public class TemplateController extends BaseController {

View File

@ -23,7 +23,7 @@ import java.util.HashMap;
*
*/
@Controller
@Mapping("/admin/web")
@Mapping("/cms/admin/web")
public class WebController extends BaseController {
/**

View File

@ -19,7 +19,7 @@ import java.util.*;
*
*/
@Controller
@Mapping("/admin/wechat_menu")
@Mapping("/cms/admin/wechat_menu")
public class WechatMenuController extends BaseController {
/**

View File

@ -26,7 +26,7 @@ import java.util.List;
*
*/
@Controller
@Mapping("/admin/div/div_field")
@Mapping("/cms/admin/div/div_field")
public class DivFieldController extends BaseController {
/**

View File

@ -25,7 +25,7 @@ import java.util.List;
*
*
*/
@Mapping("/admin/model/model_field")
@Mapping("/cms/admin/model/model_field")
@Controller
public class ModelFieldController extends BaseController {

View File

@ -5,7 +5,7 @@ import org.noear.solon.annotation.Mapping;
import vip.fuck.sm.plugins.cms.controller.admin.BaseController;
@Controller
@Mapping("/common/captcha")
@Mapping("/cms/common/captcha")
public class CaptchaController extends BaseController {
@Mapping("image")

View File

@ -10,7 +10,7 @@ import vip.fuck.sm.plugins.cms.controller.admin.BaseController;
import java.io.File;
@Controller
@Mapping("/common/down")
@Mapping("/cms/common/down")
public class DownController extends BaseController {
@Mapping("file")

View File

@ -42,6 +42,7 @@ public class BaseController extends vip.fuck.sm.plugins.cms.controller.admin.Ba
}
public ModelAndView getView(String view){
view = fixedSubfix(view);
Site currSite = getCurrentSite();
if (ObjectUtil.isEmpty(currSite)) {
Site currentSite = new Site().dao().findById(1);
@ -55,12 +56,12 @@ public class BaseController extends vip.fuck.sm.plugins.cms.controller.admin.Ba
if(ObjectUtil.isEmpty(mobileTemplate)){
currSite.setMobileTemplate("");
}
ModelAndView modelAndView = new ModelAndView(CommonAttribute.FRONT_PATH + view + CommonAttribute.VIEW_EXTENSION);
ModelAndView modelAndView = new ModelAndView(CommonAttribute.FRONT_PATH + view );
modelAndView.put("base", JFinal.getContextPath());
modelAndView.put("currentSite",currSite);
modelAndView.put("currentCategory", JSONUtil.createObj());
modelAndView.put(Web.CURRENT_WEB, new Web().dao().findBySiteId(currSite.getId()));
modelAndView.put(Company.CURRENT_COMPANY, new Company().dao().findBySiteId(currSite.getId()));
// System.out.println("goto_page:"+modelAndView.view());
return modelAndView;
}

View File

@ -3,6 +3,7 @@ package vip.fuck.sm.plugins.cms.controller.front;
import org.noear.solon.annotation.Controller;
import org.noear.solon.annotation.Mapping;
import org.noear.solon.core.handle.ModelAndView;
import vip.fuck.sm.plugins.cms.entity.Category;
import vip.fuck.sm.plugins.cms.entity.Model;
@ -32,9 +33,9 @@ public class CategoryController extends BaseController {
setAttr("pageNumber", pageNumber);
Model model = category.getModel();
if(model.getType() == Model.Type.PAGE.ordinal()){
render("/templates/"+getCurrentTemplate()+"/"+category.getDetailTemplate());
render(getView("/templates/"+getCurrentTemplate()+"/"+category.getDetailTemplate()));
}else{
render("/templates/"+getCurrentTemplate()+"/"+category.getListTemplate());
render(getView("/templates/"+getCurrentTemplate()+"/"+category.getListTemplate()));
}
}
}

View File

@ -32,7 +32,7 @@ public class ContentController extends BaseController {
setAttr("currentContent", content);
Category category = content.getCategory();
setAttr("currentCategory", category);
render("/templates/"+getCurrentTemplate()+"/"+category.getDetailTemplate());
render( getView("/templates/"+getCurrentTemplate()+"/"+category.getDetailTemplate()));
}
/**

View File

@ -22,10 +22,6 @@ import java.util.HashMap;
@Mapping("/cms/guestbook")
public class GuestbookController extends BaseController {
@Mapping()
public void index() {
render(getView("/templates/"+getCurrentTemplate()+"/guestbook"));
}
/**

View File

@ -14,7 +14,7 @@ import org.noear.solon.core.handle.ModelAndView;
*
*/
@Controller
@Mapping("/cms/")
@Mapping("/cms")
public class IndexController extends BaseController {
/**
@ -25,9 +25,9 @@ public class IndexController extends BaseController {
render(getView("/templates/"+getCurrentTemplate()+"/index"));
}
@Mapping("/{pn}")
public void about(@Path("pn") String pn) {
render(getView("/templates/"+getCurrentTemplate()+"/"+pn));
@Mapping("/")
public void index2() {
this.index();
}

View File

@ -19,7 +19,7 @@ import java.util.Map;
*
*
*/
@Mapping("/xcx/category")
@Mapping("/cms/xcx/category")
public class CategoryController extends BaseController {
/**

View File

@ -18,7 +18,7 @@ import java.util.Map;
*
*
*/
@Mapping("/xcx/content")
@Mapping("/cms/xcx/content")
public class ContentController extends BaseController {
/**

View File

@ -20,7 +20,7 @@ import java.util.Map;
*
*
*/
@Mapping("/xcx")
@Mapping("/cms/xcx")
public class IndexController extends BaseController {
/**

View File

@ -2,37 +2,50 @@ package vip.fuck.sm.plugins.cms.handler;
import com.jfinal.plugin.activerecord.Db;
import org.noear.solon.annotation.Component;
import org.noear.solon.core.handle.Context;
import org.noear.solon.core.handle.Filter;
import org.noear.solon.core.handle.FilterChain;
import org.noear.solon.core.route.PathRule;
import org.smartboot.http.server.HttpRequest;
import org.smartboot.http.server.HttpResponse;
import vip.fuck.sm.plugins.cms.UrlRewriteWrappedRequest;
import vip.fuck.sm.plugins.cms.entity.Company;
import vip.fuck.sm.plugins.cms.entity.Site;
import vip.fuck.sm.plugins.cms.entity.Web;
import vip.fuck.sm.plugins.cms.util.SiteUtils;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import static vip.fuck.sm.plugins.cms.handler.UrlHandler.MAIN_APP_PASS;
import static vip.fuck.sm.plugins.cms.handler.UrlHandler.NORM_PASS;
/**
* 站点控制器
*/
@Component
public class SiteHandler
// extends Handler
implements Filter
{
/** 不包含 */
private List<String> urlExcludes = new ArrayList<String>(){{
add("/category");
add("/content");
add("/div");
add("/guestbook");
add("/search");
}};
static PathRule SITE_URLS = new PathRule().include(
"/cms/category",
"/cms/content",
"/cms/div",
"/cms/guestbook",
"/cms/search"
);
public void handle(String target, HttpRequest request, HttpResponse response, boolean[] isHandled) {
if(target.startsWith("/admin/")){
// next.handle(target, request, response, isHandled);
static PathRule excl_paths = new PathRule().include("/cms/admin**");
@Override
public void doFilter(Context ctx, FilterChain chain) throws Throwable {
String pathNew = ctx.pathNew();
HttpRequest request = (HttpRequest) ctx.request();
String target = pathNew.replaceAll("/+","/");
if(!MAIN_APP_PASS.test(target)){
chain.doFilter(ctx);
return;
}
if(excl_paths.test(pathNew) || NORM_PASS.test(target)){
chain.doFilter(ctx);
return;
}
String domain = SiteUtils.getDomain(request);
@ -42,38 +55,38 @@ public class SiteHandler
if(urls.length<1){
//默认站点
Site site = new Site().dao().findDefault();
wrappedRequest(site, target, request, response, isHandled);
wrappedRequest(site,ctx,chain, target);
return;
}
//无域名带URL目录
String cat = urls[1];
if(!urlExcludes.contains("/"+cat)){
String cat = urls[2];
if(!SITE_URLS.test("/cms/"+cat)){
Site site = new Site().dao().findFirst("select * from cms_site where type=? and cat = ?",Site.Type.CAT.ordinal(),cat);
if(site != null){
target = target.substring(("/"+cat).length());
wrappedRequest(site, target, request, response, isHandled);
target = target.substring(("/cms/"+cat).length());
wrappedRequest(site,ctx,chain, target);
return;
}
}
}else{
//有域名
Site site = new Site().dao().findFirst("select * from cms_site where type=? and domain=?",Site.Type.DOMAIN.ordinal(),domain);
wrappedRequest(site, target, request, response, isHandled);
wrappedRequest(site,ctx,chain, target);
return;
}
//默认站点
Site site = new Site().dao().findDefault();
wrappedRequest(site, target, request, response, isHandled);
wrappedRequest(site, ctx,chain, target);
return;
}
//包装request
public void wrappedRequest(Site site,String target, HttpRequest request, HttpResponse response, boolean[] isHandled){
// request.setAttribute(Site.CURRENT_SITE, site);
// request.setAttribute(Web.CURRENT_WEB, new Web().dao().findBySiteId(site.getId()));
// request.setAttribute(Company.CURRENT_COMPANY, new Company().dao().findBySiteId(site.getId()));
HashMap overridenParameters = new HashMap();
// UrlRewriteWrappedRequest urlRewriteWrappedRequest = new UrlRewriteWrappedRequest(request,overridenParameters);
// next.handle(target, urlRewriteWrappedRequest, response, isHandled);
public void wrappedRequest(Site site,Context ctx,FilterChain chain, String target) throws Throwable {
ctx.attrSet(Site.CURRENT_SITE, site);
ctx.attrSet(Web.CURRENT_WEB, new Web().dao().findBySiteId(site.getId()));
ctx.attrSet(Company.CURRENT_COMPANY, new Company().dao().findBySiteId(site.getId()));
chain.doFilter(ctx);
}
}

View File

@ -3,90 +3,126 @@ package vip.fuck.sm.plugins.cms.handler;
//import com.jfinal.handler.Handler;
import org.apache.commons.lang.StringUtils;
import org.smartboot.http.server.HttpRequest;
import org.smartboot.http.server.HttpResponse;
import org.noear.solon.annotation.Component;
import org.noear.solon.core.handle.Context;
import org.noear.solon.core.handle.Filter;
import org.noear.solon.core.handle.FilterChain;
import org.noear.solon.core.route.PathRule;
import vip.fuck.sm.plugins.cms.Config;
import vip.fuck.sm.plugins.cms.UrlRewriteWrappedRequest;
import vip.fuck.sm.plugins.cms.entity.Category;
import vip.fuck.sm.plugins.cms.entity.Site;
import vip.fuck.sm.plugins.cms.entity.Tag;
import vip.fuck.sm.plugins.cms.util.SystemUtils;
import java.util.HashMap;
/**
* UrlHandler.
*/
public class UrlHandler
// extends Handler
{
@Component()
public class UrlHandler implements Filter {
static PathRule MAIN_APP_PASS = new PathRule().include(
"/cms*",
"/cms",
"/cms/**"
);
static PathRule NORM_PASS = new PathRule().include(
"/index/404",
"/index/403",
"/index/500",
"/static**",
"/cms/static**",
"/cms/templates/*/static**",
"/**.ico");
static PathRule PASS_URLS = new PathRule()
.include(
"/cms/admin/**",
"/cms/category/**",
"/cms/content/**",
"/cms/div/**",
"/cms/guestbook/**",
"/cms/search/**",
"/cms/ajax/**",
"/cms/page/**"
);
static PathRule TAG_URLS = new PathRule()
.include("/cms/tag/**" );
static PathRule CATE_URLS = new PathRule()
.include("/cms/*","/cms/*/**" );
@Override
public void doFilter(Context ctx, FilterChain chain) throws Throwable {
String target = ctx.pathNew();
target = target.replaceAll("/$","");
if(!MAIN_APP_PASS.test(target)){
chain.doFilter(ctx);
return;
}
if(PASS_URLS.test(target) || NORM_PASS.test(target)){
chain.doFilter(ctx);
return ;
}
Site currentSite = ctx.attr(Site.CURRENT_SITE);
if(currentSite == null){
currentSite = new Site().findDefault();
ctx.attrSet(Site.CURRENT_SITE,currentSite);
}
Config config = SystemUtils.getConfig();
if(config.getSiteModel()==Config.SiteModel.REWRITE.ordinal()){
target = target
.replace(".html","")
.replace(".shtm","")
;
}else if(config.getSiteModel()==Config.SiteModel.HTML.ordinal()){
if(target.endsWith(".html") || target.endsWith(".shtm") ){
chain.doFilter(ctx);
return;
}
}
String newTarget = "";
//tag start
if(TAG_URLS.test(target)){
String tagCat = target.split("/")[3];
Tag tag = new Tag().dao().findByCat(tagCat);
if(tag!=null){
ctx.paramMap().put("id",tag.getId()+"");
ctx.forward("/cms/tag");
}
return;
}
if(CATE_URLS.test(target)){
//URL目录: /product /product/{id}
String[] urls = target.split("/");
int urlsLength = urls.length;
if(urlsLength==3){
String categoryCat = urls[2];
Category category = new Category().dao().findByCat(categoryCat,currentSite.getId());
if(category!=null){
newTarget = "/cms/category";
ctx.paramMap().put("id",category.getId()+"");
}
}else if(urlsLength==4){
String categoryCat = urls[2];
String contentId = urls[3];
Category category = new Category().dao().findByCat(categoryCat,currentSite.getId());
if(category!=null){
newTarget = "/cms/content";
ctx.paramMap().put("id",contentId+"");
}
}
}
if(StringUtils.isNotBlank(newTarget)){
target = newTarget;
}
ctx.forward(target);
}
// public void handle(String target, HttpRequest request, HttpResponse response, boolean[] isHandled) {
// if ("/".equals(target)
// || target.startsWith("/admin/")
// || target.startsWith("/category/")
// || target.startsWith("/content/")
// || target.startsWith("/div/")
// || target.startsWith("/guestbook/")
// || target.startsWith("/search/")
// || target.startsWith("/ajax/")
// || target.startsWith("/page/")
// ) {
// next.handle(target, request, response, isHandled);
// return;
// }
// Site currentSite = (Site) request.getAttribute(Site.CURRENT_SITE);
// HashMap overridenParameters = new HashMap();
// //模式
// Config config = SystemUtils.getConfig();
// if(config.getSiteModel()== Config.SiteModel.REWRITE.ordinal()){
// target = target.replace(".html","");
// }else if(config.getSiteModel()==Config.SiteModel.HTML.ordinal()){
// if(target.endsWith(".html")){
// next.handle(target, request, response, isHandled);
// return;
// }
// }
// //tag start
// if(target.startsWith("/tag/")){
// String tagCat = target.split("/")[2];
// Tag tag = new Tag().dao().findByCat(tagCat);
// String newTarget = "";
// if(tag!=null){
// newTarget = "/tag";
// overridenParameters.put("id", new String[]{tag.getId()+""});
// }
// if(StringUtils.isNotBlank(newTarget)){
// target = newTarget;
// }
// UrlRewriteWrappedRequest urlRewriteWrappedRequest = new UrlRewriteWrappedRequest(request,overridenParameters);
// next.handle(target, urlRewriteWrappedRequest, response, isHandled);
// return;
// }
// //tag end
// //URL目录: /product /product/{id}
// String[] urls = target.split("/");
// request.setAttribute("target", "/"+urls[1]);
// int urlsLength = urls.length;
// String newTarget = "";
// if(urlsLength==2){
// String categoryCat = urls[1];
// Category category = new Category().dao().findByCat(categoryCat,currentSite.getId());
// if(category!=null){
// newTarget = "/category";
// overridenParameters.put("id", new String[]{category.getId()+""});
// }
// }else if(urlsLength==3){
// String categoryCat = urls[1];
// String contentId = urls[2];
// Category category = new Category().dao().findByCat(categoryCat,currentSite.getId());
// if(category!=null){
// newTarget = "/content";
// overridenParameters.put("id", new String[]{contentId+""});
// }
// }
// if(StringUtils.isNotBlank(newTarget)){
// target = newTarget;
// }
// UrlRewriteWrappedRequest urlRewriteWrappedRequest = new UrlRewriteWrappedRequest(request,overridenParameters);
// next.handle(target, urlRewriteWrappedRequest, response, isHandled);
// }
}

View File

@ -14,92 +14,92 @@ var base = "#(base)";
<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
<![endif]-->
<!-- 页面meta /-->
<link rel="stylesheet" href="#(base)/cms/admin/static/plugins/bootstrap/css/bootstrap.min.css">
<link rel="stylesheet" href="#(base)/cms/admin/static/plugins/font-awesome/css/font-awesome.min.css">
<link rel="stylesheet" href="#(base)/cms/admin/static/plugins/ionicons/css/ionicons.min.css">
<link rel="stylesheet" href="#(base)/cms/admin/static/plugins/iCheck/square/blue.css">
<link rel="stylesheet" href="#(base)/cms/admin/static/plugins/morris/morris.css">
<link rel="stylesheet" href="#(base)/cms/admin/static/plugins/jvectormap/jquery-jvectormap-1.2.2.css">
<link rel="stylesheet" href="#(base)/cms/admin/static/plugins/datepicker/datepicker3.css">
<link rel="stylesheet" href="#(base)/cms/admin/static/plugins/daterangepicker/daterangepicker.css">
<link rel="stylesheet" href="#(base)/cms/admin/static/plugins/bootstrap-wysihtml5/bootstrap3-wysihtml5.min.css">
<link rel="stylesheet" href="#(base)/cms/admin/static/plugins/datatables/dataTables.bootstrap.css">
<link rel="stylesheet" href="#(base)/cms/admin/static/plugins/treeTable/jquery.treetable.css">
<link rel="stylesheet" href="#(base)/cms/admin/static/plugins/treeTable/jquery.treetable.theme.default.css">
<link rel="stylesheet" href="#(base)/cms/admin/static/plugins/select2/select2.css">
<link rel="stylesheet" href="#(base)/cms/admin/static/plugins/colorpicker/bootstrap-colorpicker.min.css">
<link rel="stylesheet" href="#(base)/cms/admin/static/plugins/bootstrap-markdown/css/bootstrap-markdown.min.css">
<link rel="stylesheet" href="#(base)/cms/admin/static/plugins/adminLTE/css/AdminLTE.css">
<link rel="stylesheet" href="#(base)/cms/admin/static/plugins/adminLTE/css/skins/_all-skins.min.css">
<link rel="stylesheet" href="#(base)/cms/admin/static/css/style.css">
<link rel="stylesheet" href="#(base)/cms/admin/static/plugins/ionslider/ion.rangeSlider.css">
<link rel="stylesheet" href="#(base)/cms/admin/static/plugins/ionslider/ion.rangeSlider.skinNice.css">
<link rel="stylesheet" href="#(base)/cms/admin/static/plugins/bootstrap-slider/slider.css">
<link rel="stylesheet" href="#(base)/cms/admin/static/plugins/bootstrap-datetimepicker/bootstrap-datetimepicker.css">
<link rel="stylesheet" href="#(base)/cms/admin/static/plugins/webuploader/webuploader.css" >
<link rel="stylesheet" href="#(base)/cms/admin/static/plugins/viewer/viewer.min.css">
<link rel="stylesheet" href="#(base)/cms/admin/static/plugins/ztree/zTreeStyle.css">
<link rel="stylesheet" href="#(base)/cms/admin/static/plugins/codeMirror/codemirror.css">
<link rel="stylesheet" href="#(base)/cms/admin/static/plugins/switchery/switchery.min.css"/>
<script src="#(base)/cms/admin/static/plugins/jQuery/jquery-2.2.3.min.js"></script>
<script src="#(base)/cms/admin/static/plugins/jQueryUI/jquery-ui.min.js"></script>
<link rel="stylesheet" href="#(base)/admin/static/plugins/bootstrap/css/bootstrap.min.css">
<link rel="stylesheet" href="#(base)/admin/static/plugins/font-awesome/css/font-awesome.min.css">
<link rel="stylesheet" href="#(base)/admin/static/plugins/ionicons/css/ionicons.min.css">
<link rel="stylesheet" href="#(base)/admin/static/plugins/iCheck/square/blue.css">
<link rel="stylesheet" href="#(base)/admin/static/plugins/morris/morris.css">
<link rel="stylesheet" href="#(base)/admin/static/plugins/jvectormap/jquery-jvectormap-1.2.2.css">
<link rel="stylesheet" href="#(base)/admin/static/plugins/datepicker/datepicker3.css">
<link rel="stylesheet" href="#(base)/admin/static/plugins/daterangepicker/daterangepicker.css">
<link rel="stylesheet" href="#(base)/admin/static/plugins/bootstrap-wysihtml5/bootstrap3-wysihtml5.min.css">
<link rel="stylesheet" href="#(base)/admin/static/plugins/datatables/dataTables.bootstrap.css">
<link rel="stylesheet" href="#(base)/admin/static/plugins/treeTable/jquery.treetable.css">
<link rel="stylesheet" href="#(base)/admin/static/plugins/treeTable/jquery.treetable.theme.default.css">
<link rel="stylesheet" href="#(base)/admin/static/plugins/select2/select2.css">
<link rel="stylesheet" href="#(base)/admin/static/plugins/colorpicker/bootstrap-colorpicker.min.css">
<link rel="stylesheet" href="#(base)/admin/static/plugins/bootstrap-markdown/css/bootstrap-markdown.min.css">
<link rel="stylesheet" href="#(base)/admin/static/plugins/adminLTE/css/AdminLTE.css">
<link rel="stylesheet" href="#(base)/admin/static/plugins/adminLTE/css/skins/_all-skins.min.css">
<link rel="stylesheet" href="#(base)/admin/static/css/style.css">
<link rel="stylesheet" href="#(base)/admin/static/plugins/ionslider/ion.rangeSlider.css">
<link rel="stylesheet" href="#(base)/admin/static/plugins/ionslider/ion.rangeSlider.skinNice.css">
<link rel="stylesheet" href="#(base)/admin/static/plugins/bootstrap-slider/slider.css">
<link rel="stylesheet" href="#(base)/admin/static/plugins/bootstrap-datetimepicker/bootstrap-datetimepicker.css">
<link rel="stylesheet" href="#(base)/admin/static/plugins/webuploader/webuploader.css" >
<link rel="stylesheet" href="#(base)/admin/static/plugins/viewer/viewer.min.css">
<link rel="stylesheet" href="#(base)/admin/static/plugins/ztree/zTreeStyle.css">
<link rel="stylesheet" href="#(base)/admin/static/plugins/codeMirror/codemirror.css">
<link rel="stylesheet" href="#(base)/admin/static/plugins/switchery/switchery.min.css"/>
<script src="#(base)/admin/static/plugins/jQuery/jquery-2.2.3.min.js"></script>
<script src="#(base)/admin/static/plugins/jQueryUI/jquery-ui.min.js"></script>
<script>
$.widget.bridge('uibutton', $.ui.button);
</script>
<script src="#(base)/cms/admin/static/plugins/bootstrap/js/bootstrap.min.js"></script>
<script src="#(base)/cms/admin/static/plugins/raphael/raphael-min.js"></script>
<script src="#(base)/cms/admin/static/plugins/morris/morris.min.js"></script>
<script src="#(base)/cms/admin/static/plugins/sparkline/jquery.sparkline.min.js"></script>
<script src="#(base)/cms/admin/static/plugins/jvectormap/jquery-jvectormap-1.2.2.min.js"></script>
<script src="#(base)/cms/admin/static/plugins/jvectormap/jquery-jvectormap-world-mill-en.js"></script>
<script src="#(base)/cms/admin/static/plugins/knob/jquery.knob.js"></script>
<script src="#(base)/cms/admin/static/plugins/daterangepicker/moment.min.js"></script>
<script src="#(base)/cms/admin/static/plugins/daterangepicker/daterangepicker.js"></script>
<script src="#(base)/cms/admin/static/plugins/daterangepicker/daterangepicker.zh-CN.js"></script>
<script src="#(base)/cms/admin/static/plugins/datepicker/bootstrap-datepicker.js"></script>
<script src="#(base)/cms/admin/static/plugins/datepicker/locales/bootstrap-datepicker.zh-CN.js"></script>
<script src="#(base)/cms/admin/static/plugins/bootstrap-wysihtml5/bootstrap3-wysihtml5.all.min.js"></script>
<script src="#(base)/cms/admin/static/plugins/slimScroll/jquery.slimscroll.min.js"></script>
<script src="#(base)/cms/admin/static/plugins/fastclick/fastclick.js"></script>
<script src="#(base)/cms/admin/static/plugins/iCheck/icheck.min.js"></script>
<script src="#(base)/cms/admin/static/plugins/adminLTE/js/app.min.js"></script>
<script src="#(base)/cms/admin/static/plugins/treeTable/jquery.treetable.js"></script>
<script src="#(base)/cms/admin/static/plugins/select2/select2.full.min.js"></script>
<script src="#(base)/cms/admin/static/plugins/colorpicker/bootstrap-colorpicker.min.js"></script>
<script src="#(base)/cms/admin/static/plugins/bootstrap-wysihtml5/bootstrap-wysihtml5.zh-CN.js"></script>
<script src="#(base)/cms/admin/static/plugins/bootstrap-markdown/js/bootstrap-markdown.js"></script>
<script src="#(base)/cms/admin/static/plugins/bootstrap-markdown/locale/bootstrap-markdown.zh.js"></script>
<script src="#(base)/cms/admin/static/plugins/bootstrap-markdown/js/markdown.js"></script>
<script src="#(base)/cms/admin/static/plugins/bootstrap-markdown/js/to-markdown.js"></script>
<script src="#(base)/cms/admin/static/plugins/ckeditor/ckeditor.js"></script>
<script src="#(base)/cms/admin/static/plugins/input-mask/jquery.inputmask.js"></script>
<script src="#(base)/cms/admin/static/plugins/input-mask/jquery.inputmask.date.extensions.js"></script>
<script src="#(base)/cms/admin/static/plugins/input-mask/jquery.inputmask.extensions.js"></script>
<script src="#(base)/cms/admin/static/plugins/datatables/jquery.dataTables.min.js"></script>
<script src="#(base)/cms/admin/static/plugins/datatables/dataTables.bootstrap.min.js"></script>
<script src="#(base)/cms/admin/static/plugins/chartjs/Chart.min.js"></script>
<script src="#(base)/cms/admin/static/plugins/flot/jquery.flot.min.js"></script>
<script src="#(base)/cms/admin/static/plugins/flot/jquery.flot.resize.min.js"></script>
<script src="#(base)/cms/admin/static/plugins/flot/jquery.flot.pie.min.js"></script>
<script src="#(base)/cms/admin/static/plugins/flot/jquery.flot.categories.min.js"></script>
<script src="#(base)/cms/admin/static/plugins/ionslider/ion.rangeSlider.min.js"></script>
<script src="#(base)/cms/admin/static/plugins/bootstrap-slider/bootstrap-slider.js"></script>
<script src="#(base)/cms/admin/static/plugins/bootstrap-datetimepicker/bootstrap-datetimepicker.js"></script>
<script src="#(base)/cms/admin/static/plugins/bootstrap-datetimepicker/locales/bootstrap-datetimepicker.zh-CN.js"></script>
<script src="#(base)/cms/admin/static/plugins/validate/jquery.validate.js"></script>
<script src="#(base)/cms/admin/static/plugins/webuploader/webuploader.js"></script>
<script src="#(base)/cms/admin/static/plugins/ueditor/ueditor.js"></script>
<script src="#(base)/cms/admin/static/plugins/echarts/echarts.js"></script>
<script src="#(base)/cms/admin/static/plugins/sweetalert/sweetalert.min.js"></script>
<script src="#(base)/cms/admin/static/plugins/viewer/viewer.min.js"></script>
<script src="#(base)/cms/admin/static/plugins/ztree/jquery.ztree.core.js"></script>
<script src="#(base)/cms/admin/static/plugins/codeMirror/codemirror.js"></script>
<script src="#(base)/cms/admin/static/plugins/codeMirror/xml.js"></script>
<script src="#(base)/cms/admin/static/plugins/switchery/switchery.min.js"></script>
<script src="#(base)/cms/admin/static/js/common.js"></script>
<script src="#(base)/cms/admin/static/js/list.js"></script>
<script src="#(base)/cms/admin/static/js/admin.js"></script>
<script src="#(base)/cms/admin/static/js/core.js"></script>
<script src="#(base)/admin/static/plugins/bootstrap/js/bootstrap.min.js"></script>
<script src="#(base)/admin/static/plugins/raphael/raphael-min.js"></script>
<script src="#(base)/admin/static/plugins/morris/morris.min.js"></script>
<script src="#(base)/admin/static/plugins/sparkline/jquery.sparkline.min.js"></script>
<script src="#(base)/admin/static/plugins/jvectormap/jquery-jvectormap-1.2.2.min.js"></script>
<script src="#(base)/admin/static/plugins/jvectormap/jquery-jvectormap-world-mill-en.js"></script>
<script src="#(base)/admin/static/plugins/knob/jquery.knob.js"></script>
<script src="#(base)/admin/static/plugins/daterangepicker/moment.min.js"></script>
<script src="#(base)/admin/static/plugins/daterangepicker/daterangepicker.js"></script>
<script src="#(base)/admin/static/plugins/daterangepicker/daterangepicker.zh-CN.js"></script>
<script src="#(base)/admin/static/plugins/datepicker/bootstrap-datepicker.js"></script>
<script src="#(base)/admin/static/plugins/datepicker/locales/bootstrap-datepicker.zh-CN.js"></script>
<script src="#(base)/admin/static/plugins/bootstrap-wysihtml5/bootstrap3-wysihtml5.all.min.js"></script>
<script src="#(base)/admin/static/plugins/slimScroll/jquery.slimscroll.min.js"></script>
<script src="#(base)/admin/static/plugins/fastclick/fastclick.js"></script>
<script src="#(base)/admin/static/plugins/iCheck/icheck.min.js"></script>
<script src="#(base)/admin/static/plugins/adminLTE/js/app.min.js"></script>
<script src="#(base)/admin/static/plugins/treeTable/jquery.treetable.js"></script>
<script src="#(base)/admin/static/plugins/select2/select2.full.min.js"></script>
<script src="#(base)/admin/static/plugins/colorpicker/bootstrap-colorpicker.min.js"></script>
<script src="#(base)/admin/static/plugins/bootstrap-wysihtml5/bootstrap-wysihtml5.zh-CN.js"></script>
<script src="#(base)/admin/static/plugins/bootstrap-markdown/js/bootstrap-markdown.js"></script>
<script src="#(base)/admin/static/plugins/bootstrap-markdown/locale/bootstrap-markdown.zh.js"></script>
<script src="#(base)/admin/static/plugins/bootstrap-markdown/js/markdown.js"></script>
<script src="#(base)/admin/static/plugins/bootstrap-markdown/js/to-markdown.js"></script>
<script src="#(base)/admin/static/plugins/ckeditor/ckeditor.js"></script>
<script src="#(base)/admin/static/plugins/input-mask/jquery.inputmask.js"></script>
<script src="#(base)/admin/static/plugins/input-mask/jquery.inputmask.date.extensions.js"></script>
<script src="#(base)/admin/static/plugins/input-mask/jquery.inputmask.extensions.js"></script>
<script src="#(base)/admin/static/plugins/datatables/jquery.dataTables.min.js"></script>
<script src="#(base)/admin/static/plugins/datatables/dataTables.bootstrap.min.js"></script>
<script src="#(base)/admin/static/plugins/chartjs/Chart.min.js"></script>
<script src="#(base)/admin/static/plugins/flot/jquery.flot.min.js"></script>
<script src="#(base)/admin/static/plugins/flot/jquery.flot.resize.min.js"></script>
<script src="#(base)/admin/static/plugins/flot/jquery.flot.pie.min.js"></script>
<script src="#(base)/admin/static/plugins/flot/jquery.flot.categories.min.js"></script>
<script src="#(base)/admin/static/plugins/ionslider/ion.rangeSlider.min.js"></script>
<script src="#(base)/admin/static/plugins/bootstrap-slider/bootstrap-slider.js"></script>
<script src="#(base)/admin/static/plugins/bootstrap-datetimepicker/bootstrap-datetimepicker.js"></script>
<script src="#(base)/admin/static/plugins/bootstrap-datetimepicker/locales/bootstrap-datetimepicker.zh-CN.js"></script>
<script src="#(base)/admin/static/plugins/validate/jquery.validate.js"></script>
<script src="#(base)/admin/static/plugins/webuploader/webuploader.js"></script>
<script src="#(base)/admin/static/plugins/ueditor/ueditor.js"></script>
<script src="#(base)/admin/static/plugins/echarts/echarts.js"></script>
<script src="#(base)/admin/static/plugins/sweetalert/sweetalert.min.js"></script>
<script src="#(base)/admin/static/plugins/viewer/viewer.min.js"></script>
<script src="#(base)/admin/static/plugins/ztree/jquery.ztree.core.js"></script>
<script src="#(base)/admin/static/plugins/codeMirror/codemirror.js"></script>
<script src="#(base)/admin/static/plugins/codeMirror/xml.js"></script>
<script src="#(base)/admin/static/plugins/switchery/switchery.min.js"></script>
<script src="#(base)/admin/static/js/common.js"></script>
<script src="#(base)/admin/static/js/list.js"></script>
<script src="#(base)/admin/static/js/admin.js"></script>
<script src="#(base)/admin/static/js/core.js"></script>
<style>
html>body>div.swal-overlay.swal-overlay--show-modal{
display: none !important;

View File

@ -10,11 +10,11 @@
<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script>
<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
<![endif]-->
<link rel="stylesheet" href="#(base)/cms/admin/static/plugins/bootstrap/css/bootstrap.min.css">
<link rel="stylesheet" href="#(base)/cms/admin/static/plugins/font-awesome/css/font-awesome.min.css">
<link rel="stylesheet" href="#(base)/cms/admin/static/plugins/ionicons/css/ionicons.min.css">
<link rel="stylesheet" href="#(base)/cms/admin/static/plugins/adminLTE/css/AdminLTE.css">
<link rel="stylesheet" href="#(base)/cms/admin/static/plugins/iCheck/square/blue.css">
<link rel="stylesheet" href="#(base)/admin/static/plugins/bootstrap/css/bootstrap.min.css">
<link rel="stylesheet" href="#(base)/admin/static/plugins/font-awesome/css/font-awesome.min.css">
<link rel="stylesheet" href="#(base)/admin/static/plugins/ionicons/css/ionicons.min.css">
<link rel="stylesheet" href="#(base)/admin/static/plugins/adminLTE/css/AdminLTE.css">
<link rel="stylesheet" href="#(base)/admin/static/plugins/iCheck/square/blue.css">
<script>if(window.top !== window.self){ window.top.location = window.location;}</script>
<script>if(window.top.location.href.indexOf("#(base)/admin/login")==-1){ window.top.location.href="#(base)/admin/login";}</script>
</head>
@ -47,9 +47,9 @@
<!-- /.login-box-body -->
</div>
<!-- /.login-box -->
<script src="#(base)/cms/admin/static/plugins/jQuery/jquery-2.2.3.min.js"></script>
<script src="#(base)/cms/admin/static/plugins/bootstrap/js/bootstrap.min.js"></script>
<script src="#(base)/cms/admin/static/plugins/sweetalert/sweetalert.min.js"></script>
<script src="#(base)/admin/static/plugins/jQuery/jquery-2.2.3.min.js"></script>
<script src="#(base)/admin/static/plugins/bootstrap/js/bootstrap.min.js"></script>
<script src="#(base)/admin/static/plugins/sweetalert/sweetalert.min.js"></script>
<script>
$(function() {

View File

@ -4,7 +4,7 @@
<!-- 公共页面 -->
#include("/cms/admin/view/include/common.shtm")
<!-- 公共页面 /-->
<link rel="stylesheet" type="text/css" href="#(base)/cms/admin/static/css/wechat.css" />
<link rel="stylesheet" type="text/css" href="#(base)/admin/static/css/wechat.css" />
</head>
<body class="hold-transition skin-purple sidebar-mini">
<div class="wrapper">