diff --git a/plugins/cms/src/main/java/vip/fuck/sm/plugins/cms/config/Configxv.java b/plugins/cms/src/main/java/vip/fuck/sm/plugins/cms/config/Configxv.java index 553b0e2..a8735c2 100644 --- a/plugins/cms/src/main/java/vip/fuck/sm/plugins/cms/config/Configxv.java +++ b/plugins/cms/src/main/java/vip/fuck/sm/plugins/cms/config/Configxv.java @@ -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()); + } + } diff --git a/plugins/cms/src/main/java/vip/fuck/sm/plugins/cms/controller/admin/AdminController.java b/plugins/cms/src/main/java/vip/fuck/sm/plugins/cms/controller/admin/AdminController.java index 09dde81..d1496dd 100644 --- a/plugins/cms/src/main/java/vip/fuck/sm/plugins/cms/controller/admin/AdminController.java +++ b/plugins/cms/src/main/java/vip/fuck/sm/plugins/cms/controller/admin/AdminController.java @@ -31,7 +31,7 @@ import java.util.HashMap; * */ @Controller -@Mapping("/admin/admin") +@Mapping("/cms/admin/admin") public class AdminController extends BaseController { /** diff --git a/plugins/cms/src/main/java/vip/fuck/sm/plugins/cms/controller/admin/BaseController.java b/plugins/cms/src/main/java/vip/fuck/sm/plugins/cms/controller/admin/BaseController.java index 13411b4..76e49e8 100644 --- a/plugins/cms/src/main/java/vip/fuck/sm/plugins/cms/controller/admin/BaseController.java +++ b/plugins/cms/src/main/java/vip/fuck/sm/plugins/cms/controller/admin/BaseController.java @@ -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){ diff --git a/plugins/cms/src/main/java/vip/fuck/sm/plugins/cms/controller/admin/CacheController.java b/plugins/cms/src/main/java/vip/fuck/sm/plugins/cms/controller/admin/CacheController.java index d310104..7690b2f 100644 --- a/plugins/cms/src/main/java/vip/fuck/sm/plugins/cms/controller/admin/CacheController.java +++ b/plugins/cms/src/main/java/vip/fuck/sm/plugins/cms/controller/admin/CacheController.java @@ -21,7 +21,7 @@ import java.util.HashMap; * */ @Controller -@Mapping("/admin/cache") +@Mapping("/cms/admin/cache") public class CacheController extends BaseController { @Inject diff --git a/plugins/cms/src/main/java/vip/fuck/sm/plugins/cms/controller/admin/CategoryController.java b/plugins/cms/src/main/java/vip/fuck/sm/plugins/cms/controller/admin/CategoryController.java index c4b2d9c..0fc95b3 100644 --- a/plugins/cms/src/main/java/vip/fuck/sm/plugins/cms/controller/admin/CategoryController.java +++ b/plugins/cms/src/main/java/vip/fuck/sm/plugins/cms/controller/admin/CategoryController.java @@ -31,7 +31,7 @@ import java.util.*; * */ @Controller -@Mapping("/admin/category") +@Mapping("/cms/admin/category") public class CategoryController extends BaseController { /** diff --git a/plugins/cms/src/main/java/vip/fuck/sm/plugins/cms/controller/admin/CompanyController.java b/plugins/cms/src/main/java/vip/fuck/sm/plugins/cms/controller/admin/CompanyController.java index 92bf578..471b676 100644 --- a/plugins/cms/src/main/java/vip/fuck/sm/plugins/cms/controller/admin/CompanyController.java +++ b/plugins/cms/src/main/java/vip/fuck/sm/plugins/cms/controller/admin/CompanyController.java @@ -23,7 +23,7 @@ import java.util.HashMap; * */ @Controller -@Mapping("/admin/company") +@Mapping("/cms/admin/company") public class CompanyController extends BaseController { /** diff --git a/plugins/cms/src/main/java/vip/fuck/sm/plugins/cms/controller/admin/ContentController.java b/plugins/cms/src/main/java/vip/fuck/sm/plugins/cms/controller/admin/ContentController.java index 679fdc6..e5acc24 100644 --- a/plugins/cms/src/main/java/vip/fuck/sm/plugins/cms/controller/admin/ContentController.java +++ b/plugins/cms/src/main/java/vip/fuck/sm/plugins/cms/controller/admin/ContentController.java @@ -26,7 +26,7 @@ import java.util.*; * */ @Controller -@Mapping("/admin/content") +@Mapping("/cms/admin/content") public class ContentController extends BaseController { /** diff --git a/plugins/cms/src/main/java/vip/fuck/sm/plugins/cms/controller/admin/DatabaseController.java b/plugins/cms/src/main/java/vip/fuck/sm/plugins/cms/controller/admin/DatabaseController.java index 8d50ed4..c23e259 100644 --- a/plugins/cms/src/main/java/vip/fuck/sm/plugins/cms/controller/admin/DatabaseController.java +++ b/plugins/cms/src/main/java/vip/fuck/sm/plugins/cms/controller/admin/DatabaseController.java @@ -18,7 +18,7 @@ import java.util.List; * */ @Controller -@Mapping("/admin/database") +@Mapping("/cms/admin/database") public class DatabaseController extends BaseController { /** diff --git a/plugins/cms/src/main/java/vip/fuck/sm/plugins/cms/controller/admin/DivController.java b/plugins/cms/src/main/java/vip/fuck/sm/plugins/cms/controller/admin/DivController.java index 29c59c4..5c5de38 100644 --- a/plugins/cms/src/main/java/vip/fuck/sm/plugins/cms/controller/admin/DivController.java +++ b/plugins/cms/src/main/java/vip/fuck/sm/plugins/cms/controller/admin/DivController.java @@ -20,7 +20,7 @@ import java.util.HashMap; * */ @Controller -@Mapping("/admin/div") +@Mapping("/cms/admin/div") public class DivController extends BaseController { /** diff --git a/plugins/cms/src/main/java/vip/fuck/sm/plugins/cms/controller/admin/DivDataController.java b/plugins/cms/src/main/java/vip/fuck/sm/plugins/cms/controller/admin/DivDataController.java index ae1e271..97ca982 100644 --- a/plugins/cms/src/main/java/vip/fuck/sm/plugins/cms/controller/admin/DivDataController.java +++ b/plugins/cms/src/main/java/vip/fuck/sm/plugins/cms/controller/admin/DivDataController.java @@ -26,7 +26,7 @@ import java.util.List; * */ @Controller -@Mapping("/admin/div_data") +@Mapping("/cms/admin/div_data") public class DivDataController extends BaseController { /** diff --git a/plugins/cms/src/main/java/vip/fuck/sm/plugins/cms/controller/admin/ErrorController.java b/plugins/cms/src/main/java/vip/fuck/sm/plugins/cms/controller/admin/ErrorController.java index a4439c9..f410e90 100644 --- a/plugins/cms/src/main/java/vip/fuck/sm/plugins/cms/controller/admin/ErrorController.java +++ b/plugins/cms/src/main/java/vip/fuck/sm/plugins/cms/controller/admin/ErrorController.java @@ -13,7 +13,7 @@ import vip.fuck.sm.plugins.cms.CommonAttribute; * */ @Controller -@Mapping("/admin/error") +@Mapping("/cms/admin/error") public class ErrorController extends BaseController { /** diff --git a/plugins/cms/src/main/java/vip/fuck/sm/plugins/cms/controller/admin/FileController.java b/plugins/cms/src/main/java/vip/fuck/sm/plugins/cms/controller/admin/FileController.java index b152a7a..f32dcdb 100644 --- a/plugins/cms/src/main/java/vip/fuck/sm/plugins/cms/controller/admin/FileController.java +++ b/plugins/cms/src/main/java/vip/fuck/sm/plugins/cms/controller/admin/FileController.java @@ -33,7 +33,7 @@ import java.util.UUID; * */ @Controller -@Mapping("/admin/file") +@Mapping("/cms/admin/file") public class FileController extends BaseController { /** diff --git a/plugins/cms/src/main/java/vip/fuck/sm/plugins/cms/controller/admin/FriendLinkController.java b/plugins/cms/src/main/java/vip/fuck/sm/plugins/cms/controller/admin/FriendLinkController.java index dd10c40..062baae 100644 --- a/plugins/cms/src/main/java/vip/fuck/sm/plugins/cms/controller/admin/FriendLinkController.java +++ b/plugins/cms/src/main/java/vip/fuck/sm/plugins/cms/controller/admin/FriendLinkController.java @@ -21,7 +21,7 @@ import java.util.HashMap; * */ @Controller -@Mapping("/admin/friend_link") +@Mapping("/cms/admin/friend_link") public class FriendLinkController extends BaseController { /** diff --git a/plugins/cms/src/main/java/vip/fuck/sm/plugins/cms/controller/admin/GuestbookController.java b/plugins/cms/src/main/java/vip/fuck/sm/plugins/cms/controller/admin/GuestbookController.java index e073677..eeb4497 100644 --- a/plugins/cms/src/main/java/vip/fuck/sm/plugins/cms/controller/admin/GuestbookController.java +++ b/plugins/cms/src/main/java/vip/fuck/sm/plugins/cms/controller/admin/GuestbookController.java @@ -20,7 +20,7 @@ import java.util.HashMap; * */ @Controller -@Mapping("/admin/guestbook") +@Mapping("/cms/admin/guestbook") public class GuestbookController extends BaseController { /** diff --git a/plugins/cms/src/main/java/vip/fuck/sm/plugins/cms/controller/admin/HtmlController.java b/plugins/cms/src/main/java/vip/fuck/sm/plugins/cms/controller/admin/HtmlController.java index 46f8ab9..8a76bec 100644 --- a/plugins/cms/src/main/java/vip/fuck/sm/plugins/cms/controller/admin/HtmlController.java +++ b/plugins/cms/src/main/java/vip/fuck/sm/plugins/cms/controller/admin/HtmlController.java @@ -28,7 +28,7 @@ import java.util.*; * */ @Controller -@Mapping("/admin/html") +@Mapping("/cms/admin/html") public class HtmlController extends BaseController { /** diff --git a/plugins/cms/src/main/java/vip/fuck/sm/plugins/cms/controller/admin/IndexController.java b/plugins/cms/src/main/java/vip/fuck/sm/plugins/cms/controller/admin/IndexController.java index 68d885c..4f8b78a 100644 --- a/plugins/cms/src/main/java/vip/fuck/sm/plugins/cms/controller/admin/IndexController.java +++ b/plugins/cms/src/main/java/vip/fuck/sm/plugins/cms/controller/admin/IndexController.java @@ -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(""); return; } diff --git a/plugins/cms/src/main/java/vip/fuck/sm/plugins/cms/controller/admin/LoginController.java b/plugins/cms/src/main/java/vip/fuck/sm/plugins/cms/controller/admin/LoginController.java index a21e336..dea7e8a 100644 --- a/plugins/cms/src/main/java/vip/fuck/sm/plugins/cms/controller/admin/LoginController.java +++ b/plugins/cms/src/main/java/vip/fuck/sm/plugins/cms/controller/admin/LoginController.java @@ -37,7 +37,7 @@ import java.util.Set; * */ @Controller -@Mapping("/admin/login") +@Mapping("/cms/admin/login") public class LoginController extends BaseController { /** diff --git a/plugins/cms/src/main/java/vip/fuck/sm/plugins/cms/controller/admin/LogoutController.java b/plugins/cms/src/main/java/vip/fuck/sm/plugins/cms/controller/admin/LogoutController.java index 7981618..845c10b 100644 --- a/plugins/cms/src/main/java/vip/fuck/sm/plugins/cms/controller/admin/LogoutController.java +++ b/plugins/cms/src/main/java/vip/fuck/sm/plugins/cms/controller/admin/LogoutController.java @@ -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{ /** diff --git a/plugins/cms/src/main/java/vip/fuck/sm/plugins/cms/controller/admin/MenuController.java b/plugins/cms/src/main/java/vip/fuck/sm/plugins/cms/controller/admin/MenuController.java index 20220d2..84acd08 100644 --- a/plugins/cms/src/main/java/vip/fuck/sm/plugins/cms/controller/admin/MenuController.java +++ b/plugins/cms/src/main/java/vip/fuck/sm/plugins/cms/controller/admin/MenuController.java @@ -20,7 +20,7 @@ import java.util.List; * */ @Controller -@Mapping("/admin/menu") +@Mapping("/cms/admin/menu") public class MenuController extends BaseController{ /** diff --git a/plugins/cms/src/main/java/vip/fuck/sm/plugins/cms/controller/admin/ModelController.java b/plugins/cms/src/main/java/vip/fuck/sm/plugins/cms/controller/admin/ModelController.java index a3364cf..c45fd80 100644 --- a/plugins/cms/src/main/java/vip/fuck/sm/plugins/cms/controller/admin/ModelController.java +++ b/plugins/cms/src/main/java/vip/fuck/sm/plugins/cms/controller/admin/ModelController.java @@ -24,7 +24,7 @@ import java.util.HashMap; * * */ -@Mapping("/admin/model") +@Mapping("/cms/admin/model") @Controller public class ModelController extends BaseController { diff --git a/plugins/cms/src/main/java/vip/fuck/sm/plugins/cms/controller/admin/NavController.java b/plugins/cms/src/main/java/vip/fuck/sm/plugins/cms/controller/admin/NavController.java index bef6f03..83fe261 100644 --- a/plugins/cms/src/main/java/vip/fuck/sm/plugins/cms/controller/admin/NavController.java +++ b/plugins/cms/src/main/java/vip/fuck/sm/plugins/cms/controller/admin/NavController.java @@ -25,7 +25,7 @@ import java.util.List; * * */ -@Mapping("/admin/nav") +@Mapping("/cms/admin/nav") @Controller public class NavController extends BaseController { diff --git a/plugins/cms/src/main/java/vip/fuck/sm/plugins/cms/controller/admin/ProfileController.java b/plugins/cms/src/main/java/vip/fuck/sm/plugins/cms/controller/admin/ProfileController.java index 19b9415..ade8c4d 100644 --- a/plugins/cms/src/main/java/vip/fuck/sm/plugins/cms/controller/admin/ProfileController.java +++ b/plugins/cms/src/main/java/vip/fuck/sm/plugins/cms/controller/admin/ProfileController.java @@ -20,7 +20,7 @@ import java.util.HashMap; * */ @Controller -@Mapping("/admin/profile") +@Mapping("/cms/admin/profile") public class ProfileController extends BaseController { diff --git a/plugins/cms/src/main/java/vip/fuck/sm/plugins/cms/controller/admin/RoleController.java b/plugins/cms/src/main/java/vip/fuck/sm/plugins/cms/controller/admin/RoleController.java index de11131..799487b 100644 --- a/plugins/cms/src/main/java/vip/fuck/sm/plugins/cms/controller/admin/RoleController.java +++ b/plugins/cms/src/main/java/vip/fuck/sm/plugins/cms/controller/admin/RoleController.java @@ -23,7 +23,7 @@ import java.util.HashMap; * */ @Controller -@Mapping("/admin/role") +@Mapping("/cms/admin/role") public class RoleController extends BaseController { /** diff --git a/plugins/cms/src/main/java/vip/fuck/sm/plugins/cms/controller/admin/SetupController.java b/plugins/cms/src/main/java/vip/fuck/sm/plugins/cms/controller/admin/SetupController.java index 50032ea..33d6bae 100644 --- a/plugins/cms/src/main/java/vip/fuck/sm/plugins/cms/controller/admin/SetupController.java +++ b/plugins/cms/src/main/java/vip/fuck/sm/plugins/cms/controller/admin/SetupController.java @@ -28,7 +28,7 @@ import java.util.Set; * * */ -@Mapping("/admin/setup") +@Mapping("/cms/admin/setup") @Controller public class SetupController extends BaseController { diff --git a/plugins/cms/src/main/java/vip/fuck/sm/plugins/cms/controller/admin/SiteController.java b/plugins/cms/src/main/java/vip/fuck/sm/plugins/cms/controller/admin/SiteController.java index 87834e0..21c48fc 100644 --- a/plugins/cms/src/main/java/vip/fuck/sm/plugins/cms/controller/admin/SiteController.java +++ b/plugins/cms/src/main/java/vip/fuck/sm/plugins/cms/controller/admin/SiteController.java @@ -24,7 +24,7 @@ import java.util.HashMap; * */ @Controller -@Mapping("/admin/site") +@Mapping("/cms/admin/site") public class SiteController extends BaseController { /** diff --git a/plugins/cms/src/main/java/vip/fuck/sm/plugins/cms/controller/admin/SlideController.java b/plugins/cms/src/main/java/vip/fuck/sm/plugins/cms/controller/admin/SlideController.java index 94d2204..e080841 100644 --- a/plugins/cms/src/main/java/vip/fuck/sm/plugins/cms/controller/admin/SlideController.java +++ b/plugins/cms/src/main/java/vip/fuck/sm/plugins/cms/controller/admin/SlideController.java @@ -21,7 +21,7 @@ import java.util.HashMap; * */ @Controller -@Mapping("/admin/slide") +@Mapping("/cms/admin/slide") public class SlideController extends BaseController { /** diff --git a/plugins/cms/src/main/java/vip/fuck/sm/plugins/cms/controller/admin/TagController.java b/plugins/cms/src/main/java/vip/fuck/sm/plugins/cms/controller/admin/TagController.java index c3ab5a2..241409e 100644 --- a/plugins/cms/src/main/java/vip/fuck/sm/plugins/cms/controller/admin/TagController.java +++ b/plugins/cms/src/main/java/vip/fuck/sm/plugins/cms/controller/admin/TagController.java @@ -19,7 +19,7 @@ import java.util.HashMap; * */ @Controller -@Mapping("/admin/tag") +@Mapping("/cms/admin/tag") public class TagController extends BaseController { /** diff --git a/plugins/cms/src/main/java/vip/fuck/sm/plugins/cms/controller/admin/TemplateController.java b/plugins/cms/src/main/java/vip/fuck/sm/plugins/cms/controller/admin/TemplateController.java index e526b94..248544d 100644 --- a/plugins/cms/src/main/java/vip/fuck/sm/plugins/cms/controller/admin/TemplateController.java +++ b/plugins/cms/src/main/java/vip/fuck/sm/plugins/cms/controller/admin/TemplateController.java @@ -24,7 +24,7 @@ import java.io.IOException; * * */ -@Mapping("/admin/template") +@Mapping("/cms/admin/template") @Controller public class TemplateController extends BaseController { diff --git a/plugins/cms/src/main/java/vip/fuck/sm/plugins/cms/controller/admin/WebController.java b/plugins/cms/src/main/java/vip/fuck/sm/plugins/cms/controller/admin/WebController.java index 25ddd96..feb0397 100644 --- a/plugins/cms/src/main/java/vip/fuck/sm/plugins/cms/controller/admin/WebController.java +++ b/plugins/cms/src/main/java/vip/fuck/sm/plugins/cms/controller/admin/WebController.java @@ -23,7 +23,7 @@ import java.util.HashMap; * */ @Controller -@Mapping("/admin/web") +@Mapping("/cms/admin/web") public class WebController extends BaseController { /** diff --git a/plugins/cms/src/main/java/vip/fuck/sm/plugins/cms/controller/admin/WechatMenuController.java b/plugins/cms/src/main/java/vip/fuck/sm/plugins/cms/controller/admin/WechatMenuController.java index abb21f9..9348e92 100644 --- a/plugins/cms/src/main/java/vip/fuck/sm/plugins/cms/controller/admin/WechatMenuController.java +++ b/plugins/cms/src/main/java/vip/fuck/sm/plugins/cms/controller/admin/WechatMenuController.java @@ -19,7 +19,7 @@ import java.util.*; * */ @Controller -@Mapping("/admin/wechat_menu") +@Mapping("/cms/admin/wechat_menu") public class WechatMenuController extends BaseController { /** diff --git a/plugins/cms/src/main/java/vip/fuck/sm/plugins/cms/controller/admin/div/DivFieldController.java b/plugins/cms/src/main/java/vip/fuck/sm/plugins/cms/controller/admin/div/DivFieldController.java index 6cb1fc8..d17ec78 100644 --- a/plugins/cms/src/main/java/vip/fuck/sm/plugins/cms/controller/admin/div/DivFieldController.java +++ b/plugins/cms/src/main/java/vip/fuck/sm/plugins/cms/controller/admin/div/DivFieldController.java @@ -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 { /** diff --git a/plugins/cms/src/main/java/vip/fuck/sm/plugins/cms/controller/admin/model/ModelFieldController.java b/plugins/cms/src/main/java/vip/fuck/sm/plugins/cms/controller/admin/model/ModelFieldController.java index c6b5f45..00269e3 100644 --- a/plugins/cms/src/main/java/vip/fuck/sm/plugins/cms/controller/admin/model/ModelFieldController.java +++ b/plugins/cms/src/main/java/vip/fuck/sm/plugins/cms/controller/admin/model/ModelFieldController.java @@ -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 { diff --git a/plugins/cms/src/main/java/vip/fuck/sm/plugins/cms/controller/common/CaptchaController.java b/plugins/cms/src/main/java/vip/fuck/sm/plugins/cms/controller/common/CaptchaController.java index 526ff07..029d527 100644 --- a/plugins/cms/src/main/java/vip/fuck/sm/plugins/cms/controller/common/CaptchaController.java +++ b/plugins/cms/src/main/java/vip/fuck/sm/plugins/cms/controller/common/CaptchaController.java @@ -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") diff --git a/plugins/cms/src/main/java/vip/fuck/sm/plugins/cms/controller/common/DownController.java b/plugins/cms/src/main/java/vip/fuck/sm/plugins/cms/controller/common/DownController.java index b91da7e..6b133a5 100644 --- a/plugins/cms/src/main/java/vip/fuck/sm/plugins/cms/controller/common/DownController.java +++ b/plugins/cms/src/main/java/vip/fuck/sm/plugins/cms/controller/common/DownController.java @@ -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") diff --git a/plugins/cms/src/main/java/vip/fuck/sm/plugins/cms/controller/front/BaseController.java b/plugins/cms/src/main/java/vip/fuck/sm/plugins/cms/controller/front/BaseController.java index 785e865..ca97d4e 100644 --- a/plugins/cms/src/main/java/vip/fuck/sm/plugins/cms/controller/front/BaseController.java +++ b/plugins/cms/src/main/java/vip/fuck/sm/plugins/cms/controller/front/BaseController.java @@ -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; } diff --git a/plugins/cms/src/main/java/vip/fuck/sm/plugins/cms/controller/front/CategoryController.java b/plugins/cms/src/main/java/vip/fuck/sm/plugins/cms/controller/front/CategoryController.java index 0f8c46b..5e189b1 100644 --- a/plugins/cms/src/main/java/vip/fuck/sm/plugins/cms/controller/front/CategoryController.java +++ b/plugins/cms/src/main/java/vip/fuck/sm/plugins/cms/controller/front/CategoryController.java @@ -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())); } } } diff --git a/plugins/cms/src/main/java/vip/fuck/sm/plugins/cms/controller/front/ContentController.java b/plugins/cms/src/main/java/vip/fuck/sm/plugins/cms/controller/front/ContentController.java index cf2c800..b216feb 100644 --- a/plugins/cms/src/main/java/vip/fuck/sm/plugins/cms/controller/front/ContentController.java +++ b/plugins/cms/src/main/java/vip/fuck/sm/plugins/cms/controller/front/ContentController.java @@ -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())); } /** diff --git a/plugins/cms/src/main/java/vip/fuck/sm/plugins/cms/controller/front/GuestbookController.java b/plugins/cms/src/main/java/vip/fuck/sm/plugins/cms/controller/front/GuestbookController.java index 815f480..d4d6b2d 100644 --- a/plugins/cms/src/main/java/vip/fuck/sm/plugins/cms/controller/front/GuestbookController.java +++ b/plugins/cms/src/main/java/vip/fuck/sm/plugins/cms/controller/front/GuestbookController.java @@ -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")); - } /** diff --git a/plugins/cms/src/main/java/vip/fuck/sm/plugins/cms/controller/front/IndexController.java b/plugins/cms/src/main/java/vip/fuck/sm/plugins/cms/controller/front/IndexController.java index 7311eea..888aaf8 100644 --- a/plugins/cms/src/main/java/vip/fuck/sm/plugins/cms/controller/front/IndexController.java +++ b/plugins/cms/src/main/java/vip/fuck/sm/plugins/cms/controller/front/IndexController.java @@ -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(); } diff --git a/plugins/cms/src/main/java/vip/fuck/sm/plugins/cms/controller/xcx/CategoryController.java b/plugins/cms/src/main/java/vip/fuck/sm/plugins/cms/controller/xcx/CategoryController.java index fbb40fb..e0c0f3c 100644 --- a/plugins/cms/src/main/java/vip/fuck/sm/plugins/cms/controller/xcx/CategoryController.java +++ b/plugins/cms/src/main/java/vip/fuck/sm/plugins/cms/controller/xcx/CategoryController.java @@ -19,7 +19,7 @@ import java.util.Map; * * */ -@Mapping("/xcx/category") +@Mapping("/cms/xcx/category") public class CategoryController extends BaseController { /** diff --git a/plugins/cms/src/main/java/vip/fuck/sm/plugins/cms/controller/xcx/ContentController.java b/plugins/cms/src/main/java/vip/fuck/sm/plugins/cms/controller/xcx/ContentController.java index c85a20a..936fdfb 100644 --- a/plugins/cms/src/main/java/vip/fuck/sm/plugins/cms/controller/xcx/ContentController.java +++ b/plugins/cms/src/main/java/vip/fuck/sm/plugins/cms/controller/xcx/ContentController.java @@ -18,7 +18,7 @@ import java.util.Map; * * */ -@Mapping("/xcx/content") +@Mapping("/cms/xcx/content") public class ContentController extends BaseController { /** diff --git a/plugins/cms/src/main/java/vip/fuck/sm/plugins/cms/controller/xcx/IndexController.java b/plugins/cms/src/main/java/vip/fuck/sm/plugins/cms/controller/xcx/IndexController.java index 634c3fb..052fe9f 100644 --- a/plugins/cms/src/main/java/vip/fuck/sm/plugins/cms/controller/xcx/IndexController.java +++ b/plugins/cms/src/main/java/vip/fuck/sm/plugins/cms/controller/xcx/IndexController.java @@ -20,7 +20,7 @@ import java.util.Map; * * */ -@Mapping("/xcx") +@Mapping("/cms/xcx") public class IndexController extends BaseController { /** diff --git a/plugins/cms/src/main/java/vip/fuck/sm/plugins/cms/handler/SiteHandler.java b/plugins/cms/src/main/java/vip/fuck/sm/plugins/cms/handler/SiteHandler.java index 8983b9a..bd98b0b 100644 --- a/plugins/cms/src/main/java/vip/fuck/sm/plugins/cms/handler/SiteHandler.java +++ b/plugins/cms/src/main/java/vip/fuck/sm/plugins/cms/handler/SiteHandler.java @@ -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 urlExcludes = new ArrayList(){{ - 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); } + + } diff --git a/plugins/cms/src/main/java/vip/fuck/sm/plugins/cms/handler/UrlHandler.java b/plugins/cms/src/main/java/vip/fuck/sm/plugins/cms/handler/UrlHandler.java index 62a945d..1d83f69 100644 --- a/plugins/cms/src/main/java/vip/fuck/sm/plugins/cms/handler/UrlHandler.java +++ b/plugins/cms/src/main/java/vip/fuck/sm/plugins/cms/handler/UrlHandler.java @@ -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); + } + } diff --git a/plugins/cms/src/main/resources/templates/cms/admin/view/include/common.shtm b/plugins/cms/src/main/resources/templates/cms/admin/view/include/common.shtm index a97934b..ed28215 100644 --- a/plugins/cms/src/main/resources/templates/cms/admin/view/include/common.shtm +++ b/plugins/cms/src/main/resources/templates/cms/admin/view/include/common.shtm @@ -14,92 +14,92 @@ var base = "#(base)"; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +