mirror of
https://gitee.com/EMF/solon-manager.git
synced 2025-12-06 16:58:28 +08:00
fixed: 路由重写
This commit is contained in:
parent
1f47feb8ba
commit
002ce9d0af
@ -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());
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -31,7 +31,7 @@ import java.util.HashMap;
|
||||
*
|
||||
*/
|
||||
@Controller
|
||||
@Mapping("/admin/admin")
|
||||
@Mapping("/cms/admin/admin")
|
||||
public class AdminController extends BaseController {
|
||||
|
||||
/**
|
||||
|
||||
@ -231,7 +231,19 @@ 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){
|
||||
|
||||
@ -21,7 +21,7 @@ import java.util.HashMap;
|
||||
*
|
||||
*/
|
||||
@Controller
|
||||
@Mapping("/admin/cache")
|
||||
@Mapping("/cms/admin/cache")
|
||||
public class CacheController extends BaseController {
|
||||
|
||||
@Inject
|
||||
|
||||
@ -31,7 +31,7 @@ import java.util.*;
|
||||
*
|
||||
*/
|
||||
@Controller
|
||||
@Mapping("/admin/category")
|
||||
@Mapping("/cms/admin/category")
|
||||
public class CategoryController extends BaseController {
|
||||
|
||||
/**
|
||||
|
||||
@ -23,7 +23,7 @@ import java.util.HashMap;
|
||||
*
|
||||
*/
|
||||
@Controller
|
||||
@Mapping("/admin/company")
|
||||
@Mapping("/cms/admin/company")
|
||||
public class CompanyController extends BaseController {
|
||||
|
||||
/**
|
||||
|
||||
@ -26,7 +26,7 @@ import java.util.*;
|
||||
*
|
||||
*/
|
||||
@Controller
|
||||
@Mapping("/admin/content")
|
||||
@Mapping("/cms/admin/content")
|
||||
public class ContentController extends BaseController {
|
||||
|
||||
/**
|
||||
|
||||
@ -18,7 +18,7 @@ import java.util.List;
|
||||
*
|
||||
*/
|
||||
@Controller
|
||||
@Mapping("/admin/database")
|
||||
@Mapping("/cms/admin/database")
|
||||
public class DatabaseController extends BaseController {
|
||||
|
||||
/**
|
||||
|
||||
@ -20,7 +20,7 @@ import java.util.HashMap;
|
||||
*
|
||||
*/
|
||||
@Controller
|
||||
@Mapping("/admin/div")
|
||||
@Mapping("/cms/admin/div")
|
||||
public class DivController extends BaseController {
|
||||
|
||||
/**
|
||||
|
||||
@ -26,7 +26,7 @@ import java.util.List;
|
||||
*
|
||||
*/
|
||||
@Controller
|
||||
@Mapping("/admin/div_data")
|
||||
@Mapping("/cms/admin/div_data")
|
||||
public class DivDataController extends BaseController {
|
||||
|
||||
/**
|
||||
|
||||
@ -13,7 +13,7 @@ import vip.fuck.sm.plugins.cms.CommonAttribute;
|
||||
*
|
||||
*/
|
||||
@Controller
|
||||
@Mapping("/admin/error")
|
||||
@Mapping("/cms/admin/error")
|
||||
public class ErrorController extends BaseController {
|
||||
|
||||
/**
|
||||
|
||||
@ -33,7 +33,7 @@ import java.util.UUID;
|
||||
*
|
||||
*/
|
||||
@Controller
|
||||
@Mapping("/admin/file")
|
||||
@Mapping("/cms/admin/file")
|
||||
public class FileController extends BaseController {
|
||||
|
||||
/**
|
||||
|
||||
@ -21,7 +21,7 @@ import java.util.HashMap;
|
||||
*
|
||||
*/
|
||||
@Controller
|
||||
@Mapping("/admin/friend_link")
|
||||
@Mapping("/cms/admin/friend_link")
|
||||
public class FriendLinkController extends BaseController {
|
||||
|
||||
/**
|
||||
|
||||
@ -20,7 +20,7 @@ import java.util.HashMap;
|
||||
*
|
||||
*/
|
||||
@Controller
|
||||
@Mapping("/admin/guestbook")
|
||||
@Mapping("/cms/admin/guestbook")
|
||||
public class GuestbookController extends BaseController {
|
||||
|
||||
/**
|
||||
|
||||
@ -28,7 +28,7 @@ import java.util.*;
|
||||
*
|
||||
*/
|
||||
@Controller
|
||||
@Mapping("/admin/html")
|
||||
@Mapping("/cms/admin/html")
|
||||
public class HtmlController extends BaseController {
|
||||
|
||||
/**
|
||||
|
||||
@ -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;
|
||||
}
|
||||
|
||||
@ -37,7 +37,7 @@ import java.util.Set;
|
||||
*
|
||||
*/
|
||||
@Controller
|
||||
@Mapping("/admin/login")
|
||||
@Mapping("/cms/admin/login")
|
||||
public class LoginController extends BaseController {
|
||||
|
||||
/**
|
||||
|
||||
@ -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{
|
||||
|
||||
/**
|
||||
|
||||
@ -20,7 +20,7 @@ import java.util.List;
|
||||
*
|
||||
*/
|
||||
@Controller
|
||||
@Mapping("/admin/menu")
|
||||
@Mapping("/cms/admin/menu")
|
||||
public class MenuController extends BaseController{
|
||||
|
||||
/**
|
||||
|
||||
@ -24,7 +24,7 @@ import java.util.HashMap;
|
||||
*
|
||||
*
|
||||
*/
|
||||
@Mapping("/admin/model")
|
||||
@Mapping("/cms/admin/model")
|
||||
@Controller
|
||||
public class ModelController extends BaseController {
|
||||
|
||||
|
||||
@ -25,7 +25,7 @@ import java.util.List;
|
||||
*
|
||||
*
|
||||
*/
|
||||
@Mapping("/admin/nav")
|
||||
@Mapping("/cms/admin/nav")
|
||||
@Controller
|
||||
public class NavController extends BaseController {
|
||||
|
||||
|
||||
@ -20,7 +20,7 @@ import java.util.HashMap;
|
||||
*
|
||||
*/
|
||||
@Controller
|
||||
@Mapping("/admin/profile")
|
||||
@Mapping("/cms/admin/profile")
|
||||
public class ProfileController extends BaseController {
|
||||
|
||||
|
||||
|
||||
@ -23,7 +23,7 @@ import java.util.HashMap;
|
||||
*
|
||||
*/
|
||||
@Controller
|
||||
@Mapping("/admin/role")
|
||||
@Mapping("/cms/admin/role")
|
||||
public class RoleController extends BaseController {
|
||||
|
||||
/**
|
||||
|
||||
@ -28,7 +28,7 @@ import java.util.Set;
|
||||
*
|
||||
*
|
||||
*/
|
||||
@Mapping("/admin/setup")
|
||||
@Mapping("/cms/admin/setup")
|
||||
@Controller
|
||||
public class SetupController extends BaseController {
|
||||
|
||||
|
||||
@ -24,7 +24,7 @@ import java.util.HashMap;
|
||||
*
|
||||
*/
|
||||
@Controller
|
||||
@Mapping("/admin/site")
|
||||
@Mapping("/cms/admin/site")
|
||||
public class SiteController extends BaseController {
|
||||
|
||||
/**
|
||||
|
||||
@ -21,7 +21,7 @@ import java.util.HashMap;
|
||||
*
|
||||
*/
|
||||
@Controller
|
||||
@Mapping("/admin/slide")
|
||||
@Mapping("/cms/admin/slide")
|
||||
public class SlideController extends BaseController {
|
||||
|
||||
/**
|
||||
|
||||
@ -19,7 +19,7 @@ import java.util.HashMap;
|
||||
*
|
||||
*/
|
||||
@Controller
|
||||
@Mapping("/admin/tag")
|
||||
@Mapping("/cms/admin/tag")
|
||||
public class TagController extends BaseController {
|
||||
|
||||
/**
|
||||
|
||||
@ -24,7 +24,7 @@ import java.io.IOException;
|
||||
*
|
||||
*
|
||||
*/
|
||||
@Mapping("/admin/template")
|
||||
@Mapping("/cms/admin/template")
|
||||
@Controller
|
||||
public class TemplateController extends BaseController {
|
||||
|
||||
|
||||
@ -23,7 +23,7 @@ import java.util.HashMap;
|
||||
*
|
||||
*/
|
||||
@Controller
|
||||
@Mapping("/admin/web")
|
||||
@Mapping("/cms/admin/web")
|
||||
public class WebController extends BaseController {
|
||||
|
||||
/**
|
||||
|
||||
@ -19,7 +19,7 @@ import java.util.*;
|
||||
*
|
||||
*/
|
||||
@Controller
|
||||
@Mapping("/admin/wechat_menu")
|
||||
@Mapping("/cms/admin/wechat_menu")
|
||||
public class WechatMenuController extends BaseController {
|
||||
|
||||
/**
|
||||
|
||||
@ -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 {
|
||||
|
||||
/**
|
||||
|
||||
@ -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 {
|
||||
|
||||
|
||||
@ -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")
|
||||
|
||||
@ -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")
|
||||
|
||||
@ -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;
|
||||
}
|
||||
|
||||
|
||||
@ -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()));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -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()));
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@ -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"));
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
|
||||
@ -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();
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -19,7 +19,7 @@ import java.util.Map;
|
||||
*
|
||||
*
|
||||
*/
|
||||
@Mapping("/xcx/category")
|
||||
@Mapping("/cms/xcx/category")
|
||||
public class CategoryController extends BaseController {
|
||||
|
||||
/**
|
||||
|
||||
@ -18,7 +18,7 @@ import java.util.Map;
|
||||
*
|
||||
*
|
||||
*/
|
||||
@Mapping("/xcx/content")
|
||||
@Mapping("/cms/xcx/content")
|
||||
public class ContentController extends BaseController {
|
||||
|
||||
/**
|
||||
|
||||
@ -20,7 +20,7 @@ import java.util.Map;
|
||||
*
|
||||
*
|
||||
*/
|
||||
@Mapping("/xcx")
|
||||
@Mapping("/cms/xcx")
|
||||
public class IndexController extends BaseController {
|
||||
|
||||
/**
|
||||
|
||||
@ -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");
|
||||
}};
|
||||
|
||||
public void handle(String target, HttpRequest request, HttpResponse response, boolean[] isHandled) {
|
||||
if(target.startsWith("/admin/")){
|
||||
// next.handle(target, request, response, isHandled);
|
||||
static PathRule SITE_URLS = new PathRule().include(
|
||||
"/cms/category",
|
||||
"/cms/content",
|
||||
"/cms/div",
|
||||
"/cms/guestbook",
|
||||
"/cms/search"
|
||||
);
|
||||
|
||||
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);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@ -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
|
||||
{
|
||||
|
||||
// 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);
|
||||
// }
|
||||
@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);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -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;
|
||||
|
||||
@ -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() {
|
||||
|
||||
|
||||
@ -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">
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user