├── .gitattributes ├── JFinalCMS.sql ├── LICENSE ├── README.md ├── pom.xml └── src ├── main ├── java │ └── com │ │ └── cms │ │ ├── ClassScaner.java │ │ ├── CommonAttribute.java │ │ ├── Config.java │ │ ├── EnumConverter.java │ │ ├── ExcelView.java │ │ ├── Feedback.java │ │ ├── FieldAttribute.java │ │ ├── TemplateFile.java │ │ ├── TemplateVariable.java │ │ ├── config │ │ └── CmsConfig.java │ │ ├── controller │ │ ├── admin │ │ │ ├── AdController.java │ │ │ ├── AdPositionController.java │ │ │ ├── AdminController.java │ │ │ ├── AreaController.java │ │ │ ├── BaseController.java │ │ │ ├── CacheController.java │ │ │ ├── CategoryController.java │ │ │ ├── CommonController.java │ │ │ ├── ConfigController.java │ │ │ ├── ContentController.java │ │ │ ├── ContentModelController.java │ │ │ ├── ErrorController.java │ │ │ ├── FileController.java │ │ │ ├── FormController.java │ │ │ ├── FormModelController.java │ │ │ ├── FriendLinkController.java │ │ │ ├── LoginController.java │ │ │ ├── LogoutController.java │ │ │ ├── ProfileController.java │ │ │ ├── RoleController.java │ │ │ ├── SettingController.java │ │ │ ├── SitemapController.java │ │ │ ├── StaticController.java │ │ │ ├── StoragePluginController.java │ │ │ ├── TagController.java │ │ │ ├── TemplateController.java │ │ │ ├── content_model │ │ │ │ └── ContentFieldController.java │ │ │ ├── form_model │ │ │ │ └── FormFieldController.java │ │ │ └── storage_plugin │ │ │ │ ├── FtpStorageController.java │ │ │ │ ├── LocalStorageController.java │ │ │ │ └── OssStorageController.java │ │ ├── common │ │ │ ├── AreaController.java │ │ │ └── CaptchaController.java │ │ └── front │ │ │ ├── BaseController.java │ │ │ ├── CategoryController.java │ │ │ ├── ContentController.java │ │ │ ├── DataAction.java │ │ │ ├── FormController.java │ │ │ └── IndexController.java │ │ ├── entity │ │ ├── Ad.java │ │ ├── AdPosition.java │ │ ├── Admin.java │ │ ├── AdminRole.java │ │ ├── Area.java │ │ ├── Category.java │ │ ├── Content.java │ │ ├── ContentField.java │ │ ├── ContentModel.java │ │ ├── Form.java │ │ ├── FormField.java │ │ ├── FormModel.java │ │ ├── FriendLink.java │ │ ├── Role.java │ │ ├── Setting.java │ │ ├── StoragePlugin.java │ │ ├── Tag.java │ │ ├── _JFinalDemoGenerator.java │ │ ├── _MappingKit.java │ │ └── base │ │ │ ├── BaseAd.java │ │ │ ├── BaseAdPosition.java │ │ │ ├── BaseAdmin.java │ │ │ ├── BaseAdminRole.java │ │ │ ├── BaseArea.java │ │ │ ├── BaseCategory.java │ │ │ ├── BaseContent.java │ │ │ ├── BaseContentField.java │ │ │ ├── BaseContentModel.java │ │ │ ├── BaseForm.java │ │ │ ├── BaseFormField.java │ │ │ ├── BaseFormModel.java │ │ │ ├── BaseFriendLink.java │ │ │ ├── BaseRole.java │ │ │ ├── BaseSetting.java │ │ │ ├── BaseStoragePlugin.java │ │ │ └── BaseTag.java │ │ ├── filter │ │ └── PermissionFilter.java │ │ ├── handler │ │ └── ResourcesHandler.java │ │ ├── job │ │ └── StaticAllJob.java │ │ ├── routes │ │ └── RouteMapping.java │ │ ├── template │ │ ├── directive │ │ │ ├── AdPositionDirective.java │ │ │ ├── BaseDirective.java │ │ │ ├── CategoryChildrenListDirective.java │ │ │ ├── CategoryDirective.java │ │ │ ├── CategoryParentListDirective.java │ │ │ ├── CategoryRootListDirective.java │ │ │ ├── ContentListDirective.java │ │ │ ├── FormListDirective.java │ │ │ ├── FriendLinkListDirective.java │ │ │ └── PaginationDirective.java │ │ └── method │ │ │ └── AbbreviateMethod.java │ │ └── util │ │ ├── CacheUtils.java │ │ ├── DBUtils.java │ │ ├── FreeMarkerUtils.java │ │ ├── ImageUtils.java │ │ ├── StaticUtils.java │ │ ├── StorageUtils.java │ │ ├── SystemUtils.java │ │ ├── TemplateUtils.java │ │ └── TemplateVariableUtils.java ├── resources │ ├── config.properties │ ├── config.xml │ ├── ehcache.xml │ ├── job.properties │ └── log4j.properties └── webapp │ ├── 404.html │ ├── 500.html │ ├── WEB-INF │ ├── admin │ │ ├── ad │ │ │ ├── add.html │ │ │ ├── edit.html │ │ │ └── list.html │ │ ├── ad_position │ │ │ ├── add.html │ │ │ ├── edit.html │ │ │ └── list.html │ │ ├── admin │ │ │ ├── add.html │ │ │ ├── edit.html │ │ │ └── list.html │ │ ├── area │ │ │ ├── add.html │ │ │ ├── edit.html │ │ │ └── list.html │ │ ├── cache │ │ │ └── view.html │ │ ├── category │ │ │ ├── add.html │ │ │ ├── edit.html │ │ │ └── list.html │ │ ├── common │ │ │ ├── categoryMenu.html │ │ │ ├── formMenu.html │ │ │ ├── index.html │ │ │ └── main.html │ │ ├── config │ │ │ └── edit.html │ │ ├── content │ │ │ ├── add.html │ │ │ ├── edit.html │ │ │ └── list.html │ │ ├── content_model │ │ │ ├── add.html │ │ │ ├── content_field │ │ │ │ ├── add.html │ │ │ │ ├── edit.html │ │ │ │ └── list.html │ │ │ ├── edit.html │ │ │ └── list.html │ │ ├── error │ │ │ ├── 403.html │ │ │ └── 500.html │ │ ├── form │ │ │ ├── edit.html │ │ │ └── list.html │ │ ├── form_model │ │ │ ├── add.html │ │ │ ├── edit.html │ │ │ ├── form_field │ │ │ │ ├── add.html │ │ │ │ ├── edit.html │ │ │ │ └── list.html │ │ │ └── list.html │ │ ├── friend_link │ │ │ ├── add.html │ │ │ ├── edit.html │ │ │ └── list.html │ │ ├── include │ │ │ ├── common.html │ │ │ └── pagination.html │ │ ├── login │ │ │ └── index.html │ │ ├── profile │ │ │ └── edit.html │ │ ├── role │ │ │ ├── add.html │ │ │ ├── edit.html │ │ │ └── list.html │ │ ├── setting │ │ │ ├── add.html │ │ │ ├── edit.html │ │ │ └── list.html │ │ ├── sitemap │ │ │ └── generate.html │ │ ├── static │ │ │ └── generate.html │ │ ├── storage_plugin │ │ │ ├── ftp_storage │ │ │ │ └── setting.html │ │ │ ├── list.html │ │ │ ├── local_storage │ │ │ │ └── setting.html │ │ │ └── oss_storage │ │ │ │ └── setting.html │ │ ├── tag │ │ │ ├── add.html │ │ │ ├── edit.html │ │ │ └── list.html │ │ └── template │ │ │ ├── edit.html │ │ │ └── list.html │ └── web.xml │ ├── favicon.ico │ ├── resources │ └── watermark.png │ ├── static │ ├── css │ │ ├── animate.min.css │ │ ├── bootstrap.min.css │ │ ├── font-awesome.min.css │ │ ├── login.min.css │ │ ├── patterns │ │ │ ├── header-profile-skin-1.png │ │ │ ├── header-profile-skin-3.png │ │ │ ├── header-profile.png │ │ │ └── shattered.png │ │ └── style.min.css │ ├── fonts │ │ ├── fontawesome-webfont93e3.eot │ │ ├── fontawesome-webfont93e3.svg │ │ ├── fontawesome-webfont93e3.ttf │ │ ├── fontawesome-webfont93e3.woff │ │ ├── fontawesome-webfont93e3.woff2 │ │ ├── fontawesome-webfontd41d.eot │ │ ├── glyphicons-halflings-regular.eot │ │ ├── glyphicons-halflings-regular.svg │ │ ├── glyphicons-halflings-regular.ttf │ │ ├── glyphicons-halflings-regular.woff │ │ ├── glyphicons-halflings-regular.woff2 │ │ └── glyphicons-halflings-regulard41d.eot │ ├── img │ │ ├── bg.png │ │ ├── icons.png │ │ ├── loading-upload.gif │ │ ├── locked.png │ │ ├── p_big1.jpg │ │ ├── p_big2.jpg │ │ ├── p_big3.jpg │ │ ├── profile_small.jpg │ │ ├── progress.png │ │ ├── success.png │ │ └── user.png │ ├── js │ │ ├── base.js │ │ ├── bootstrap.min.js │ │ ├── contabs.min.js │ │ ├── echarts.js │ │ ├── jquery.autocomplete.js │ │ ├── jquery.js │ │ ├── jquery.lSelect.js │ │ ├── jquery.validate.js │ │ └── list.js │ └── plugins │ │ ├── datePicker │ │ ├── My97DatePicker.htm │ │ ├── WdatePicker.js │ │ ├── calendar.js │ │ ├── config.js │ │ ├── lang │ │ │ ├── en_US.js │ │ │ ├── zh_CN.js │ │ │ └── zh_TW.js │ │ └── skin │ │ │ ├── WdatePicker.css │ │ │ ├── datePicker.gif │ │ │ └── default │ │ │ ├── datepicker.css │ │ │ └── img.gif │ │ ├── metisMenu │ │ └── jquery.metisMenu.js │ │ ├── pace │ │ └── pace.min.js │ │ ├── slimscroll │ │ └── jquery.slimscroll.min.js │ │ ├── ueditor │ │ ├── dialogs │ │ │ ├── anchor │ │ │ │ └── anchor.html │ │ │ ├── attachment │ │ │ │ ├── attachment.css │ │ │ │ ├── attachment.html │ │ │ │ ├── attachment.js │ │ │ │ ├── fileTypeImages │ │ │ │ │ ├── icon_chm.gif │ │ │ │ │ ├── icon_default.png │ │ │ │ │ ├── icon_doc.gif │ │ │ │ │ ├── icon_exe.gif │ │ │ │ │ ├── icon_jpg.gif │ │ │ │ │ ├── icon_mp3.gif │ │ │ │ │ ├── icon_mv.gif │ │ │ │ │ ├── icon_pdf.gif │ │ │ │ │ ├── icon_ppt.gif │ │ │ │ │ ├── icon_psd.gif │ │ │ │ │ ├── icon_rar.gif │ │ │ │ │ ├── icon_txt.gif │ │ │ │ │ └── icon_xls.gif │ │ │ │ └── images │ │ │ │ │ ├── alignicon.gif │ │ │ │ │ ├── alignicon.png │ │ │ │ │ ├── bg.png │ │ │ │ │ ├── file-icons.gif │ │ │ │ │ ├── file-icons.png │ │ │ │ │ ├── icons.gif │ │ │ │ │ ├── icons.png │ │ │ │ │ ├── image.png │ │ │ │ │ ├── progress.png │ │ │ │ │ ├── success.gif │ │ │ │ │ └── success.png │ │ │ ├── background │ │ │ │ ├── background.css │ │ │ │ ├── background.html │ │ │ │ ├── background.js │ │ │ │ └── images │ │ │ │ │ ├── bg.png │ │ │ │ │ └── success.png │ │ │ ├── charts │ │ │ │ ├── chart.config.js │ │ │ │ ├── charts.css │ │ │ │ ├── charts.html │ │ │ │ ├── charts.js │ │ │ │ └── images │ │ │ │ │ ├── charts0.png │ │ │ │ │ ├── charts1.png │ │ │ │ │ ├── charts2.png │ │ │ │ │ ├── charts3.png │ │ │ │ │ ├── charts4.png │ │ │ │ │ └── charts5.png │ │ │ ├── emotion │ │ │ │ ├── emotion.css │ │ │ │ ├── emotion.html │ │ │ │ ├── emotion.js │ │ │ │ └── images │ │ │ │ │ ├── 0.gif │ │ │ │ │ ├── bface.gif │ │ │ │ │ ├── cface.gif │ │ │ │ │ ├── fface.gif │ │ │ │ │ ├── jxface2.gif │ │ │ │ │ ├── neweditor-tab-bg.png │ │ │ │ │ ├── tface.gif │ │ │ │ │ ├── wface.gif │ │ │ │ │ └── yface.gif │ │ │ ├── gmap │ │ │ │ └── gmap.html │ │ │ ├── help │ │ │ │ ├── help.css │ │ │ │ ├── help.html │ │ │ │ └── help.js │ │ │ ├── image │ │ │ │ ├── image.css │ │ │ │ ├── image.html │ │ │ │ ├── image.js │ │ │ │ └── images │ │ │ │ │ ├── alignicon.jpg │ │ │ │ │ ├── bg.png │ │ │ │ │ ├── icons.gif │ │ │ │ │ ├── icons.png │ │ │ │ │ ├── image.png │ │ │ │ │ ├── progress.png │ │ │ │ │ ├── success.gif │ │ │ │ │ └── success.png │ │ │ ├── insertframe │ │ │ │ └── insertframe.html │ │ │ ├── internal.js │ │ │ ├── link │ │ │ │ └── link.html │ │ │ ├── map │ │ │ │ ├── map.html │ │ │ │ └── show.html │ │ │ ├── music │ │ │ │ ├── music.css │ │ │ │ ├── music.html │ │ │ │ └── music.js │ │ │ ├── preview │ │ │ │ └── preview.html │ │ │ ├── scrawl │ │ │ │ ├── images │ │ │ │ │ ├── addimg.png │ │ │ │ │ ├── brush.png │ │ │ │ │ ├── delimg.png │ │ │ │ │ ├── delimgH.png │ │ │ │ │ ├── empty.png │ │ │ │ │ ├── emptyH.png │ │ │ │ │ ├── eraser.png │ │ │ │ │ ├── redo.png │ │ │ │ │ ├── redoH.png │ │ │ │ │ ├── scale.png │ │ │ │ │ ├── scaleH.png │ │ │ │ │ ├── size.png │ │ │ │ │ ├── undo.png │ │ │ │ │ └── undoH.png │ │ │ │ ├── scrawl.css │ │ │ │ ├── scrawl.html │ │ │ │ └── scrawl.js │ │ │ ├── searchreplace │ │ │ │ ├── searchreplace.html │ │ │ │ └── searchreplace.js │ │ │ ├── snapscreen │ │ │ │ └── snapscreen.html │ │ │ ├── spechars │ │ │ │ ├── spechars.html │ │ │ │ └── spechars.js │ │ │ ├── table │ │ │ │ ├── dragicon.png │ │ │ │ ├── edittable.css │ │ │ │ ├── edittable.html │ │ │ │ ├── edittable.js │ │ │ │ ├── edittd.html │ │ │ │ └── edittip.html │ │ │ ├── template │ │ │ │ ├── config.js │ │ │ │ ├── images │ │ │ │ │ ├── bg.gif │ │ │ │ │ ├── pre0.png │ │ │ │ │ ├── pre1.png │ │ │ │ │ ├── pre2.png │ │ │ │ │ ├── pre3.png │ │ │ │ │ └── pre4.png │ │ │ │ ├── template.css │ │ │ │ ├── template.html │ │ │ │ └── template.js │ │ │ ├── video │ │ │ │ ├── images │ │ │ │ │ ├── bg.png │ │ │ │ │ ├── center_focus.jpg │ │ │ │ │ ├── file-icons.gif │ │ │ │ │ ├── file-icons.png │ │ │ │ │ ├── icons.gif │ │ │ │ │ ├── icons.png │ │ │ │ │ ├── image.png │ │ │ │ │ ├── left_focus.jpg │ │ │ │ │ ├── none_focus.jpg │ │ │ │ │ ├── progress.png │ │ │ │ │ ├── right_focus.jpg │ │ │ │ │ ├── success.gif │ │ │ │ │ └── success.png │ │ │ │ ├── video.css │ │ │ │ ├── video.html │ │ │ │ └── video.js │ │ │ ├── webapp │ │ │ │ └── webapp.html │ │ │ └── wordimage │ │ │ │ ├── fClipboard_ueditor.swf │ │ │ │ ├── imageUploader.swf │ │ │ │ ├── tangram.js │ │ │ │ ├── wordimage.html │ │ │ │ └── wordimage.js │ │ ├── lang │ │ │ ├── en_US │ │ │ │ ├── en_US.js │ │ │ │ └── images │ │ │ │ │ ├── addimage.png │ │ │ │ │ ├── alldeletebtnhoverskin.png │ │ │ │ │ ├── alldeletebtnupskin.png │ │ │ │ │ ├── background.png │ │ │ │ │ ├── button.png │ │ │ │ │ ├── copy.png │ │ │ │ │ ├── deletedisable.png │ │ │ │ │ ├── deleteenable.png │ │ │ │ │ ├── listbackground.png │ │ │ │ │ ├── localimage.png │ │ │ │ │ ├── music.png │ │ │ │ │ ├── rotateleftdisable.png │ │ │ │ │ ├── rotateleftenable.png │ │ │ │ │ ├── rotaterightdisable.png │ │ │ │ │ ├── rotaterightenable.png │ │ │ │ │ └── upload.png │ │ │ ├── zh_CN │ │ │ │ ├── images │ │ │ │ │ ├── copy.png │ │ │ │ │ ├── localimage.png │ │ │ │ │ ├── music.png │ │ │ │ │ └── upload.png │ │ │ │ └── zh_CN.js │ │ │ └── zh_TW │ │ │ │ ├── images │ │ │ │ ├── copy.png │ │ │ │ ├── localimage.png │ │ │ │ ├── music.png │ │ │ │ └── upload.png │ │ │ │ └── zh_TW.js │ │ ├── themes │ │ │ └── default │ │ │ │ ├── css │ │ │ │ └── ueditor.css │ │ │ │ ├── dialogbase.css │ │ │ │ └── images │ │ │ │ ├── anchor.gif │ │ │ │ ├── arrow.png │ │ │ │ ├── arrow_down.png │ │ │ │ ├── arrow_up.png │ │ │ │ ├── button-bg.gif │ │ │ │ ├── cancelbutton.gif │ │ │ │ ├── charts.png │ │ │ │ ├── cursor_h.gif │ │ │ │ ├── cursor_h.png │ │ │ │ ├── cursor_v.gif │ │ │ │ ├── cursor_v.png │ │ │ │ ├── dialog-title-bg.png │ │ │ │ ├── filescan.png │ │ │ │ ├── highlighted.gif │ │ │ │ ├── icons-all.gif │ │ │ │ ├── icons.gif │ │ │ │ ├── icons.png │ │ │ │ ├── loaderror.png │ │ │ │ ├── loading.gif │ │ │ │ ├── lock.gif │ │ │ │ ├── neweditor-tab-bg.png │ │ │ │ ├── pagebreak.gif │ │ │ │ ├── scale.png │ │ │ │ ├── sortable.png │ │ │ │ ├── spacer.gif │ │ │ │ ├── sparator_v.png │ │ │ │ ├── table-cell-align.png │ │ │ │ ├── tangram-colorpicker.png │ │ │ │ ├── toolbar_bg.png │ │ │ │ ├── unhighlighted.gif │ │ │ │ ├── upload.png │ │ │ │ ├── videologo.gif │ │ │ │ ├── word.gif │ │ │ │ └── wordpaste.png │ │ ├── third-party │ │ │ ├── SyntaxHighlighter │ │ │ │ ├── shCore.js │ │ │ │ └── shCoreDefault.css │ │ │ ├── codemirror │ │ │ │ ├── codemirror.css │ │ │ │ └── codemirror.js │ │ │ ├── highcharts │ │ │ │ ├── adapters │ │ │ │ │ ├── mootools-adapter.js │ │ │ │ │ ├── mootools-adapter.src.js │ │ │ │ │ ├── prototype-adapter.js │ │ │ │ │ ├── prototype-adapter.src.js │ │ │ │ │ ├── standalone-framework.js │ │ │ │ │ └── standalone-framework.src.js │ │ │ │ ├── highcharts-more.js │ │ │ │ ├── highcharts-more.src.js │ │ │ │ ├── highcharts.js │ │ │ │ ├── highcharts.src.js │ │ │ │ ├── modules │ │ │ │ │ ├── annotations.js │ │ │ │ │ ├── annotations.src.js │ │ │ │ │ ├── canvas-tools.js │ │ │ │ │ ├── canvas-tools.src.js │ │ │ │ │ ├── data.js │ │ │ │ │ ├── data.src.js │ │ │ │ │ ├── drilldown.js │ │ │ │ │ ├── drilldown.src.js │ │ │ │ │ ├── exporting.js │ │ │ │ │ ├── exporting.src.js │ │ │ │ │ ├── funnel.js │ │ │ │ │ ├── funnel.src.js │ │ │ │ │ ├── heatmap.js │ │ │ │ │ ├── heatmap.src.js │ │ │ │ │ ├── map.js │ │ │ │ │ ├── map.src.js │ │ │ │ │ ├── no-data-to-display.js │ │ │ │ │ └── no-data-to-display.src.js │ │ │ │ └── themes │ │ │ │ │ ├── dark-blue.js │ │ │ │ │ ├── dark-green.js │ │ │ │ │ ├── gray.js │ │ │ │ │ ├── grid.js │ │ │ │ │ └── skies.js │ │ │ ├── jquery-1.10.2.js │ │ │ ├── jquery-1.10.2.min.js │ │ │ ├── snapscreen │ │ │ │ └── UEditorSnapscreen.exe │ │ │ ├── video-js │ │ │ │ ├── font │ │ │ │ │ ├── vjs.eot │ │ │ │ │ ├── vjs.svg │ │ │ │ │ ├── vjs.ttf │ │ │ │ │ └── vjs.woff │ │ │ │ ├── video-js.css │ │ │ │ ├── video-js.min.css │ │ │ │ ├── video-js.swf │ │ │ │ ├── video.dev.js │ │ │ │ └── video.js │ │ │ ├── webuploader │ │ │ │ ├── Uploader.swf │ │ │ │ ├── webuploader.css │ │ │ │ ├── webuploader.custom.js │ │ │ │ ├── webuploader.custom.min.js │ │ │ │ ├── webuploader.flashonly.js │ │ │ │ ├── webuploader.flashonly.min.js │ │ │ │ ├── webuploader.html5only.js │ │ │ │ ├── webuploader.html5only.min.js │ │ │ │ ├── webuploader.js │ │ │ │ ├── webuploader.min.js │ │ │ │ ├── webuploader.withoutimage.js │ │ │ │ └── webuploader.withoutimage.min.js │ │ │ └── zeroclipboard │ │ │ │ ├── ZeroClipboard.js │ │ │ │ ├── ZeroClipboard.min.js │ │ │ │ └── ZeroClipboard.swf │ │ └── ueditor.js │ │ └── webuploader │ │ ├── Uploader.swf │ │ ├── webuploader.css │ │ └── webuploader.js │ ├── templates │ └── default │ │ └── front │ │ ├── about.html │ │ ├── banner.html │ │ ├── blogContent.html │ │ ├── blogList.html │ │ ├── caseContent.html │ │ ├── caseList.html │ │ ├── contactus.html │ │ ├── footer.html │ │ ├── header.html │ │ ├── index.html │ │ ├── newsContent.html │ │ ├── newsList.html │ │ ├── pagination.html │ │ ├── price.html │ │ ├── service.html │ │ ├── sitemap.html │ │ ├── static │ │ ├── css │ │ │ ├── admin.css │ │ │ ├── amazeui.css │ │ │ ├── amazeui.flat.css │ │ │ ├── amazeui.flat.min.css │ │ │ ├── amazeui.min.css │ │ │ ├── app.css │ │ │ └── style.css │ │ ├── fonts │ │ │ ├── FontAwesome.otf │ │ │ ├── fontawesome-webfont.eot │ │ │ ├── fontawesome-webfont.ttf │ │ │ ├── fontawesome-webfont.woff │ │ │ └── fontawesome-webfont.woff2 │ │ ├── images │ │ │ ├── case_bg.jpg │ │ │ ├── dian_03.png │ │ │ ├── enjoy-sea.jpg │ │ │ ├── hd_bg.jpg │ │ │ ├── logo-lg11.png │ │ │ ├── logo.png │ │ │ ├── tx1.jpg │ │ │ ├── tx2.jpg │ │ │ ├── tx3.jpg │ │ │ ├── xiangmu_03.jpg │ │ │ ├── xiangmu_05.jpg │ │ │ └── xiangmu_07.jpg │ │ └── js │ │ │ ├── ajax.js │ │ │ ├── amazeui.ie8polyfill.min.js │ │ │ ├── amazeui.min.js │ │ │ ├── jquery.SuperSlide.2.1.2.js │ │ │ ├── jquery.min.js │ │ │ ├── jquery.sliphover.min.js │ │ │ └── tabs.js │ │ └── templateList.html │ └── upload │ ├── news.jpg │ └── product.jpg └── test └── java └── cms └── AutoCreateTable.java /.gitattributes: -------------------------------------------------------------------------------- 1 | *.css linguist-language=java 2 | *.less linguist-language=java 3 | *.js linguist-language=java 4 | *.html linguist-language=java 5 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # JFinalCMS 2 | 3 | #### 介绍 4 | JFinalCMS,极速开发,动态添加字段,自定义标签,动态创建数据库表并crud数据,数据库备份、还原,动态添加站点(多站点功能),一键生成模板代码,让您轻松打造自己的独立网站,同时也方便二次开发,让您快速搭建个性化独立网站,为您节约更多时间,去陪恋人、家人和朋友。 5 | 6 | #### 软件架构 7 | 1. MVC:JFinal 8 | 2. 页面:enjoy 9 | 3. 缓存:ehcache 10 | 4. 数据库:Mysql 11 | 12 | #### 功能截图 13 | 14 | **后台:** 15 | 16 | | ![输入图片说明](https://images.gitee.com/uploads/images/2020/0102/192142_2da79cc9_623319.png "屏幕截图.png") | ![输入图片说明](https://images.gitee.com/uploads/images/2020/0420/165659_33896919_623319.png "屏幕截图.png") | 17 | | --- | --- | 18 | | ![输入图片说明](https://images.gitee.com/uploads/images/2020/0420/165723_cdd71374_623319.png "屏幕截图.png") | ![输入图片说明](https://images.gitee.com/uploads/images/2020/0420/165741_e49a197b_623319.png "屏幕截图.png") | 19 | | --- | --- | 20 | | ![输入图片说明](https://images.gitee.com/uploads/images/2020/0420/165820_e2bac5e3_623319.png "屏幕截图.png") | ![输入图片说明](https://images.gitee.com/uploads/images/2020/0420/165833_63bab0ea_623319.png "屏幕截图.png") | 21 | 22 | **模板:** 23 | 24 | | ![输入图片说明](https://images.gitee.com/uploads/images/2020/0420/170122_612f0721_623319.png "屏幕截图.png") | ![输入图片说明](https://images.gitee.com/uploads/images/2020/0420/170404_f9423aea_623319.png "屏幕截图.png") | 25 | | --- | --- | 26 | | ![输入图片说明](https://images.gitee.com/uploads/images/2020/0420/172342_c04b2d33_623319.png "屏幕截图.png") | ![输入图片说明](https://images.gitee.com/uploads/images/2020/0420/172422_82965f90_623319.png "屏幕截图.png") | 27 | | ![输入图片说明](https://images.gitee.com/uploads/images/2020/0420/173210_d4cfda27_623319.png "cc3ec2d2b35cf8f76355ae4f4245503.png") | ![输入图片说明](https://images.gitee.com/uploads/images/2020/0420/191136_9aa4d595_623319.png "22f89d2bdd1f65c3462695a18552f60.png") | 28 | 29 | 30 | #### 交流 31 | 32 | 1. 联系QQ:644080923 33 | 2. 联系微信:heyewei123 34 | 2. 官网地址:[http://www.jrecms.com](http://www.jrecms.com) 35 | 3. 体验地址: 前台:http://cms.jrecms.com 后台:http://cms.jrecms.com/admin/login 账号:read 123456 36 | 37 | -------------------------------------------------------------------------------- /src/main/java/com/cms/EnumConverter.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2005-2016 shopxx.net. All rights reserved. 3 | * Support: http://www.shopxx.net 4 | * License: http://www.shopxx.net/license 5 | */ 6 | package com.cms; 7 | 8 | import org.apache.commons.beanutils.converters.AbstractConverter; 9 | 10 | /** 11 | * 枚举类型转换 12 | * 13 | */ 14 | public class EnumConverter extends AbstractConverter { 15 | 16 | /** 枚举类型 */ 17 | private final Class enumClass; 18 | 19 | /** 20 | * 构造方法 21 | * 22 | * @param enumClass 23 | * 枚举类型 24 | */ 25 | public EnumConverter(Class enumClass) { 26 | this(enumClass, null); 27 | } 28 | 29 | /** 30 | * 构造方法 31 | * 32 | * @param enumClass 33 | * 枚举类型 34 | * @param defaultValue 35 | * 默认值 36 | */ 37 | public EnumConverter(Class enumClass, Object defaultValue) { 38 | super(defaultValue); 39 | this.enumClass = enumClass; 40 | } 41 | 42 | /** 43 | * 获取默认类型 44 | * 45 | * @return 默认类型 46 | */ 47 | @Override 48 | protected Class getDefaultType() { 49 | return this.enumClass; 50 | } 51 | 52 | /** 53 | * 转换为枚举对象 54 | * 55 | * @param type 56 | * 类型 57 | * @param value 58 | * 值 59 | * @return 枚举对象 60 | */ 61 | @SuppressWarnings({ "unchecked", "rawtypes" }) 62 | protected Object convertToType(Class type, Object value) { 63 | String stringValue = value.toString().trim(); 64 | return Enum.valueOf(type, stringValue); 65 | } 66 | 67 | /** 68 | * 转换为字符串 69 | * 70 | * @param value 71 | * 值 72 | * @return 字符串 73 | */ 74 | protected String convertToString(Object value) { 75 | return value.toString(); 76 | } 77 | 78 | } -------------------------------------------------------------------------------- /src/main/java/com/cms/TemplateVariable.java: -------------------------------------------------------------------------------- 1 | package com.cms; 2 | 3 | import java.lang.annotation.ElementType; 4 | import java.lang.annotation.Inherited; 5 | import java.lang.annotation.Retention; 6 | import java.lang.annotation.RetentionPolicy; 7 | import java.lang.annotation.Target; 8 | 9 | @Inherited 10 | @Retention(RetentionPolicy.RUNTIME) 11 | @Target({ ElementType.TYPE }) 12 | public @interface TemplateVariable { 13 | 14 | String name(); 15 | 16 | } 17 | -------------------------------------------------------------------------------- /src/main/java/com/cms/controller/admin/BaseController.java: -------------------------------------------------------------------------------- 1 | /* 2 | * 3 | * 4 | * 5 | */ 6 | package com.cms.controller.admin; 7 | 8 | import org.apache.commons.lang.StringUtils; 9 | 10 | import com.cms.CommonAttribute; 11 | import com.cms.Feedback; 12 | import com.cms.entity.Admin; 13 | import com.jfinal.core.Controller; 14 | 15 | /** 16 | * Controller - 基类 17 | * 18 | * 19 | * 20 | */ 21 | public class BaseController extends Controller{ 22 | 23 | /** 每页记录数 */ 24 | protected static final int PAGE_SIZE = 20; 25 | 26 | /** 列表查询Cookie名称 */ 27 | private static final String LIST_QUERY_COOKIE_NAME = "listQuery"; 28 | 29 | /** 错误消息 */ 30 | protected static final Feedback ERROR_FEEDBACK = Feedback.error("错误"); 31 | 32 | /** 成功消息 */ 33 | protected static final Feedback SUCCESS_FEEDBACK = Feedback.success("成功"); 34 | 35 | /** 36 | * 获取当前管理员 37 | * 38 | * @return 当前管理员 39 | */ 40 | protected Admin getCurrentAdmin() { 41 | Admin currentAdmin = (Admin) getSession().getAttribute(Admin.SESSION_ADMIN); 42 | return currentAdmin; 43 | } 44 | 45 | /** 46 | * 获取页面 47 | * 48 | * @return 页面 49 | */ 50 | public String getView(String view){ 51 | return CommonAttribute.ADMIN_PATH+view+CommonAttribute.VIEW_EXTENSION; 52 | } 53 | 54 | /** 55 | * 获取列表参数 56 | * 57 | * @return 列表参数 58 | */ 59 | public String getListQuery(String url){ 60 | String listQuery = getCookie(LIST_QUERY_COOKIE_NAME); 61 | if(StringUtils.isNotBlank(url) && StringUtils.isNotEmpty(listQuery)){ 62 | if (StringUtils.startsWith(listQuery, "?")) { 63 | listQuery = listQuery.substring(1); 64 | } 65 | if (StringUtils.contains(url, "?")) { 66 | url = url + "&" + listQuery; 67 | } else { 68 | url = url + "?" + listQuery; 69 | } 70 | removeCookie(LIST_QUERY_COOKIE_NAME); 71 | } 72 | return url; 73 | } 74 | } -------------------------------------------------------------------------------- /src/main/java/com/cms/controller/admin/CacheController.java: -------------------------------------------------------------------------------- 1 | /* 2 | * 3 | * 4 | * 5 | */ 6 | package com.cms.controller.admin; 7 | 8 | 9 | import com.cms.routes.RouteMapping; 10 | import com.cms.util.CacheUtils; 11 | 12 | 13 | /** 14 | * Controller - 缓存 15 | * 16 | * 17 | * 18 | */ 19 | @RouteMapping(url = "/admin/cache") 20 | 21 | public class CacheController extends BaseController { 22 | 23 | /** 24 | * 缓存查看 25 | */ 26 | public void view() { 27 | Long totalMemory = null; 28 | Long maxMemory = null; 29 | Long freeMemory = null; 30 | try { 31 | totalMemory = Runtime.getRuntime().totalMemory() / 1024 / 1024; 32 | maxMemory = Runtime.getRuntime().maxMemory() / 1024 / 1024; 33 | freeMemory = Runtime.getRuntime().freeMemory() / 1024 / 1024; 34 | } catch (Exception e) { 35 | } 36 | setAttr("totalMemory", totalMemory); 37 | setAttr("maxMemory", maxMemory); 38 | setAttr("freeMemory", freeMemory); 39 | setAttr("cacheSize", CacheUtils.getCacheSize()); 40 | setAttr("diskStorePath", CacheUtils.getDiskStorePath()); 41 | render(getView("cache/view")); 42 | } 43 | 44 | /** 45 | * 清除缓存 46 | */ 47 | public void delete() { 48 | CacheUtils.clear(); 49 | redirect("/admin/cache/view"); 50 | } 51 | 52 | } -------------------------------------------------------------------------------- /src/main/java/com/cms/controller/admin/CommonController.java: -------------------------------------------------------------------------------- 1 | /* 2 | * 3 | * 4 | * 5 | */ 6 | package com.cms.controller.admin; 7 | 8 | import com.cms.entity.Category; 9 | import com.cms.entity.FormModel; 10 | import com.cms.routes.RouteMapping; 11 | import com.jfinal.core.JFinal; 12 | 13 | /** 14 | * Controller - 共用 15 | * 16 | * 17 | * 18 | */ 19 | @RouteMapping(url = "/admin/common") 20 | 21 | public class CommonController extends BaseController { 22 | 23 | 24 | 25 | /** 26 | * 主页 27 | */ 28 | public void main() { 29 | render(getView("common/main")); 30 | } 31 | 32 | /** 33 | * 栏目菜单 34 | */ 35 | public void categoryMenu(){ 36 | setAttr("categoryTree", new Category().dao().findTree()); 37 | render(getView("common/categoryMenu")); 38 | } 39 | 40 | /** 41 | * 表单菜单 42 | */ 43 | public void formMenu(){ 44 | setAttr("formModels", new FormModel().dao().findAll()); 45 | render(getView("common/formMenu")); 46 | } 47 | 48 | /** 49 | * 首页 50 | */ 51 | public void index() { 52 | setAttr("javaVersion", System.getProperty("java.version")); 53 | setAttr("javaHome", System.getProperty("java.home")); 54 | setAttr("osName", System.getProperty("os.name")); 55 | setAttr("osArch", System.getProperty("os.arch")); 56 | setAttr("serverInfo", JFinal.me().getServletContext().getServerInfo()); 57 | setAttr("servletVersion", JFinal.me().getServletContext().getMajorVersion() + "." + JFinal.me().getServletContext().getMinorVersion()); 58 | render(getView("common/index")); 59 | } 60 | } -------------------------------------------------------------------------------- /src/main/java/com/cms/controller/admin/ConfigController.java: -------------------------------------------------------------------------------- 1 | package com.cms.controller.admin; 2 | 3 | import com.cms.CommonAttribute; 4 | import com.cms.Config; 5 | import com.cms.routes.RouteMapping; 6 | import com.cms.util.SystemUtils; 7 | import com.cms.util.TemplateVariableUtils; 8 | 9 | /** 10 | * Controller - 系统设置 11 | * 12 | * 13 | * 14 | */ 15 | @RouteMapping(url = "/admin/config") 16 | public class ConfigController extends BaseController { 17 | 18 | /** 19 | * 编辑 20 | */ 21 | public void edit(){ 22 | setAttr("config", SystemUtils.getConfig()); 23 | setAttr("themes", SystemUtils.getThemes()); 24 | setAttr("configSiteModelNames", CommonAttribute.configSiteModelNames); 25 | setAttr("configTypeNames", CommonAttribute.configTypeNames); 26 | setAttr("configWatermarkPositionNames", CommonAttribute.configWatermarkPositionNames); 27 | render(getView("config/edit")); 28 | } 29 | 30 | /** 31 | * 更新 32 | */ 33 | public void update(){ 34 | Config config = getBean(Config.class, "",true); 35 | if(config.getIsWatermarkEnabled()==null){ 36 | config.setIsWatermarkEnabled(false); 37 | } 38 | if(config.getIsCronEnabled()==null){ 39 | config.setIsCronEnabled(false); 40 | } 41 | SystemUtils.setConfig(config); 42 | TemplateVariableUtils.setBaseVariable(); 43 | redirect("/admin/config/edit"); 44 | } 45 | } 46 | -------------------------------------------------------------------------------- /src/main/java/com/cms/controller/admin/ErrorController.java: -------------------------------------------------------------------------------- 1 | package com.cms.controller.admin; 2 | 3 | import com.cms.CommonAttribute; 4 | import com.cms.routes.RouteMapping; 5 | 6 | /** 7 | * Controller - 错误 8 | * 9 | * 10 | * 11 | */ 12 | @RouteMapping(url = "/admin/error") 13 | public class ErrorController extends BaseController { 14 | 15 | /** 16 | * 权限错误 17 | */ 18 | public void unauthorized() { 19 | render(CommonAttribute.ADMIN_UNAUTHORIZED_VIEW); 20 | } 21 | 22 | /** 23 | * 异常 24 | */ 25 | public void exception() { 26 | render(CommonAttribute.ADMIN_ERROR_VIEW); 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /src/main/java/com/cms/controller/admin/FileController.java: -------------------------------------------------------------------------------- 1 | /* 2 | * 3 | * 4 | * 5 | */ 6 | package com.cms.controller.admin; 7 | 8 | import java.util.HashMap; 9 | import java.util.Map; 10 | 11 | import org.apache.commons.lang.StringUtils; 12 | 13 | 14 | import com.cms.routes.RouteMapping; 15 | import com.cms.util.StorageUtils; 16 | 17 | import com.jfinal.upload.UploadFile; 18 | 19 | /** 20 | * Controller - 文件 21 | * 22 | * 23 | * 24 | */ 25 | @RouteMapping(url = "/admin/file") 26 | 27 | public class FileController extends BaseController { 28 | 29 | /** 30 | * 上传 31 | */ 32 | public void upload() { 33 | UploadFile uploadFile = getFile(); 34 | String fileType = getPara("fileType"); 35 | Map data = new HashMap(); 36 | if (fileType == null || uploadFile == null || uploadFile.getFile().length()==0) { 37 | data.put("message", "操作错误"); 38 | data.put("state", "ERROR"); 39 | renderJson(data); 40 | return; 41 | } 42 | String url = StorageUtils.upload(fileType, uploadFile, false); 43 | if (StringUtils.isEmpty(url)) { 44 | data.put("message", "上传文件出现错误"); 45 | data.put("state", "ERROR"); 46 | renderJson(data); 47 | return; 48 | } 49 | data.put("message", "成功"); 50 | data.put("state", "SUCCESS"); 51 | data.put("url", url); 52 | uploadFile.getFile().delete(); 53 | renderJson(data); 54 | } 55 | } -------------------------------------------------------------------------------- /src/main/java/com/cms/controller/admin/FormModelController.java: -------------------------------------------------------------------------------- 1 | /* 2 | * 3 | * 4 | * 5 | */ 6 | package com.cms.controller.admin; 7 | 8 | import java.util.Date; 9 | 10 | import org.apache.commons.lang.ArrayUtils; 11 | 12 | import com.cms.entity.FormModel; 13 | import com.cms.routes.RouteMapping; 14 | 15 | 16 | /** 17 | * Controller - 表单模型 18 | * 19 | * 20 | * 21 | */ 22 | @RouteMapping(url = "/admin/form_model") 23 | 24 | public class FormModelController extends BaseController { 25 | 26 | /** 27 | * 添加 28 | */ 29 | public void add() { 30 | render(getView("form_model/add")); 31 | } 32 | 33 | /** 34 | * 保存 35 | */ 36 | public void save() { 37 | FormModel formModel = getModel(FormModel.class,"",true); 38 | formModel.setCreateDate(new Date()); 39 | formModel.setModifyDate(new Date()); 40 | formModel.save(); 41 | redirect(getListQuery("/admin/form_model/list")); 42 | } 43 | 44 | /** 45 | * 编辑 46 | */ 47 | public void edit() { 48 | Long id = getParaToLong("id"); 49 | setAttr("formModel", new FormModel().dao().findById(id)); 50 | render(getView("form_model/edit")); 51 | } 52 | 53 | /** 54 | * 更新 55 | */ 56 | public void update() { 57 | FormModel formModel = getModel(FormModel.class,"",true); 58 | formModel.setModifyDate(new Date()); 59 | formModel.update(); 60 | redirect(getListQuery("/admin/form_model/list")); 61 | } 62 | 63 | /** 64 | * 列表 65 | */ 66 | public void list() { 67 | String name = getPara("name"); 68 | Integer pageNumber = getParaToInt("pageNumber"); 69 | if(pageNumber==null){ 70 | pageNumber = 1; 71 | } 72 | setAttr("page", new FormModel().dao().findPage(name,pageNumber,PAGE_SIZE)); 73 | setAttr("name", name); 74 | render(getView("form_model/list")); 75 | } 76 | 77 | /** 78 | * 删除 79 | */ 80 | public void delete() { 81 | Long ids[] = getParaValuesToLong("ids"); 82 | if(ArrayUtils.isNotEmpty(ids)){ 83 | for(Long id:ids){ 84 | new FormModel().dao().deleteById(id); 85 | } 86 | } 87 | renderJson(SUCCESS_FEEDBACK); 88 | } 89 | 90 | } -------------------------------------------------------------------------------- /src/main/java/com/cms/controller/admin/LoginController.java: -------------------------------------------------------------------------------- 1 | /* 2 | * 3 | * 4 | * 5 | */ 6 | package com.cms.controller.admin; 7 | 8 | import org.apache.commons.codec.digest.DigestUtils; 9 | import org.apache.commons.lang.StringUtils; 10 | 11 | import com.cms.Feedback; 12 | import com.cms.entity.Admin; 13 | import com.cms.routes.RouteMapping; 14 | 15 | /** 16 | * Controller - 管理员登录 17 | * 18 | * 19 | * 20 | */ 21 | @RouteMapping(url = "/admin/login") 22 | public class LoginController extends BaseController { 23 | 24 | /** 25 | * 登录 26 | */ 27 | public void index() { 28 | String username = getPara("username"); 29 | String password = getPara("password"); 30 | if(StringUtils.isNotBlank(username) && StringUtils.isNotBlank(password)){ 31 | Admin admin = new Admin().dao().findByUsername(username); 32 | if(admin==null){ 33 | setAttr("feedback", Feedback.error("用户名不存在!")); 34 | }else if(!admin.getPassword().equals(DigestUtils.md5Hex(password))){ 35 | setAttr("feedback", Feedback.error("用户名密码错误!")); 36 | }else if(!admin.getIsEnabled()){ 37 | setAttr("feedback", Feedback.error("账户被禁用!")); 38 | }else{ 39 | getSession().setAttribute(Admin.SESSION_ADMIN, admin); 40 | redirect("/admin/common/main"); 41 | return; 42 | } 43 | } 44 | render(getView("login/index")); 45 | } 46 | 47 | 48 | } -------------------------------------------------------------------------------- /src/main/java/com/cms/controller/admin/LogoutController.java: -------------------------------------------------------------------------------- 1 | package com.cms.controller.admin; 2 | 3 | import com.cms.entity.Admin; 4 | import com.cms.routes.RouteMapping; 5 | 6 | /** 7 | * Controller - 管理员退出 8 | * 9 | * 10 | * 11 | */ 12 | @RouteMapping(url = "/admin/logout") 13 | public class LogoutController extends BaseController{ 14 | 15 | /** 16 | * 退出 17 | */ 18 | public void index(){ 19 | getSession().removeAttribute(Admin.SESSION_ADMIN); 20 | redirect("/admin/login"); 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /src/main/java/com/cms/controller/admin/ProfileController.java: -------------------------------------------------------------------------------- 1 | /* 2 | * 3 | * 4 | * 5 | */ 6 | package com.cms.controller.admin; 7 | 8 | import java.util.Date; 9 | 10 | import org.apache.commons.codec.digest.DigestUtils; 11 | import org.apache.commons.lang.StringUtils; 12 | 13 | import com.cms.CommonAttribute; 14 | import com.cms.entity.Admin; 15 | 16 | import com.cms.routes.RouteMapping; 17 | 18 | 19 | /** 20 | * Controller - 个人资料 21 | * 22 | * 23 | * 24 | */ 25 | @RouteMapping(url = "/admin/profile") 26 | 27 | public class ProfileController extends BaseController { 28 | 29 | 30 | /** 31 | * 验证当前密码 32 | */ 33 | public void checkCurrentPassword() { 34 | String currentPassword = getPara("currentPassword"); 35 | if (StringUtils.isEmpty(currentPassword)) { 36 | renderJson(false); 37 | return; 38 | } 39 | Admin admin = getCurrentAdmin(); 40 | renderJson(StringUtils.equals(DigestUtils.md5Hex(currentPassword), admin.getPassword())); 41 | } 42 | 43 | /** 44 | * 编辑 45 | */ 46 | public void edit() { 47 | setAttr("admin", getCurrentAdmin()); 48 | render(getView("profile/edit")); 49 | } 50 | 51 | /** 52 | * 更新 53 | */ 54 | public void update() { 55 | String currentPassword = getPara("currentPassword"); 56 | String password = getPara("password"); 57 | Admin pAdmin = getCurrentAdmin(); 58 | if (StringUtils.isNotEmpty(currentPassword) && StringUtils.isNotEmpty(password)) { 59 | if (!StringUtils.equals(DigestUtils.md5Hex(currentPassword), pAdmin.getPassword())) { 60 | render(CommonAttribute.ADMIN_ERROR_VIEW); 61 | return; 62 | } 63 | pAdmin.setPassword(DigestUtils.md5Hex(password)); 64 | } 65 | pAdmin.setModifyDate(new Date()); 66 | pAdmin.update(); 67 | redirect("/admin/profile/edit"); 68 | } 69 | 70 | } -------------------------------------------------------------------------------- /src/main/java/com/cms/controller/admin/SitemapController.java: -------------------------------------------------------------------------------- 1 | /* 2 | * 3 | * 4 | * 5 | */ 6 | package com.cms.controller.admin; 7 | 8 | 9 | import com.cms.routes.RouteMapping; 10 | import com.cms.util.StaticUtils; 11 | import com.cms.util.TemplateUtils; 12 | 13 | 14 | /** 15 | * Controller - Sitemap 16 | * 17 | * 18 | * 19 | */ 20 | @RouteMapping(url = "/admin/sitemap") 21 | 22 | public class SitemapController extends BaseController { 23 | 24 | /** 25 | * 生成Sitemap 26 | */ 27 | public void generate() { 28 | setAttr("sitemapPath", TemplateUtils.getSitemapStaticPath()); 29 | render(getView("sitemap/generate")); 30 | } 31 | 32 | /** 33 | * 生成Sitemap 34 | */ 35 | public void generateSubmit() { 36 | StaticUtils.generateSitemap(); 37 | redirect("/admin/sitemap/generate"); 38 | } 39 | 40 | } -------------------------------------------------------------------------------- /src/main/java/com/cms/controller/admin/StoragePluginController.java: -------------------------------------------------------------------------------- 1 | /* 2 | * 3 | * 4 | * 5 | */ 6 | package com.cms.controller.admin; 7 | 8 | import com.cms.entity.StoragePlugin; 9 | 10 | import com.cms.routes.RouteMapping; 11 | 12 | 13 | /** 14 | * Controller - 存储插件 15 | * 16 | * 17 | * 18 | */ 19 | @RouteMapping(url = "/admin/storage_plugin") 20 | 21 | public class StoragePluginController extends BaseController { 22 | 23 | /** 24 | * 列表 25 | */ 26 | public void list() { 27 | setAttr("storagePlugins", new StoragePlugin().dao().findAll()); 28 | render(getView("storage_plugin/list")); 29 | } 30 | 31 | } -------------------------------------------------------------------------------- /src/main/java/com/cms/controller/admin/storage_plugin/FtpStorageController.java: -------------------------------------------------------------------------------- 1 | /* 2 | * 3 | * 4 | * 5 | */ 6 | package com.cms.controller.admin.storage_plugin; 7 | 8 | import java.util.HashMap; 9 | import java.util.Map; 10 | 11 | import org.apache.commons.lang.StringUtils; 12 | 13 | import com.alibaba.fastjson.JSONObject; 14 | import com.cms.controller.admin.BaseController; 15 | import com.cms.entity.StoragePlugin; 16 | 17 | import com.cms.routes.RouteMapping; 18 | 19 | 20 | /** 21 | * Controller - FTP存储 22 | * 23 | * 24 | * 25 | */ 26 | @RouteMapping(url = "/admin/storage_plugin/ftp_storage") 27 | 28 | public class FtpStorageController extends BaseController { 29 | 30 | /** 31 | * 设置 32 | */ 33 | public void setting() { 34 | String id = getPara("id"); 35 | StoragePlugin storagePlugin = new StoragePlugin().dao().findById(id); 36 | setAttr("storagePlugin", storagePlugin); 37 | render(getView("storage_plugin/ftp_storage/setting")); 38 | } 39 | 40 | /** 41 | * 更新 42 | */ 43 | public void update() { 44 | String host = getPara("host"); 45 | Integer port = getParaToInt("port"); 46 | String username = getPara("username"); 47 | String password = getPara("password"); 48 | String urlPrefix = getPara("urlPrefix"); 49 | Integer sort = getParaToInt("sort"); 50 | StoragePlugin storagePlugin = getModel(StoragePlugin.class,"",true); 51 | Map attributes = new HashMap(); 52 | attributes.put("host", host); 53 | attributes.put("port", String.valueOf(port)); 54 | attributes.put("username", username); 55 | attributes.put("password", password); 56 | attributes.put("urlPrefix", StringUtils.removeEnd(urlPrefix, "/")); 57 | storagePlugin.setAttribute(JSONObject.toJSONString(attributes)); 58 | if(storagePlugin.getIsEnabled()==null){ 59 | storagePlugin.setIsEnabled(false); 60 | } 61 | storagePlugin.setSort(sort); 62 | storagePlugin.update(); 63 | redirect(getListQuery("/admin/storage_plugin/list")); 64 | } 65 | 66 | } -------------------------------------------------------------------------------- /src/main/java/com/cms/controller/admin/storage_plugin/LocalStorageController.java: -------------------------------------------------------------------------------- 1 | /* 2 | * 3 | * 4 | * 5 | */ 6 | package com.cms.controller.admin.storage_plugin; 7 | 8 | import com.cms.controller.admin.BaseController; 9 | import com.cms.entity.StoragePlugin; 10 | 11 | import com.cms.routes.RouteMapping; 12 | 13 | 14 | /** 15 | * Controller - 本地文件存储 16 | * 17 | * 18 | * 19 | */ 20 | @RouteMapping(url = "/admin/storage_plugin/local_storage") 21 | 22 | public class LocalStorageController extends BaseController { 23 | 24 | /** 25 | * 设置 26 | */ 27 | public void setting() { 28 | String id = getPara("id"); 29 | StoragePlugin storagePlugin = new StoragePlugin().dao().findById(id); 30 | setAttr("storagePlugin", storagePlugin); 31 | render(getView("storage_plugin/local_storage/setting")); 32 | } 33 | 34 | /** 35 | * 更新 36 | */ 37 | public void update() { 38 | Integer sort = getParaToInt("sort"); 39 | StoragePlugin storagePlugin = getModel(StoragePlugin.class,"",true); 40 | if(storagePlugin.getIsEnabled()==null){ 41 | storagePlugin.setIsEnabled(false); 42 | } 43 | storagePlugin.setSort(sort); 44 | storagePlugin.update(); 45 | redirect(getListQuery("/admin/storage_plugin/list")); 46 | } 47 | 48 | } -------------------------------------------------------------------------------- /src/main/java/com/cms/controller/admin/storage_plugin/OssStorageController.java: -------------------------------------------------------------------------------- 1 | /* 2 | * 3 | * 4 | * 5 | */ 6 | package com.cms.controller.admin.storage_plugin; 7 | 8 | import java.util.HashMap; 9 | import java.util.Map; 10 | 11 | import org.apache.commons.lang.StringUtils; 12 | 13 | import com.alibaba.fastjson.JSONObject; 14 | import com.cms.controller.admin.BaseController; 15 | import com.cms.entity.StoragePlugin; 16 | 17 | import com.cms.routes.RouteMapping; 18 | 19 | 20 | /** 21 | * Controller - 阿里云存储 22 | * 23 | * 24 | * 25 | */ 26 | @RouteMapping(url = "/admin/storage_plugin/oss_storage") 27 | 28 | public class OssStorageController extends BaseController { 29 | 30 | 31 | /** 32 | * 设置 33 | */ 34 | public void setting() { 35 | String id = getPara("id"); 36 | StoragePlugin storagePlugin = new StoragePlugin().dao().findById(id); 37 | setAttr("storagePlugin", storagePlugin); 38 | render(getView("storage_plugin/oss_storage/setting")); 39 | } 40 | 41 | /** 42 | * 更新 43 | */ 44 | public void update() { 45 | String endpoint = getPara("endpoint"); 46 | String accessId = getPara("accessId"); 47 | String accessKey = getPara("accessKey"); 48 | String bucketName = getPara("bucketName"); 49 | String urlPrefix = getPara("urlPrefix"); 50 | Integer sort = getParaToInt("sort"); 51 | StoragePlugin storagePlugin = getModel(StoragePlugin.class,"",true); 52 | Map attributes = new HashMap(); 53 | attributes.put("endpoint", endpoint); 54 | attributes.put("accessId", accessId); 55 | attributes.put("accessKey", accessKey); 56 | attributes.put("bucketName", bucketName); 57 | attributes.put("urlPrefix", StringUtils.removeEnd(urlPrefix, "/")); 58 | storagePlugin.setAttribute(JSONObject.toJSONString(attributes)); 59 | storagePlugin.setSort(sort); 60 | storagePlugin.update(); 61 | redirect(getListQuery("/admin/storage_plugin/list")); 62 | } 63 | 64 | } -------------------------------------------------------------------------------- /src/main/java/com/cms/controller/common/AreaController.java: -------------------------------------------------------------------------------- 1 | package com.cms.controller.common; 2 | 3 | import java.util.ArrayList; 4 | import java.util.Collection; 5 | import java.util.HashMap; 6 | import java.util.List; 7 | import java.util.Map; 8 | 9 | import com.cms.entity.Area; 10 | import com.cms.routes.RouteMapping; 11 | import com.jfinal.core.Controller; 12 | @RouteMapping(url = "/common/area") 13 | public class AreaController extends Controller{ 14 | 15 | /** 16 | * 地区 17 | */ 18 | public void index() { 19 | Long parentId = getParaToLong("parentId"); 20 | List> data = new ArrayList>(); 21 | Area parent = new Area().dao().findById(parentId); 22 | Collection areas = parent != null ? parent.getChildren() : new Area().dao().findRoots(); 23 | for (Area area : areas) { 24 | Map item = new HashMap(); 25 | item.put("name", area.getName()); 26 | item.put("value", area.getId()); 27 | data.add(item); 28 | } 29 | renderJson(data); 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /src/main/java/com/cms/controller/common/CaptchaController.java: -------------------------------------------------------------------------------- 1 | package com.cms.controller.common; 2 | 3 | import com.cms.routes.RouteMapping; 4 | import com.jfinal.core.Controller; 5 | @RouteMapping(url = "/common/captcha") 6 | public class CaptchaController extends Controller{ 7 | 8 | public void image(){ 9 | renderCaptcha(); 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /src/main/java/com/cms/controller/front/BaseController.java: -------------------------------------------------------------------------------- 1 | /* 2 | * 3 | * 4 | * 5 | */ 6 | package com.cms.controller.front; 7 | 8 | import java.math.BigDecimal; 9 | 10 | import org.apache.commons.lang.StringUtils; 11 | 12 | import com.cms.Feedback; 13 | import com.cms.util.SystemUtils; 14 | import com.jfinal.core.Controller; 15 | 16 | /** 17 | * Controller - 基类 18 | * 19 | * 20 | * 21 | */ 22 | public class BaseController extends Controller{ 23 | 24 | /** 错误消息 */ 25 | protected static final Feedback ERROR_FEEDBACK = Feedback.error("错误"); 26 | 27 | /** 成功消息 */ 28 | protected static final Feedback SUCCESS_FEEDBACK = Feedback.success("成功"); 29 | 30 | /** 31 | * 获取主题 32 | * 33 | * @return 主题 34 | */ 35 | public String getTheme(){ 36 | return SystemUtils.getConfig().getTheme(); 37 | } 38 | 39 | /** 40 | * 获取BigDecimal数据 41 | * 42 | * @param name 43 | * 名称 44 | * @return BigDecimal数据 45 | */ 46 | public BigDecimal getParaToBigDecimal(String name){ 47 | String value = getPara(name); 48 | if(StringUtils.isNotBlank(value)){ 49 | return new BigDecimal(value); 50 | } 51 | return null; 52 | } 53 | 54 | } -------------------------------------------------------------------------------- /src/main/java/com/cms/controller/front/CategoryController.java: -------------------------------------------------------------------------------- 1 | package com.cms.controller.front; 2 | 3 | import com.cms.CommonAttribute; 4 | import com.cms.entity.Category; 5 | import com.cms.entity.Content; 6 | import com.cms.routes.RouteMapping; 7 | 8 | /** 9 | * Controller - 栏目 10 | * 11 | * 12 | * 13 | */ 14 | @RouteMapping(url = "/category") 15 | public class CategoryController extends BaseController { 16 | 17 | /** 18 | * 栏目 19 | */ 20 | public void index() { 21 | Long categoryId = getParaToLong(0); 22 | Category currentCategory = new Category().dao().findById(categoryId); 23 | setAttr("currentCategory", currentCategory); 24 | if(CommonAttribute.CATEGORY_TYPE_PAGE.equals(currentCategory.getType())){ 25 | render("/templates/"+getTheme()+"/front/"+currentCategory.getPageTemplate()); 26 | }else{ 27 | Integer pageNumber = getParaToInt("pageNumber"); 28 | if(pageNumber==null){ 29 | pageNumber = 1; 30 | } 31 | int pageSize = 20 ; 32 | if(currentCategory.getListPageSize()!=null){ 33 | pageSize = currentCategory.getListPageSize(); 34 | } 35 | setAttr("page", new Content().dao().findPage(categoryId, true,null,pageNumber,pageSize)); 36 | render("/templates/"+getTheme()+"/front/"+currentCategory.getListTemplate()); 37 | } 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /src/main/java/com/cms/controller/front/ContentController.java: -------------------------------------------------------------------------------- 1 | /* 2 | * 3 | * 4 | * 5 | */ 6 | package com.cms.controller.front; 7 | 8 | import com.cms.entity.Content; 9 | import com.cms.routes.RouteMapping; 10 | 11 | /** 12 | * Controller - 内容 13 | * 14 | * 15 | * 16 | */ 17 | @RouteMapping(url = "/content") 18 | public class ContentController extends BaseController { 19 | 20 | /** 21 | * 内容 22 | */ 23 | public void index() { 24 | Long contentId = getParaToLong(0); 25 | Content content = new Content().dao().findById(contentId); 26 | setAttr("content", content); 27 | render("/templates/"+getTheme()+"/front/"+content.getCategory().getContentTemplate()); 28 | } 29 | 30 | /** 31 | * 点击数 32 | */ 33 | public void hits() { 34 | Long id = getParaToLong(0); 35 | if (id == null) { 36 | renderJson(0L); 37 | return; 38 | } 39 | Content content = new Content().dao().findById(id); 40 | Long hits = content.getHits(); 41 | hits = hits+1; 42 | content.setHits(hits); 43 | content.update(); 44 | renderJson(hits); 45 | } 46 | 47 | } -------------------------------------------------------------------------------- /src/main/java/com/cms/controller/front/FormController.java: -------------------------------------------------------------------------------- 1 | package com.cms.controller.front; 2 | 3 | import java.util.Date; 4 | import java.util.HashMap; 5 | import java.util.List; 6 | import java.util.Map; 7 | 8 | import com.alibaba.fastjson.JSONObject; 9 | import com.cms.entity.Form; 10 | import com.cms.entity.FormField; 11 | import com.cms.entity.FormModel; 12 | import com.cms.routes.RouteMapping; 13 | /** 14 | * Controller - 表单 15 | * 16 | * 17 | * 18 | */ 19 | @RouteMapping(url = "/form") 20 | public class FormController extends BaseController { 21 | 22 | /** 23 | * 保存 24 | */ 25 | public void save(){ 26 | Long formModelId = getParaToLong("formModelId"); 27 | Long contentId = getParaToLong("contentId"); 28 | List formFields = new FormField().dao().findList(formModelId, null); 29 | Map model = new HashMap(); 30 | for(FormField formField : formFields){ 31 | String value = getPara(formField.getName()); 32 | model.put(formField.getName(), value); 33 | } 34 | Form form = new Form(); 35 | form.setCreateDate(new Date()); 36 | form.setModifyDate(new Date()); 37 | form.setFormModelId(formModelId); 38 | form.setContentId(contentId); 39 | form.setFormFieldValue(JSONObject.toJSONString(model)); 40 | form.setIsEnabled(false); 41 | form.save(); 42 | renderJson(SUCCESS_FEEDBACK); 43 | } 44 | 45 | /** 46 | * 内容 47 | */ 48 | public void list(){ 49 | Long formModelId = getParaToLong("formModelId"); 50 | Long contentId = getParaToLong("contentId"); 51 | Integer pageNumber = getParaToInt("pageNumber"); 52 | if(pageNumber==null){ 53 | pageNumber = 1; 54 | } 55 | int pageSize = 20 ; 56 | setAttr("page", new Form().dao().findPage(formModelId, contentId, pageNumber,pageSize)); 57 | FormModel formModel = new FormModel().dao().findById(formModelId); 58 | render("/templates/"+getTheme()+"/front/"+formModel.getListTemplate()); 59 | } 60 | } 61 | -------------------------------------------------------------------------------- /src/main/java/com/cms/controller/front/IndexController.java: -------------------------------------------------------------------------------- 1 | package com.cms.controller.front; 2 | 3 | import com.cms.CommonAttribute; 4 | import com.cms.routes.RouteMapping; 5 | import com.cms.util.SystemUtils; 6 | 7 | /** 8 | * Controller - 首页 9 | * 10 | * 11 | * 12 | */ 13 | @RouteMapping(url = "/") 14 | public class IndexController extends BaseController { 15 | 16 | /** 17 | * 首页 18 | */ 19 | public void index() { 20 | if(CommonAttribute.CONFIG_SITE_MODEL_DYNAMIC.equals(SystemUtils.getConfig().getSiteModel())){ 21 | render("/templates/"+getTheme()+"/front/index.html"); 22 | }else if(CommonAttribute.CONFIG_SITE_MODEL_STATIC.equals(SystemUtils.getConfig().getSiteModel())){ 23 | render("index.html"); 24 | } 25 | } 26 | } 27 | 28 | 29 | 30 | 31 | 32 | -------------------------------------------------------------------------------- /src/main/java/com/cms/entity/Ad.java: -------------------------------------------------------------------------------- 1 | package com.cms.entity; 2 | 3 | import org.apache.commons.lang.StringUtils; 4 | 5 | import com.alibaba.fastjson.annotation.JSONField; 6 | import com.cms.entity.base.BaseAd; 7 | import com.cms.util.DBUtils; 8 | import com.jfinal.plugin.activerecord.Page; 9 | 10 | /** 11 | * Entity - 广告 12 | * 13 | * 14 | * 15 | */ 16 | @SuppressWarnings("serial") 17 | public class Ad extends BaseAd { 18 | 19 | /** 20 | * 广告位 21 | */ 22 | @JSONField(serialize=false) 23 | private AdPosition adPosition; 24 | 25 | /** 26 | * 获取广告位 27 | * 28 | * @return 广告位 29 | */ 30 | public AdPosition getAdPosition(){ 31 | if(adPosition == null){ 32 | adPosition = new AdPosition().dao().findById(getAdPositionId()); 33 | } 34 | return adPosition; 35 | } 36 | 37 | /** 38 | * 查找广告分页 39 | * 40 | * @param pageNumber 41 | * 页码 42 | * @param pageSize 43 | * 每页记录数 44 | * @return 广告分页 45 | */ 46 | public Page findPage(String title,Integer pageNumber,Integer pageSize){ 47 | String filterSql = ""; 48 | if(StringUtils.isNotBlank(title)){ 49 | filterSql+= " and title like '%"+title+"%'"; 50 | } 51 | String orderBySql = DBUtils.getOrderBySql("createDate desc"); 52 | return paginate(pageNumber, pageSize, "select *", "from kf_ad where 1=1 "+filterSql+orderBySql); 53 | } 54 | } 55 | -------------------------------------------------------------------------------- /src/main/java/com/cms/entity/AdPosition.java: -------------------------------------------------------------------------------- 1 | package com.cms.entity; 2 | 3 | import java.util.List; 4 | 5 | import org.apache.commons.lang.StringUtils; 6 | 7 | import com.alibaba.fastjson.annotation.JSONField; 8 | import com.cms.entity.base.BaseAdPosition; 9 | import com.cms.util.DBUtils; 10 | import com.jfinal.plugin.activerecord.Page; 11 | 12 | /** 13 | * Entity - 广告位 14 | * 15 | * 16 | * 17 | */ 18 | @SuppressWarnings("serial") 19 | public class AdPosition extends BaseAdPosition { 20 | 21 | /** 22 | * 广告 23 | */ 24 | @JSONField(serialize=false) 25 | private List ads; 26 | 27 | /** 28 | * 查找所有广告位 29 | * 30 | * @return 所有广告位 31 | */ 32 | public List findAll(){ 33 | return find("select * from kf_ad_position"); 34 | } 35 | 36 | /** 37 | * 查找广告位分页 38 | * 39 | * @param pageNumber 40 | * 页码 41 | * @param pageSize 42 | * 每页记录数 43 | * @return 广告位分页 44 | */ 45 | public Page findPage(String name,Integer pageNumber,Integer pageSize){ 46 | String filterSql = ""; 47 | if(StringUtils.isNotBlank(name)){ 48 | filterSql+= " and name like '%"+name+"%'"; 49 | } 50 | String orderBySql = DBUtils.getOrderBySql("createDate desc"); 51 | return paginate(pageNumber, pageSize, "select *", "from kf_ad_position where 1=1 "+filterSql+orderBySql); 52 | } 53 | 54 | /** 55 | * 获取广告 56 | * 57 | * @return 广告 58 | */ 59 | public List getAds(){ 60 | if(ads == null){ 61 | ads = new Ad().dao().find("select * from kf_ad where adPositionId=?",getId()); 62 | } 63 | return ads; 64 | } 65 | } 66 | -------------------------------------------------------------------------------- /src/main/java/com/cms/entity/AdminRole.java: -------------------------------------------------------------------------------- 1 | package com.cms.entity; 2 | 3 | import java.util.List; 4 | 5 | import com.cms.entity.base.BaseAdminRole; 6 | 7 | /** 8 | * Entity - 管理员角色 9 | * 10 | * 11 | * 12 | */ 13 | @SuppressWarnings("serial") 14 | public class AdminRole extends BaseAdminRole { 15 | 16 | 17 | /** 18 | * 根据管理员ID查找管理员角色 19 | * 20 | * @param adminId 21 | * 管理员ID 22 | * @return 管理员角色 23 | */ 24 | public List findByAdminId(Long adminId){ 25 | return find("select * from kf_admin_role where adminId=?",adminId); 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /src/main/java/com/cms/entity/ContentField.java: -------------------------------------------------------------------------------- 1 | package com.cms.entity; 2 | 3 | import java.util.List; 4 | 5 | import com.alibaba.fastjson.JSONObject; 6 | import com.cms.FieldAttribute; 7 | import com.cms.entity.base.BaseContentField; 8 | 9 | /** 10 | * Entity - 内容字段 11 | * 12 | * 13 | * 14 | */ 15 | @SuppressWarnings("serial") 16 | public class ContentField extends BaseContentField { 17 | 18 | /** 19 | * 内容模型 20 | */ 21 | private ContentModel contentModel; 22 | 23 | /** 24 | * 获取内容模型 25 | * 26 | * @return 内容模型 27 | */ 28 | public ContentModel getContentModel(){ 29 | if(contentModel == null){ 30 | contentModel = new ContentModel().dao().findById(getContentModelId()); 31 | } 32 | return contentModel; 33 | } 34 | 35 | /** 36 | * 查找内容字段 37 | * 38 | * @param contentModelId 39 | * 内容模型ID 40 | * @return 内容字段 41 | */ 42 | public List findList(Long contentModelId){ 43 | String filterSql = ""; 44 | if(contentModelId != null){ 45 | filterSql+= " and contentModelId = "+contentModelId; 46 | } 47 | return find("select * from kf_content_field where 1=1 "+filterSql); 48 | } 49 | 50 | /** 51 | * 获取字段属性 52 | * 53 | * @return 字段属性 54 | */ 55 | public FieldAttribute getFieldAttribute(){ 56 | FieldAttribute fieldAttribute = JSONObject.parseObject(getAttributeValue(), FieldAttribute.class); 57 | return fieldAttribute; 58 | } 59 | } 60 | -------------------------------------------------------------------------------- /src/main/java/com/cms/entity/ContentModel.java: -------------------------------------------------------------------------------- 1 | package com.cms.entity; 2 | 3 | import java.util.List; 4 | 5 | import org.apache.commons.lang.StringUtils; 6 | 7 | import com.cms.entity.base.BaseContentModel; 8 | import com.cms.util.DBUtils; 9 | import com.jfinal.plugin.activerecord.Page; 10 | 11 | /** 12 | * Entity - 内容模型 13 | * 14 | * 15 | * 16 | */ 17 | @SuppressWarnings("serial") 18 | public class ContentModel extends BaseContentModel { 19 | 20 | /** 21 | * 查找内容模型分页 22 | * 23 | * @param pageNumber 24 | * 页码 25 | * @param pageSize 26 | * 每页记录数 27 | * @return 模型分页 28 | */ 29 | public Page findPage(String name,Integer pageNumber,Integer pageSize){ 30 | String filterSql = ""; 31 | if(StringUtils.isNotBlank(name)){ 32 | filterSql+= " and name like '%"+name+"%'"; 33 | } 34 | String orderBySql = DBUtils.getOrderBySql("createDate desc"); 35 | return paginate(pageNumber, pageSize, "select *", "from kf_content_model where 1=1 "+filterSql+orderBySql); 36 | } 37 | 38 | /** 39 | * 查找所有内容模型 40 | * 41 | * @return 所有内容模型 42 | */ 43 | public List findAll(){ 44 | return find("select * from kf_content_model"); 45 | } 46 | } 47 | -------------------------------------------------------------------------------- /src/main/java/com/cms/entity/Form.java: -------------------------------------------------------------------------------- 1 | package com.cms.entity; 2 | 3 | import java.util.List; 4 | 5 | import com.alibaba.fastjson.JSONObject; 6 | import com.cms.entity.base.BaseForm; 7 | import com.cms.util.DBUtils; 8 | import com.jfinal.plugin.activerecord.Page; 9 | 10 | /** 11 | * Entity - 表单 12 | * 13 | * 14 | * 15 | */ 16 | @SuppressWarnings("serial") 17 | public class Form extends BaseForm
{ 18 | 19 | /** 20 | * 查找表单分页 21 | * 22 | * @param formModelId 23 | * 表单模型ID 24 | * @param pageNumber 25 | * 页码 26 | * @param pageSize 27 | * 每页记录数 28 | * @return 表单分页 29 | */ 30 | public Page findPage(Long formModelId,Long contentId,Integer pageNumber,Integer pageSize){ 31 | String filterSql = ""; 32 | if(formModelId!=null){ 33 | filterSql+=" and formModelId = " + formModelId; 34 | } 35 | if(contentId!=null){ 36 | filterSql+=" and contentId = " + contentId; 37 | } 38 | String orderBySql = DBUtils.getOrderBySql("createDate desc"); 39 | return paginate(pageNumber, pageSize, "select *", "from kf_form where 1=1 "+filterSql+orderBySql); 40 | } 41 | 42 | /** 43 | * 查找内容字段 44 | * 45 | * @param contentModelId 46 | * 内容模型ID 47 | * @return 内容字段 48 | */ 49 | public List findList(Long formModelId,Long contentId,Integer count,String orderBy){ 50 | String filterSql = ""; 51 | if(formModelId!=null){ 52 | filterSql+=" and formModelId = " + formModelId; 53 | } 54 | if(contentId!=null){ 55 | filterSql+=" and contentId = " + contentId; 56 | } 57 | String orderBySql = DBUtils.getOrderBySql("createDate desc"); 58 | return find("select * from kf_form where 1=1 "+filterSql+orderBySql); 59 | } 60 | 61 | /** 62 | * 获取属性值 63 | * @param key 64 | * key 65 | * @return 66 | */ 67 | public String getFieldValue(String key){ 68 | return JSONObject.parseObject(getFormFieldValue()).getString(key); 69 | } 70 | } 71 | -------------------------------------------------------------------------------- /src/main/java/com/cms/entity/FormField.java: -------------------------------------------------------------------------------- 1 | package com.cms.entity; 2 | 3 | import java.util.List; 4 | 5 | import org.apache.commons.lang.BooleanUtils; 6 | 7 | import com.alibaba.fastjson.JSONObject; 8 | import com.alibaba.fastjson.annotation.JSONField; 9 | import com.cms.FieldAttribute; 10 | import com.cms.entity.base.BaseFormField; 11 | 12 | /** 13 | * Entity - 表单字段 14 | * 15 | * 16 | * 17 | */ 18 | @SuppressWarnings("serial") 19 | public class FormField extends BaseFormField { 20 | 21 | /** 22 | * 表单模型 23 | */ 24 | private FormModel formModel; 25 | 26 | /** 27 | * 获取表单模型 28 | * 29 | * @return 表单模型 30 | */ 31 | public FormModel getFormModel(){ 32 | if(formModel == null){ 33 | formModel = new FormModel().dao().findById(getFormModelId()); 34 | } 35 | return formModel; 36 | } 37 | 38 | /** 39 | * 查找表单字段 40 | * 41 | * @param formModelId 42 | * 表单模型ID 43 | * @param isAdminShow 44 | * 是否后台展示 45 | * @return 表单字段 46 | */ 47 | public List findList(Long formModelId,Boolean isAdminShow){ 48 | String filterSql = ""; 49 | if(formModelId != null){ 50 | filterSql+= " and formModelId = "+formModelId; 51 | } 52 | if(isAdminShow != null){ 53 | filterSql+= " and isAdminShow = "+BooleanUtils.toInteger(isAdminShow); 54 | } 55 | return find("select * from kf_form_field where 1=1 "+filterSql); 56 | } 57 | 58 | /** 59 | * 获取字段属性 60 | * 61 | * @return 字段属性 62 | */ 63 | public FieldAttribute getFieldAttribute(){ 64 | FieldAttribute fieldAttribute = JSONObject.parseObject(getAttributeValue(), FieldAttribute.class); 65 | return fieldAttribute; 66 | } 67 | } 68 | -------------------------------------------------------------------------------- /src/main/java/com/cms/entity/FormModel.java: -------------------------------------------------------------------------------- 1 | package com.cms.entity; 2 | 3 | import java.util.List; 4 | 5 | import org.apache.commons.lang.StringUtils; 6 | 7 | import com.cms.entity.base.BaseFormModel; 8 | import com.cms.util.DBUtils; 9 | import com.jfinal.plugin.activerecord.Page; 10 | 11 | /** 12 | * Entity - 表单模型 13 | * 14 | * 15 | * 16 | */ 17 | @SuppressWarnings("serial") 18 | public class FormModel extends BaseFormModel { 19 | 20 | /** 21 | * 查找表单模型分页 22 | * 23 | * @param pageNumber 24 | * 页码 25 | * @param pageSize 26 | * 每页记录数 27 | * @return 表单模型分页 28 | */ 29 | public Page findPage(String name,Integer pageNumber,Integer pageSize){ 30 | String filterSql = ""; 31 | if(StringUtils.isNotBlank(name)){ 32 | filterSql+= " and name like '%"+name+"%'"; 33 | } 34 | String orderBySql = DBUtils.getOrderBySql("createDate desc"); 35 | return paginate(pageNumber, pageSize, "select *", "from kf_form_model where 1=1 "+filterSql+orderBySql); 36 | } 37 | 38 | /** 39 | * 查找所有表单模型 40 | * 41 | * @return 所有表单模型 42 | */ 43 | public List findAll(){ 44 | return find("select * from kf_form_model"); 45 | } 46 | } 47 | -------------------------------------------------------------------------------- /src/main/java/com/cms/entity/Role.java: -------------------------------------------------------------------------------- 1 | package com.cms.entity; 2 | 3 | import java.util.List; 4 | 5 | import org.apache.commons.lang.StringUtils; 6 | 7 | import com.alibaba.fastjson.JSONArray; 8 | import com.alibaba.fastjson.annotation.JSONField; 9 | import com.cms.entity.base.BaseRole; 10 | import com.cms.util.DBUtils; 11 | import com.jfinal.plugin.activerecord.Page; 12 | 13 | /** 14 | * Entity - 角色 15 | * 16 | * 17 | * 18 | */ 19 | @SuppressWarnings("serial") 20 | public class Role extends BaseRole { 21 | 22 | /** 23 | * 管理员 24 | */ 25 | @JSONField(serialize=false) 26 | private List admins; 27 | 28 | /** 29 | * 查找所有角色 30 | * 31 | * @return 所有角色 32 | */ 33 | public List findAll(){ 34 | return find("select * from kf_role"); 35 | } 36 | 37 | /** 38 | * 获取权限 39 | * 40 | * @return 权限 41 | */ 42 | public List getPermissions() { 43 | return JSONArray.parseArray(getPermission(), String.class); 44 | } 45 | 46 | /** 47 | * 获取管理员 48 | * 49 | * @return 管理员 50 | */ 51 | public List getAdmins() { 52 | if(admins == null){ 53 | admins = new Admin().dao().find("select * from kf_admin where id in(select adminId from kf_admin_role where roleId=?)",getId()); 54 | } 55 | return admins; 56 | } 57 | 58 | /** 59 | * 查找角色分页 60 | * 61 | * @param pageNumber 62 | * 页码 63 | * @param pageSize 64 | * 每页记录数 65 | * @return 角色分页 66 | */ 67 | public Page findPage(String name,Integer pageNumber,Integer pageSize){ 68 | String filterSql = ""; 69 | if(StringUtils.isNotBlank(name)){ 70 | filterSql+= " and name like '%"+name+"%'"; 71 | } 72 | String orderBySql = DBUtils.getOrderBySql("createDate desc"); 73 | return paginate(pageNumber, pageSize, "select *", "from kf_role where 1=1 "+filterSql+orderBySql); 74 | } 75 | } 76 | -------------------------------------------------------------------------------- /src/main/java/com/cms/entity/Setting.java: -------------------------------------------------------------------------------- 1 | package com.cms.entity; 2 | 3 | import java.util.List; 4 | 5 | import com.cms.entity.base.BaseSetting; 6 | 7 | /** 8 | * Entity - 设置 9 | * 10 | * 11 | * 12 | */ 13 | @SuppressWarnings("serial") 14 | public class Setting extends BaseSetting { 15 | 16 | /** 17 | * 查找设置 18 | * 19 | * @param name 20 | * name 21 | * @return 设置 22 | */ 23 | public Setting findByName(String name){ 24 | return findFirst("select * from kf_setting where name = ?",name); 25 | } 26 | 27 | /** 28 | * 查找所有设置 29 | * 30 | * @return 所有设置 31 | */ 32 | public List findAll(){ 33 | return find("select * from kf_setting"); 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /src/main/java/com/cms/entity/Tag.java: -------------------------------------------------------------------------------- 1 | package com.cms.entity; 2 | 3 | import org.apache.commons.lang.StringUtils; 4 | 5 | import com.cms.entity.base.BaseTag; 6 | import com.cms.util.DBUtils; 7 | import com.jfinal.plugin.activerecord.Page; 8 | 9 | /** 10 | * Entity - 标签 11 | * 12 | * 13 | * 14 | */ 15 | @SuppressWarnings("serial") 16 | public class Tag extends BaseTag { 17 | 18 | /** 19 | * 查找标签分页 20 | * 21 | * @param pageNumber 22 | * 页码 23 | * @param pageSize 24 | * 每页记录数 25 | * @return 标签分页 26 | */ 27 | public Page findPage(String name,Integer pageNumber,Integer pageSize){ 28 | String filterSql = ""; 29 | if(StringUtils.isNotBlank(name)){ 30 | filterSql+= " and name like '%"+name+"%'"; 31 | } 32 | String orderBySql = DBUtils.getOrderBySql("createDate desc"); 33 | return paginate(pageNumber, pageSize, "select *", "from kf_tag where 1=1 "+filterSql+orderBySql); 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /src/main/java/com/cms/entity/_JFinalDemoGenerator.java: -------------------------------------------------------------------------------- 1 | package com.cms.entity; 2 | 3 | import javax.sql.DataSource; 4 | 5 | import com.jfinal.kit.PropKit; 6 | import com.jfinal.plugin.activerecord.generator.Generator; 7 | import com.jfinal.plugin.druid.DruidPlugin; 8 | 9 | /** 10 | * 本 demo 仅表达最为粗浅的 jfinal 用法,更为有价值的实用的企业级用法 11 | * 详见 JFinal 俱乐部: http://jfinal.com/club 12 | * 13 | * 在数据库表有任何变动时,运行一下 main 方法,极速响应变化进行代码重构 14 | */ 15 | public class _JFinalDemoGenerator { 16 | 17 | public static DataSource getDataSource() { 18 | PropKit.use("config.properties"); 19 | DruidPlugin druidPlugin = new DruidPlugin(PropKit.get("jdbc.url"), PropKit.get("jdbc.username"), PropKit.get("jdbc.password"),PropKit.get("jdbc.driver")); 20 | druidPlugin.start(); 21 | return druidPlugin.getDataSource(); 22 | } 23 | 24 | public static void main(String[] args) { 25 | // base model 所使用的包名 26 | String baseModelPackageName = "com.cms.entity.base"; 27 | // base model 文件保存路径 28 | String baseModelOutputDir = "c:/src/com/cms/entity/base"; 29 | 30 | // model 所使用的包名 (MappingKit 默认使用的包名) 31 | String modelPackageName = "com.cms.entity"; 32 | // model 文件保存路径 (MappingKit 与 DataDictionary 文件默认保存路径) 33 | String modelOutputDir = baseModelOutputDir + "/.."; 34 | 35 | // 创建生成器 36 | Generator generator = new Generator(getDataSource(), baseModelPackageName, baseModelOutputDir, modelPackageName, modelOutputDir); 37 | // 设置是否生成链式 setter 方法 38 | generator.setGenerateChainSetter(false); 39 | // 添加不需要生成的表名 40 | // generator.addExcludedTable("adv"); 41 | // 设置是否在 Model 中生成 dao 对象 42 | generator.setGenerateDaoInModel(true); 43 | // 设置是否生成链式 setter 方法 44 | generator.setGenerateChainSetter(true); 45 | // 设置是否生成字典文件 46 | generator.setGenerateDataDictionary(false); 47 | // 设置需要被移除的表名前缀用于生成modelName。例如表名 "osc_user",移除前缀 "osc_"后生成的model名为 "User"而非 OscUser 48 | generator.setRemovedTableNamePrefixes("kf_"); 49 | // 生成 50 | generator.generate(); 51 | } 52 | } 53 | 54 | 55 | 56 | 57 | -------------------------------------------------------------------------------- /src/main/java/com/cms/entity/_MappingKit.java: -------------------------------------------------------------------------------- 1 | package com.cms.entity; 2 | 3 | import com.jfinal.plugin.activerecord.ActiveRecordPlugin; 4 | 5 | /** 6 | * Generated by JFinal, do not modify this file. 7 | *
 8 |  * Example:
 9 |  * public void configPlugin(Plugins me) {
10 |  *     ActiveRecordPlugin arp = new ActiveRecordPlugin(...);
11 |  *     _MappingKit.mapping(arp);
12 |  *     me.add(arp);
13 |  * }
14 |  * 
15 | */ 16 | public class _MappingKit { 17 | 18 | public static void mapping(ActiveRecordPlugin arp) { 19 | arp.addMapping("kf_ad", "id", Ad.class); 20 | arp.addMapping("kf_ad_position", "id", AdPosition.class); 21 | arp.addMapping("kf_admin", "id", Admin.class); 22 | // Composite Primary Key order: adminId,roleId 23 | arp.addMapping("kf_admin_role", "adminId,roleId", AdminRole.class); 24 | arp.addMapping("kf_area", "id", Area.class); 25 | arp.addMapping("kf_category", "id", Category.class); 26 | arp.addMapping("kf_content", "id", Content.class); 27 | arp.addMapping("kf_content_field", "id", ContentField.class); 28 | arp.addMapping("kf_content_model", "id", ContentModel.class); 29 | arp.addMapping("kf_form", "id", Form.class); 30 | arp.addMapping("kf_form_field", "id", FormField.class); 31 | arp.addMapping("kf_form_model", "id", FormModel.class); 32 | arp.addMapping("kf_friend_link", "id", FriendLink.class); 33 | arp.addMapping("kf_role", "id", Role.class); 34 | arp.addMapping("kf_setting", "id", Setting.class); 35 | arp.addMapping("kf_storage_plugin", "id", StoragePlugin.class); 36 | arp.addMapping("kf_tag", "id", Tag.class); 37 | } 38 | } 39 | 40 | -------------------------------------------------------------------------------- /src/main/java/com/cms/entity/base/BaseAdPosition.java: -------------------------------------------------------------------------------- 1 | package com.cms.entity.base; 2 | 3 | import com.jfinal.plugin.activerecord.Model; 4 | import com.jfinal.plugin.activerecord.IBean; 5 | 6 | /** 7 | * Generated by JFinal, do not modify this file. 8 | */ 9 | @SuppressWarnings({"serial", "unchecked"}) 10 | public abstract class BaseAdPosition> extends Model implements IBean { 11 | 12 | public M setId(java.lang.Long id) { 13 | set("id", id); 14 | return (M)this; 15 | } 16 | 17 | public java.lang.Long getId() { 18 | return getLong("id"); 19 | } 20 | 21 | public M setCreateDate(java.util.Date createDate) { 22 | set("createDate", createDate); 23 | return (M)this; 24 | } 25 | 26 | public java.util.Date getCreateDate() { 27 | return get("createDate"); 28 | } 29 | 30 | public M setModifyDate(java.util.Date modifyDate) { 31 | set("modifyDate", modifyDate); 32 | return (M)this; 33 | } 34 | 35 | public java.util.Date getModifyDate() { 36 | return get("modifyDate"); 37 | } 38 | 39 | public M setDescription(java.lang.String description) { 40 | set("description", description); 41 | return (M)this; 42 | } 43 | 44 | public java.lang.String getDescription() { 45 | return getStr("description"); 46 | } 47 | 48 | public M setName(java.lang.String name) { 49 | set("name", name); 50 | return (M)this; 51 | } 52 | 53 | public java.lang.String getName() { 54 | return getStr("name"); 55 | } 56 | 57 | public M setTemplate(java.lang.String template) { 58 | set("template", template); 59 | return (M)this; 60 | } 61 | 62 | public java.lang.String getTemplate() { 63 | return getStr("template"); 64 | } 65 | 66 | } 67 | -------------------------------------------------------------------------------- /src/main/java/com/cms/entity/base/BaseAdminRole.java: -------------------------------------------------------------------------------- 1 | package com.cms.entity.base; 2 | 3 | import com.jfinal.plugin.activerecord.Model; 4 | import com.jfinal.plugin.activerecord.IBean; 5 | 6 | /** 7 | * Generated by JFinal, do not modify this file. 8 | */ 9 | @SuppressWarnings({"serial", "unchecked"}) 10 | public abstract class BaseAdminRole> extends Model implements IBean { 11 | 12 | public M setAdminId(java.lang.Long adminId) { 13 | set("adminId", adminId); 14 | return (M)this; 15 | } 16 | 17 | public java.lang.Long getAdminId() { 18 | return getLong("adminId"); 19 | } 20 | 21 | public M setRoleId(java.lang.Long roleId) { 22 | set("roleId", roleId); 23 | return (M)this; 24 | } 25 | 26 | public java.lang.Long getRoleId() { 27 | return getLong("roleId"); 28 | } 29 | 30 | } 31 | -------------------------------------------------------------------------------- /src/main/java/com/cms/entity/base/BaseContentModel.java: -------------------------------------------------------------------------------- 1 | package com.cms.entity.base; 2 | 3 | import com.jfinal.plugin.activerecord.Model; 4 | import com.jfinal.plugin.activerecord.IBean; 5 | 6 | /** 7 | * Generated by JFinal, do not modify this file. 8 | */ 9 | @SuppressWarnings({"serial", "unchecked"}) 10 | public abstract class BaseContentModel> extends Model implements IBean { 11 | 12 | public M setId(java.lang.Long id) { 13 | set("id", id); 14 | return (M)this; 15 | } 16 | 17 | public java.lang.Long getId() { 18 | return getLong("id"); 19 | } 20 | 21 | public M setCreateDate(java.util.Date createDate) { 22 | set("createDate", createDate); 23 | return (M)this; 24 | } 25 | 26 | public java.util.Date getCreateDate() { 27 | return get("createDate"); 28 | } 29 | 30 | public M setModifyDate(java.util.Date modifyDate) { 31 | set("modifyDate", modifyDate); 32 | return (M)this; 33 | } 34 | 35 | public java.util.Date getModifyDate() { 36 | return get("modifyDate"); 37 | } 38 | 39 | public M setName(java.lang.String name) { 40 | set("name", name); 41 | return (M)this; 42 | } 43 | 44 | public java.lang.String getName() { 45 | return getStr("name"); 46 | } 47 | 48 | public M setListTemplate(java.lang.String listTemplate) { 49 | set("listTemplate", listTemplate); 50 | return (M)this; 51 | } 52 | 53 | public java.lang.String getListTemplate() { 54 | return getStr("listTemplate"); 55 | } 56 | 57 | public M setContentTemplate(java.lang.String contentTemplate) { 58 | set("contentTemplate", contentTemplate); 59 | return (M)this; 60 | } 61 | 62 | public java.lang.String getContentTemplate() { 63 | return getStr("contentTemplate"); 64 | } 65 | 66 | } 67 | -------------------------------------------------------------------------------- /src/main/java/com/cms/entity/base/BaseFormModel.java: -------------------------------------------------------------------------------- 1 | package com.cms.entity.base; 2 | 3 | import com.jfinal.plugin.activerecord.Model; 4 | import com.jfinal.plugin.activerecord.IBean; 5 | 6 | /** 7 | * Generated by JFinal, do not modify this file. 8 | */ 9 | @SuppressWarnings({"serial", "unchecked"}) 10 | public abstract class BaseFormModel> extends Model implements IBean { 11 | 12 | public M setId(java.lang.Long id) { 13 | set("id", id); 14 | return (M)this; 15 | } 16 | 17 | public java.lang.Long getId() { 18 | return getLong("id"); 19 | } 20 | 21 | public M setCreateDate(java.util.Date createDate) { 22 | set("createDate", createDate); 23 | return (M)this; 24 | } 25 | 26 | public java.util.Date getCreateDate() { 27 | return get("createDate"); 28 | } 29 | 30 | public M setModifyDate(java.util.Date modifyDate) { 31 | set("modifyDate", modifyDate); 32 | return (M)this; 33 | } 34 | 35 | public java.util.Date getModifyDate() { 36 | return get("modifyDate"); 37 | } 38 | 39 | public M setName(java.lang.String name) { 40 | set("name", name); 41 | return (M)this; 42 | } 43 | 44 | public java.lang.String getName() { 45 | return getStr("name"); 46 | } 47 | 48 | public M setListTemplate(java.lang.String listTemplate) { 49 | set("listTemplate", listTemplate); 50 | return (M)this; 51 | } 52 | 53 | public java.lang.String getListTemplate() { 54 | return getStr("listTemplate"); 55 | } 56 | 57 | } 58 | -------------------------------------------------------------------------------- /src/main/java/com/cms/entity/base/BaseFriendLink.java: -------------------------------------------------------------------------------- 1 | package com.cms.entity.base; 2 | 3 | import com.jfinal.plugin.activerecord.Model; 4 | import com.jfinal.plugin.activerecord.IBean; 5 | 6 | /** 7 | * Generated by JFinal, do not modify this file. 8 | */ 9 | @SuppressWarnings({"serial", "unchecked"}) 10 | public abstract class BaseFriendLink> extends Model implements IBean { 11 | 12 | public M setId(java.lang.Long id) { 13 | set("id", id); 14 | return (M)this; 15 | } 16 | 17 | public java.lang.Long getId() { 18 | return getLong("id"); 19 | } 20 | 21 | public M setCreateDate(java.util.Date createDate) { 22 | set("createDate", createDate); 23 | return (M)this; 24 | } 25 | 26 | public java.util.Date getCreateDate() { 27 | return get("createDate"); 28 | } 29 | 30 | public M setModifyDate(java.util.Date modifyDate) { 31 | set("modifyDate", modifyDate); 32 | return (M)this; 33 | } 34 | 35 | public java.util.Date getModifyDate() { 36 | return get("modifyDate"); 37 | } 38 | 39 | public M setSort(java.lang.Integer sort) { 40 | set("sort", sort); 41 | return (M)this; 42 | } 43 | 44 | public java.lang.Integer getSort() { 45 | return getInt("sort"); 46 | } 47 | 48 | public M setLogo(java.lang.String logo) { 49 | set("logo", logo); 50 | return (M)this; 51 | } 52 | 53 | public java.lang.String getLogo() { 54 | return getStr("logo"); 55 | } 56 | 57 | public M setName(java.lang.String name) { 58 | set("name", name); 59 | return (M)this; 60 | } 61 | 62 | public java.lang.String getName() { 63 | return getStr("name"); 64 | } 65 | 66 | public M setType(java.lang.String type) { 67 | set("type", type); 68 | return (M)this; 69 | } 70 | 71 | public java.lang.String getType() { 72 | return getStr("type"); 73 | } 74 | 75 | public M setUrl(java.lang.String url) { 76 | set("url", url); 77 | return (M)this; 78 | } 79 | 80 | public java.lang.String getUrl() { 81 | return getStr("url"); 82 | } 83 | 84 | } 85 | -------------------------------------------------------------------------------- /src/main/java/com/cms/entity/base/BaseRole.java: -------------------------------------------------------------------------------- 1 | package com.cms.entity.base; 2 | 3 | import com.jfinal.plugin.activerecord.Model; 4 | import com.jfinal.plugin.activerecord.IBean; 5 | 6 | /** 7 | * Generated by JFinal, do not modify this file. 8 | */ 9 | @SuppressWarnings({"serial", "unchecked"}) 10 | public abstract class BaseRole> extends Model implements IBean { 11 | 12 | public M setId(java.lang.Long id) { 13 | set("id", id); 14 | return (M)this; 15 | } 16 | 17 | public java.lang.Long getId() { 18 | return getLong("id"); 19 | } 20 | 21 | public M setCreateDate(java.util.Date createDate) { 22 | set("createDate", createDate); 23 | return (M)this; 24 | } 25 | 26 | public java.util.Date getCreateDate() { 27 | return get("createDate"); 28 | } 29 | 30 | public M setModifyDate(java.util.Date modifyDate) { 31 | set("modifyDate", modifyDate); 32 | return (M)this; 33 | } 34 | 35 | public java.util.Date getModifyDate() { 36 | return get("modifyDate"); 37 | } 38 | 39 | public M setPermission(java.lang.String permission) { 40 | set("permission", permission); 41 | return (M)this; 42 | } 43 | 44 | public java.lang.String getPermission() { 45 | return getStr("permission"); 46 | } 47 | 48 | public M setDescription(java.lang.String description) { 49 | set("description", description); 50 | return (M)this; 51 | } 52 | 53 | public java.lang.String getDescription() { 54 | return getStr("description"); 55 | } 56 | 57 | public M setIsSystem(java.lang.Boolean isSystem) { 58 | set("isSystem", isSystem); 59 | return (M)this; 60 | } 61 | 62 | public java.lang.Boolean getIsSystem() { 63 | return get("isSystem"); 64 | } 65 | 66 | public M setName(java.lang.String name) { 67 | set("name", name); 68 | return (M)this; 69 | } 70 | 71 | public java.lang.String getName() { 72 | return getStr("name"); 73 | } 74 | 75 | } 76 | -------------------------------------------------------------------------------- /src/main/java/com/cms/entity/base/BaseSetting.java: -------------------------------------------------------------------------------- 1 | package com.cms.entity.base; 2 | 3 | import com.jfinal.plugin.activerecord.Model; 4 | import com.jfinal.plugin.activerecord.IBean; 5 | 6 | /** 7 | * Generated by JFinal, do not modify this file. 8 | */ 9 | @SuppressWarnings({"serial", "unchecked"}) 10 | public abstract class BaseSetting> extends Model implements IBean { 11 | 12 | public M setId(java.lang.Long id) { 13 | set("id", id); 14 | return (M)this; 15 | } 16 | 17 | public java.lang.Long getId() { 18 | return getLong("id"); 19 | } 20 | 21 | public M setName(java.lang.String name) { 22 | set("name", name); 23 | return (M)this; 24 | } 25 | 26 | public java.lang.String getName() { 27 | return getStr("name"); 28 | } 29 | 30 | public M setValue(java.lang.String value) { 31 | set("value", value); 32 | return (M)this; 33 | } 34 | 35 | public java.lang.String getValue() { 36 | return getStr("value"); 37 | } 38 | 39 | public M setTitle(java.lang.String title) { 40 | set("title", title); 41 | return (M)this; 42 | } 43 | 44 | public java.lang.String getTitle() { 45 | return getStr("title"); 46 | } 47 | 48 | public M setCreateDate(java.util.Date createDate) { 49 | set("createDate", createDate); 50 | return (M)this; 51 | } 52 | 53 | public java.util.Date getCreateDate() { 54 | return get("createDate"); 55 | } 56 | 57 | public M setModifyDate(java.util.Date modifyDate) { 58 | set("modifyDate", modifyDate); 59 | return (M)this; 60 | } 61 | 62 | public java.util.Date getModifyDate() { 63 | return get("modifyDate"); 64 | } 65 | 66 | public M setType(java.lang.String type) { 67 | set("type", type); 68 | return (M)this; 69 | } 70 | 71 | public java.lang.String getType() { 72 | return getStr("type"); 73 | } 74 | 75 | } 76 | -------------------------------------------------------------------------------- /src/main/java/com/cms/entity/base/BaseStoragePlugin.java: -------------------------------------------------------------------------------- 1 | package com.cms.entity.base; 2 | 3 | import com.jfinal.plugin.activerecord.Model; 4 | import com.jfinal.plugin.activerecord.IBean; 5 | 6 | /** 7 | * Generated by JFinal, do not modify this file. 8 | */ 9 | @SuppressWarnings({"serial", "unchecked"}) 10 | public abstract class BaseStoragePlugin> extends Model implements IBean { 11 | 12 | public M setId(java.lang.String id) { 13 | set("id", id); 14 | return (M)this; 15 | } 16 | 17 | public java.lang.String getId() { 18 | return getStr("id"); 19 | } 20 | 21 | public M setName(java.lang.String name) { 22 | set("name", name); 23 | return (M)this; 24 | } 25 | 26 | public java.lang.String getName() { 27 | return getStr("name"); 28 | } 29 | 30 | public M setSort(java.lang.Integer sort) { 31 | set("sort", sort); 32 | return (M)this; 33 | } 34 | 35 | public java.lang.Integer getSort() { 36 | return getInt("sort"); 37 | } 38 | 39 | public M setAttribute(java.lang.String attribute) { 40 | set("attribute", attribute); 41 | return (M)this; 42 | } 43 | 44 | public java.lang.String getAttribute() { 45 | return getStr("attribute"); 46 | } 47 | 48 | public M setIsEnabled(java.lang.Boolean isEnabled) { 49 | set("isEnabled", isEnabled); 50 | return (M)this; 51 | } 52 | 53 | public java.lang.Boolean getIsEnabled() { 54 | return get("isEnabled"); 55 | } 56 | 57 | } 58 | -------------------------------------------------------------------------------- /src/main/java/com/cms/entity/base/BaseTag.java: -------------------------------------------------------------------------------- 1 | package com.cms.entity.base; 2 | 3 | import com.jfinal.plugin.activerecord.Model; 4 | import com.jfinal.plugin.activerecord.IBean; 5 | 6 | /** 7 | * Generated by JFinal, do not modify this file. 8 | */ 9 | @SuppressWarnings({"serial", "unchecked"}) 10 | public abstract class BaseTag> extends Model implements IBean { 11 | 12 | public M setId(java.lang.Long id) { 13 | set("id", id); 14 | return (M)this; 15 | } 16 | 17 | public java.lang.Long getId() { 18 | return getLong("id"); 19 | } 20 | 21 | public M setCreateDate(java.util.Date createDate) { 22 | set("createDate", createDate); 23 | return (M)this; 24 | } 25 | 26 | public java.util.Date getCreateDate() { 27 | return get("createDate"); 28 | } 29 | 30 | public M setModifyDate(java.util.Date modifyDate) { 31 | set("modifyDate", modifyDate); 32 | return (M)this; 33 | } 34 | 35 | public java.util.Date getModifyDate() { 36 | return get("modifyDate"); 37 | } 38 | 39 | public M setName(java.lang.String name) { 40 | set("name", name); 41 | return (M)this; 42 | } 43 | 44 | public java.lang.String getName() { 45 | return getStr("name"); 46 | } 47 | 48 | } 49 | -------------------------------------------------------------------------------- /src/main/java/com/cms/handler/ResourcesHandler.java: -------------------------------------------------------------------------------- 1 | package com.cms.handler; 2 | 3 | import javax.servlet.http.HttpServletRequest; 4 | import javax.servlet.http.HttpServletResponse; 5 | 6 | import com.jfinal.handler.Handler; 7 | import com.jfinal.kit.HandlerKit; 8 | /** 9 | * Handler - 资源访问控制 10 | * 11 | * 12 | * 13 | */ 14 | public class ResourcesHandler extends Handler { 15 | 16 | @Override 17 | public void handle(String target, HttpServletRequest request, HttpServletResponse response, boolean[] isHandled) { 18 | 19 | if (isDisableAccess(target)) { 20 | HandlerKit.renderError404(request, response, isHandled); 21 | } 22 | next.handle(target, request, response, isHandled); 23 | 24 | } 25 | 26 | private static boolean isDisableAccess(String target) { 27 | // 防止直接访问模板文件 28 | if (target.endsWith(".html") && target.startsWith("/templates")) { 29 | return true; 30 | } 31 | return false; 32 | } 33 | 34 | } 35 | -------------------------------------------------------------------------------- /src/main/java/com/cms/job/StaticAllJob.java: -------------------------------------------------------------------------------- 1 | package com.cms.job; 2 | 3 | import com.cms.util.StaticUtils; 4 | import com.cms.util.SystemUtils; 5 | 6 | public class StaticAllJob implements Runnable{ 7 | 8 | /** 9 | * 生成所有静态 10 | */ 11 | 12 | @Override 13 | public void run() { 14 | // TODO Auto-generated method stub 15 | if(SystemUtils.getConfig().getIsCronEnabled()){ 16 | StaticUtils.generateAll(); 17 | } 18 | } 19 | 20 | } 21 | -------------------------------------------------------------------------------- /src/main/java/com/cms/routes/RouteMapping.java: -------------------------------------------------------------------------------- 1 | package com.cms.routes; 2 | 3 | import java.lang.annotation.ElementType; 4 | import java.lang.annotation.Inherited; 5 | import java.lang.annotation.Retention; 6 | import java.lang.annotation.RetentionPolicy; 7 | import java.lang.annotation.Target; 8 | 9 | @Inherited 10 | @Retention(RetentionPolicy.RUNTIME) 11 | @Target({ ElementType.TYPE }) 12 | public @interface RouteMapping { 13 | String url(); 14 | } -------------------------------------------------------------------------------- /src/main/java/com/cms/template/directive/AdPositionDirective.java: -------------------------------------------------------------------------------- 1 | /* 2 | * 3 | * 4 | * 5 | */ 6 | package com.cms.template.directive; 7 | 8 | import java.io.IOException; 9 | import java.io.StringReader; 10 | import java.io.Writer; 11 | import java.util.HashMap; 12 | import java.util.Map; 13 | 14 | import com.cms.TemplateVariable; 15 | import com.cms.entity.AdPosition; 16 | import com.cms.util.FreeMarkerUtils; 17 | import com.jfinal.render.FreeMarkerRender; 18 | 19 | import freemarker.core.Environment; 20 | import freemarker.template.Template; 21 | import freemarker.template.TemplateDirectiveBody; 22 | import freemarker.template.TemplateException; 23 | import freemarker.template.TemplateModel; 24 | 25 | /** 26 | * 模板指令 - 广告位 27 | * 28 | * 29 | * 30 | */ 31 | @TemplateVariable(name="ad_position") 32 | public class AdPositionDirective extends BaseDirective { 33 | 34 | /** "ID"参数名称 */ 35 | private static final String ID_PARAMETER_NAME = "id"; 36 | 37 | /** 变量名称 */ 38 | private static final String VARIABLE_NAME = "adPosition"; 39 | 40 | /** 41 | * 执行 42 | * 43 | * @param env 44 | * 环境变量 45 | * @param params 46 | * 参数 47 | * @param loopVars 48 | * 循环变量 49 | * @param body 50 | * 模板内容 51 | */ 52 | @SuppressWarnings({ "unchecked", "rawtypes" }) 53 | public void execute(Environment env, Map params, TemplateModel[] loopVars, TemplateDirectiveBody body) throws TemplateException, IOException { 54 | Long id = FreeMarkerUtils.getParameter(ID_PARAMETER_NAME, Long.class, params); 55 | AdPosition adPosition = new AdPosition().dao().findById(id); 56 | setLocalVariable(VARIABLE_NAME, adPosition, env, body); 57 | } 58 | 59 | } -------------------------------------------------------------------------------- /src/main/java/com/cms/template/directive/CategoryDirective.java: -------------------------------------------------------------------------------- 1 | /* 2 | * 3 | * 4 | * 5 | */ 6 | package com.cms.template.directive; 7 | 8 | import java.io.IOException; 9 | import java.util.Map; 10 | 11 | import com.cms.TemplateVariable; 12 | import com.cms.entity.Category; 13 | import com.cms.util.FreeMarkerUtils; 14 | 15 | import freemarker.core.Environment; 16 | import freemarker.template.TemplateDirectiveBody; 17 | import freemarker.template.TemplateException; 18 | import freemarker.template.TemplateModel; 19 | 20 | /** 21 | * 模板指令 - 顶级文章分类列表 22 | * 23 | * 24 | * 25 | */ 26 | @TemplateVariable(name="category") 27 | public class CategoryDirective extends BaseDirective { 28 | 29 | /** "ID"参数名称 */ 30 | private static final String ID_PARAMETER_NAME = "id"; 31 | 32 | /** 变量名称 */ 33 | private static final String VARIABLE_NAME = "category"; 34 | 35 | /** 36 | * 执行 37 | * 38 | * @param env 39 | * 环境变量 40 | * @param params 41 | * 参数 42 | * @param loopVars 43 | * 循环变量 44 | * @param body 45 | * 模板内容 46 | */ 47 | @SuppressWarnings({ "unchecked", "rawtypes" }) 48 | public void execute(Environment env, Map params, TemplateModel[] loopVars, TemplateDirectiveBody body) throws TemplateException, IOException { 49 | Long id = FreeMarkerUtils.getParameter(ID_PARAMETER_NAME, Long.class, params); 50 | Category category = new Category().dao().findById(id); 51 | setLocalVariable(VARIABLE_NAME, category, env, body); 52 | } 53 | 54 | } -------------------------------------------------------------------------------- /src/main/java/com/cms/template/directive/CategoryRootListDirective.java: -------------------------------------------------------------------------------- 1 | /* 2 | * 3 | * 4 | * 5 | */ 6 | package com.cms.template.directive; 7 | 8 | import java.io.IOException; 9 | import java.util.List; 10 | import java.util.Map; 11 | 12 | import com.cms.TemplateVariable; 13 | import com.cms.entity.Category; 14 | import com.cms.util.FreeMarkerUtils; 15 | 16 | import freemarker.core.Environment; 17 | import freemarker.template.TemplateDirectiveBody; 18 | import freemarker.template.TemplateException; 19 | import freemarker.template.TemplateModel; 20 | 21 | /** 22 | * 模板指令 - 顶级文章分类列表 23 | * 24 | * 25 | * 26 | */ 27 | @TemplateVariable(name="category_root_list") 28 | public class CategoryRootListDirective extends BaseDirective { 29 | 30 | /** "是否是菜单"参数名称 */ 31 | private static final String IS_MENU_PARAMETER_NAME = "isMenu"; 32 | 33 | /** 变量名称 */ 34 | private static final String VARIABLE_NAME = "categories"; 35 | 36 | /** 37 | * 执行 38 | * 39 | * @param env 40 | * 环境变量 41 | * @param params 42 | * 参数 43 | * @param loopVars 44 | * 循环变量 45 | * @param body 46 | * 模板内容 47 | */ 48 | @SuppressWarnings({ "unchecked", "rawtypes" }) 49 | public void execute(Environment env, Map params, TemplateModel[] loopVars, TemplateDirectiveBody body) throws TemplateException, IOException { 50 | Boolean isMenu = FreeMarkerUtils.getParameter(IS_MENU_PARAMETER_NAME, Boolean.class, params); 51 | Integer count = getCount(params); 52 | List categories = new Category().dao().findRoots(isMenu,true,count); 53 | setLocalVariable(VARIABLE_NAME, categories, env, body); 54 | } 55 | 56 | } -------------------------------------------------------------------------------- /src/main/java/com/cms/template/directive/ContentListDirective.java: -------------------------------------------------------------------------------- 1 | /* 2 | * 3 | * 4 | * 5 | */ 6 | package com.cms.template.directive; 7 | 8 | import java.io.IOException; 9 | import java.util.List; 10 | import java.util.Map; 11 | 12 | import com.cms.TemplateVariable; 13 | import com.cms.entity.Content; 14 | import com.cms.util.FreeMarkerUtils; 15 | 16 | import freemarker.core.Environment; 17 | import freemarker.template.TemplateDirectiveBody; 18 | import freemarker.template.TemplateException; 19 | import freemarker.template.TemplateModel; 20 | 21 | /** 22 | * 模板指令 - 内容列表 23 | * 24 | * 25 | * 26 | */ 27 | @TemplateVariable(name="content_list") 28 | public class ContentListDirective extends BaseDirective { 29 | 30 | /** "栏目ID"参数名称 */ 31 | private static final String CATEGORY_ID_PARAMETER_NAME = "categoryId"; 32 | 33 | /** 变量名称 */ 34 | private static final String VARIABLE_NAME = "contents"; 35 | 36 | /** 37 | * 执行 38 | * 39 | * @param env 40 | * 环境变量 41 | * @param params 42 | * 参数 43 | * @param loopVars 44 | * 循环变量 45 | * @param body 46 | * 模板内容 47 | */ 48 | @SuppressWarnings({ "unchecked", "rawtypes" }) 49 | public void execute(Environment env, Map params, TemplateModel[] loopVars, TemplateDirectiveBody body) throws TemplateException, IOException { 50 | Long categoryId = FreeMarkerUtils.getParameter(CATEGORY_ID_PARAMETER_NAME, Long.class, params); 51 | Integer count = getCount(params); 52 | String orderBy = getOrderBy(params); 53 | List contents = new Content().dao().findList(categoryId, count, orderBy); 54 | setLocalVariable(VARIABLE_NAME, contents, env, body); 55 | } 56 | 57 | } -------------------------------------------------------------------------------- /src/main/java/com/cms/template/directive/FormListDirective.java: -------------------------------------------------------------------------------- 1 | /* 2 | * 3 | * 4 | * 5 | */ 6 | package com.cms.template.directive; 7 | 8 | import java.io.IOException; 9 | import java.util.List; 10 | import java.util.Map; 11 | 12 | import com.cms.TemplateVariable; 13 | import com.cms.entity.Form; 14 | import com.cms.util.FreeMarkerUtils; 15 | 16 | import freemarker.core.Environment; 17 | import freemarker.template.TemplateDirectiveBody; 18 | import freemarker.template.TemplateException; 19 | import freemarker.template.TemplateModel; 20 | 21 | /** 22 | * 模板指令 - 内容列表 23 | * 24 | * 25 | * 26 | */ 27 | @TemplateVariable(name="form_list") 28 | public class FormListDirective extends BaseDirective { 29 | 30 | /** "栏目ID"参数名称 */ 31 | private static final String FORM_MODEL_ID_PARAMETER_NAME = "formModelId"; 32 | 33 | /** "栏目ID"参数名称 */ 34 | private static final String CONTENT_ID_PARAMETER_NAME = "contentId"; 35 | 36 | /** 变量名称 */ 37 | private static final String VARIABLE_NAME = "forms"; 38 | 39 | /** 40 | * 执行 41 | * 42 | * @param env 43 | * 环境变量 44 | * @param params 45 | * 参数 46 | * @param loopVars 47 | * 循环变量 48 | * @param body 49 | * 模板内容 50 | */ 51 | @SuppressWarnings({ "unchecked", "rawtypes" }) 52 | public void execute(Environment env, Map params, TemplateModel[] loopVars, TemplateDirectiveBody body) throws TemplateException, IOException { 53 | Long formModelId = FreeMarkerUtils.getParameter(FORM_MODEL_ID_PARAMETER_NAME, Long.class, params); 54 | Long contentId = FreeMarkerUtils.getParameter(CONTENT_ID_PARAMETER_NAME, Long.class, params); 55 | Integer count = getCount(params); 56 | String orderBy = getOrderBy(params); 57 | List forms = new Form().dao().findList(formModelId,contentId, count, orderBy); 58 | setLocalVariable(VARIABLE_NAME, forms, env, body); 59 | } 60 | 61 | } -------------------------------------------------------------------------------- /src/main/java/com/cms/template/directive/FriendLinkListDirective.java: -------------------------------------------------------------------------------- 1 | /* 2 | * 3 | * 4 | * 5 | */ 6 | package com.cms.template.directive; 7 | 8 | import java.io.IOException; 9 | import java.util.List; 10 | import java.util.Map; 11 | 12 | import com.cms.TemplateVariable; 13 | import com.cms.entity.FriendLink; 14 | 15 | import freemarker.core.Environment; 16 | import freemarker.template.TemplateDirectiveBody; 17 | import freemarker.template.TemplateException; 18 | import freemarker.template.TemplateModel; 19 | 20 | /** 21 | * 模板指令 - 友情链接列表 22 | * 23 | * 24 | * 25 | */ 26 | @TemplateVariable(name="friend_link_list") 27 | public class FriendLinkListDirective extends BaseDirective { 28 | 29 | /** 变量名称 */ 30 | private static final String VARIABLE_NAME = "friendLinks"; 31 | 32 | /** 33 | * 执行 34 | * 35 | * @param env 36 | * 环境变量 37 | * @param params 38 | * 参数 39 | * @param loopVars 40 | * 循环变量 41 | * @param body 42 | * 模板内容 43 | */ 44 | @SuppressWarnings({ "unchecked", "rawtypes" }) 45 | public void execute(Environment env, Map params, TemplateModel[] loopVars, TemplateDirectiveBody body) throws TemplateException, IOException { 46 | Integer count = getCount(params); 47 | String orderBy = getOrderBy(params); 48 | List friendLinks = new FriendLink().dao().findList(count, orderBy); 49 | setLocalVariable(VARIABLE_NAME, friendLinks, env, body); 50 | } 51 | 52 | } -------------------------------------------------------------------------------- /src/main/java/com/cms/template/method/AbbreviateMethod.java: -------------------------------------------------------------------------------- 1 | /* 2 | * 3 | * 4 | * 5 | */ 6 | package com.cms.template.method; 7 | 8 | import java.util.List; 9 | 10 | import org.apache.commons.lang.StringUtils; 11 | 12 | import com.cms.TemplateVariable; 13 | import com.cms.util.FreeMarkerUtils; 14 | import com.jfinal.kit.StrKit; 15 | 16 | import freemarker.template.TemplateMethodModelEx; 17 | import freemarker.template.TemplateModelException; 18 | 19 | /** 20 | * 模板方法 - 字符串缩略 21 | * ${abbreviate("啊发发发发发",4,"...")} 22 | * 23 | * 24 | */ 25 | @TemplateVariable(name="abbreviate") 26 | public class AbbreviateMethod implements TemplateMethodModelEx { 27 | 28 | /** 29 | * 执行 30 | * 31 | * @param arguments 32 | * 参数 33 | * @return 结果 34 | */ 35 | @SuppressWarnings("rawtypes") 36 | public Object exec(List arguments) throws TemplateModelException { 37 | String str = FreeMarkerUtils.getArgument(0, String.class, arguments); 38 | Integer width = FreeMarkerUtils.getArgument(1, Integer.class, arguments); 39 | String ellipsis = FreeMarkerUtils.getArgument(2, String.class, arguments); 40 | if (StrKit.isBlank(str) || width == null) { 41 | return str; 42 | } 43 | if(str.length()<=width){ 44 | return str; 45 | } 46 | return StringUtils.substring(str, 0, width)+ellipsis; 47 | } 48 | 49 | } -------------------------------------------------------------------------------- /src/main/java/com/cms/util/CacheUtils.java: -------------------------------------------------------------------------------- 1 | package com.cms.util; 2 | 3 | import com.jfinal.kit.PropKit; 4 | import com.jfinal.render.FreeMarkerRender; 5 | 6 | import net.sf.ehcache.CacheManager; 7 | import net.sf.ehcache.Ehcache; 8 | /** 9 | * Utils - 缓存 10 | * 11 | * 12 | * 13 | */ 14 | public class CacheUtils { 15 | 16 | /** 缓存管理器 */ 17 | private static CacheManager cacheManager; 18 | 19 | /** 20 | * 获取缓存管理器 21 | * 22 | * @return 缓存管理器 23 | */ 24 | public static CacheManager getCacheManager() { 25 | if(cacheManager == null){ 26 | cacheManager = CacheManager.create(); 27 | } 28 | return cacheManager; 29 | } 30 | 31 | /** 32 | * 获取缓存存储路径 33 | * 34 | * @return 缓存存储路径 35 | */ 36 | public static String getDiskStorePath() { 37 | return getCacheManager().getConfiguration().getDiskStoreConfiguration().getPath(); 38 | } 39 | 40 | /** 41 | * 获取缓存数 42 | * 43 | * @return 缓存数 44 | */ 45 | public static int getCacheSize() { 46 | int cacheSize = 0; 47 | String[] cacheNames = getCacheManager().getCacheNames(); 48 | if (cacheNames != null) { 49 | for (String cacheName : cacheNames) { 50 | Ehcache cache = getCacheManager().getEhcache(cacheName); 51 | if (cache != null) { 52 | cacheSize += cache.getSize(); 53 | } 54 | } 55 | } 56 | return cacheSize; 57 | } 58 | 59 | /** 60 | * 清除缓存 61 | */ 62 | public static void clear() { 63 | getCacheManager().clearAll(); 64 | FreeMarkerRender.getConfiguration().clearTemplateCache(); 65 | PropKit.clear(); 66 | TemplateVariableUtils.setBaseVariable(); 67 | } 68 | } 69 | -------------------------------------------------------------------------------- /src/main/java/com/cms/util/DBUtils.java: -------------------------------------------------------------------------------- 1 | package com.cms.util; 2 | 3 | import com.jfinal.kit.StrKit; 4 | 5 | public class DBUtils { 6 | 7 | /** 8 | * 获取限量Sql 9 | * 10 | * @param first 11 | * 起始记录 12 | * @param count 13 | * 数量 14 | * @return 限量Sql 15 | */ 16 | public static String getCountSql(Integer first,Integer count){ 17 | String countSql=""; 18 | if(count != null){ 19 | if(first !=null){ 20 | countSql=" limit "+first+","+count; 21 | }else{ 22 | countSql=" limit "+count; 23 | } 24 | } 25 | return countSql; 26 | } 27 | 28 | /** 29 | * 获取排序Sql 30 | * 31 | * @param orderBy 32 | * 排序 33 | * @return 排序Sql 34 | */ 35 | public static String getOrderBySql(String orderBy){ 36 | String orderBySql=""; 37 | if(StrKit.notBlank(orderBy)){ 38 | orderBySql = " order by "+orderBy; 39 | } 40 | return orderBySql; 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /src/main/resources/config.properties: -------------------------------------------------------------------------------- 1 | #------------ JDBC ------------ 2 | jdbc.driver=com.mysql.jdbc.Driver 3 | jdbc.url=jdbc:mysql://localhost:3308/mycms?useUnicode=true&characterEncoding=UTF-8 4 | jdbc.username=root 5 | jdbc.password=root 6 | #------------ SYSTEM ------------ 7 | system.devMode = true -------------------------------------------------------------------------------- /src/main/resources/config.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /src/main/resources/ehcache.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /src/main/resources/job.properties: -------------------------------------------------------------------------------- 1 | cron4j=StaticAllJob 2 | #StaticAllJob 3 | StaticAllJob.cron=0 1 * * * 4 | StaticAllJob.class=com.cms.job.StaticAllJob 5 | StaticAllJob.daemon=true 6 | StaticAllJob.enable=true -------------------------------------------------------------------------------- /src/main/resources/log4j.properties: -------------------------------------------------------------------------------- 1 | log4j.rootLogger=WARN, stdout, file 2 | log4j.appender.stdout=org.apache.log4j.ConsoleAppender 3 | log4j.appender.stdout.layout=org.apache.log4j.PatternLayout 4 | log4j.appender.stdout.layout.ConversionPattern=%n%-d{yyyy-MM-dd HH:mm:ss}%n[%p]-[Thread: %t]-[%C.%M()]: %m%n 5 | 6 | # Output to the File 7 | log4j.appender.file=org.apache.log4j.FileAppender 8 | log4j.appender.file.File=../logs/kuaifanjfinalcms.log 9 | log4j.appender.file.layout=org.apache.log4j.PatternLayout 10 | log4j.appender.file.layout.ConversionPattern=%n%-d{yyyy-MM-dd HH:mm:ss}%n[%p]-[Thread: %t]-[%C.%M()]: %m%n -------------------------------------------------------------------------------- /src/main/webapp/404.html: -------------------------------------------------------------------------------- 1 | 404 -------------------------------------------------------------------------------- /src/main/webapp/500.html: -------------------------------------------------------------------------------- 1 | 500 -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/admin/cache/view.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 清空缓存 5 | [#include "/WEB-INF/admin/include/common.html"] 6 | 7 | 8 |
9 |
10 |
11 |
清空缓存
12 |
13 | 14 |
15 |
16 |
17 | 18 |
19 | ${cacheSize} 20 |
21 |
22 |
23 | 24 |
25 | [#if maxMemory?? && totalMemory?? && freeMemory??] 26 | ${(maxMemory - totalMemory + freeMemory)?string("0.##")}MB 27 | [#else] 28 | - 29 | [/#if] 30 |
31 |
32 |
33 | 34 |
35 | ${diskStorePath} 36 |
37 |
38 |
39 |
40 | 43 | 44 |
45 |
46 | 47 | -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/admin/common/categoryMenu.html: -------------------------------------------------------------------------------- 1 | [#list categoryTree as category] 2 |
  • 3 | [#if category.type=="list"] 4 | ${category.name} 5 | [#else] 6 | ${category.name} 7 | [/#if] 8 |
  • 9 | [/#list] -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/admin/common/formMenu.html: -------------------------------------------------------------------------------- 1 | [#list formModels as formModel] 2 |
  • ${formModel.name}
  • 3 | [/#list] -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/admin/error/403.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 403 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 |
    15 |

    403

    16 |

    对不起,您无此操作权限!

    17 |
    18 | 19 |
    20 |
    21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/admin/error/500.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 500 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 |
    15 |

    500

    16 |

    对不起,您的操作出现异常!

    17 |
    18 | [#if errorMessage?has_content] 19 | ${errorMessage} 20 | [/#if] 21 | [#if exception?? && exception.message?has_content] 22 | ${exception.message} 23 | [/#if] 24 | 25 |
    26 |
    27 | 28 | 29 | 30 | -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/admin/form_model/add.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 添加表单模型 5 | [#include "/WEB-INF/admin/include/common.html"] 6 | 7 | 8 |
    9 |
    10 |
    11 |
    添加表单模型
    12 |
    13 |
    14 |
    15 |
    16 |
    17 | 18 |
    19 | 20 |
    21 |
    22 |
    23 |
    24 | 28 |
    29 |
    30 |
    31 | 32 | 33 | -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/admin/form_model/edit.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 编辑表单模型 5 | [#include "/WEB-INF/admin/include/common.html"] 6 | 7 | 8 |
    9 |
    10 |
    11 |
    编辑表单模型
    12 |
    13 |
    14 | 15 |
    16 |
    17 |
    18 | 19 |
    20 | 21 |
    22 |
    23 |
    24 |
    25 | 29 |
    30 |
    31 |
    32 | 33 | 34 | -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/admin/include/pagination.html: -------------------------------------------------------------------------------- 1 | [#escape x as x?html] 2 |
    3 | 4 | 5 | [#if totalPages > 1] 6 |

    共有 ${page.totalRow} 条数据,当前第 ${page.pageNumber} 页

    7 | 26 |

    共${totalPages}页

    27 |
    28 | 29 | [/#if] 30 |
    31 | [/#escape] -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/admin/sitemap/generate.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 生成sitemap 5 | [#include "/WEB-INF/admin/include/common.html"] 6 | 7 | 8 |
    9 |
    10 |
    11 |
    生成sitemap
    12 |
    13 |
    14 |
    15 |
    16 |
    17 | 18 | 21 |
    22 |
    23 |
    24 | 27 |
    28 |
    29 |
    30 | 31 | 32 | -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/admin/tag/add.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 添加标签 5 | [#include "/WEB-INF/admin/include/common.html"] 6 | 7 | 8 |
    9 |
    10 |
    11 |
    添加标签
    12 |
    13 |
    14 |
    15 |
    16 |
    17 | 18 |
    19 | 20 |
    21 |
    22 |
    23 |
    24 | 28 |
    29 |
    30 |
    31 | 32 | 33 | 47 | -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/admin/tag/edit.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 编辑标签 5 | [#include "/WEB-INF/admin/include/common.html"] 6 | 7 | 8 |
    9 |
    10 |
    11 |
    编辑标签
    12 |
    13 |
    14 | 15 |
    16 |
    17 |
    18 | 19 |
    20 | 21 |
    22 |
    23 |
    24 |
    25 | 29 |
    30 |
    31 |
    32 | 33 | 34 | 48 | -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/admin/template/edit.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 编辑模板 5 | [#include "/WEB-INF/admin/include/common.html"] 6 | 7 | 8 |
    9 |
    10 |
    11 |
    编辑模板
    12 |
    13 |
    14 | 15 | 16 |
    17 |
    18 | 19 |
    20 |
    21 | 25 |
    26 |
    27 |
    28 | 29 | 30 | -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/web.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | permissionFilter 6 | com.cms.filter.PermissionFilter 7 | 8 | 9 | 10 | permissionFilter 11 | /* 12 | 13 | 14 | 15 | jfinal 16 | com.jfinal.core.JFinalFilter 17 | 18 | configClass 19 | com.cms.config.CmsConfig 20 | 21 | 22 | 23 | index.html 24 | 25 | 26 | jfinal 27 | /* 28 | 29 | 30 | 60 31 | 32 | -------------------------------------------------------------------------------- /src/main/webapp/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwillber/JFinalCMS/3f53464001237751c966b9492c374eea55f2eecc/src/main/webapp/favicon.ico -------------------------------------------------------------------------------- /src/main/webapp/resources/watermark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwillber/JFinalCMS/3f53464001237751c966b9492c374eea55f2eecc/src/main/webapp/resources/watermark.png -------------------------------------------------------------------------------- /src/main/webapp/static/css/patterns/header-profile-skin-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwillber/JFinalCMS/3f53464001237751c966b9492c374eea55f2eecc/src/main/webapp/static/css/patterns/header-profile-skin-1.png -------------------------------------------------------------------------------- /src/main/webapp/static/css/patterns/header-profile-skin-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwillber/JFinalCMS/3f53464001237751c966b9492c374eea55f2eecc/src/main/webapp/static/css/patterns/header-profile-skin-3.png -------------------------------------------------------------------------------- /src/main/webapp/static/css/patterns/header-profile.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwillber/JFinalCMS/3f53464001237751c966b9492c374eea55f2eecc/src/main/webapp/static/css/patterns/header-profile.png -------------------------------------------------------------------------------- /src/main/webapp/static/css/patterns/shattered.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwillber/JFinalCMS/3f53464001237751c966b9492c374eea55f2eecc/src/main/webapp/static/css/patterns/shattered.png -------------------------------------------------------------------------------- /src/main/webapp/static/fonts/fontawesome-webfont93e3.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwillber/JFinalCMS/3f53464001237751c966b9492c374eea55f2eecc/src/main/webapp/static/fonts/fontawesome-webfont93e3.eot -------------------------------------------------------------------------------- /src/main/webapp/static/fonts/fontawesome-webfont93e3.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwillber/JFinalCMS/3f53464001237751c966b9492c374eea55f2eecc/src/main/webapp/static/fonts/fontawesome-webfont93e3.ttf -------------------------------------------------------------------------------- /src/main/webapp/static/fonts/fontawesome-webfont93e3.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwillber/JFinalCMS/3f53464001237751c966b9492c374eea55f2eecc/src/main/webapp/static/fonts/fontawesome-webfont93e3.woff -------------------------------------------------------------------------------- /src/main/webapp/static/fonts/fontawesome-webfont93e3.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwillber/JFinalCMS/3f53464001237751c966b9492c374eea55f2eecc/src/main/webapp/static/fonts/fontawesome-webfont93e3.woff2 -------------------------------------------------------------------------------- /src/main/webapp/static/fonts/fontawesome-webfontd41d.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwillber/JFinalCMS/3f53464001237751c966b9492c374eea55f2eecc/src/main/webapp/static/fonts/fontawesome-webfontd41d.eot -------------------------------------------------------------------------------- /src/main/webapp/static/fonts/glyphicons-halflings-regular.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwillber/JFinalCMS/3f53464001237751c966b9492c374eea55f2eecc/src/main/webapp/static/fonts/glyphicons-halflings-regular.eot -------------------------------------------------------------------------------- /src/main/webapp/static/fonts/glyphicons-halflings-regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwillber/JFinalCMS/3f53464001237751c966b9492c374eea55f2eecc/src/main/webapp/static/fonts/glyphicons-halflings-regular.ttf -------------------------------------------------------------------------------- /src/main/webapp/static/fonts/glyphicons-halflings-regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwillber/JFinalCMS/3f53464001237751c966b9492c374eea55f2eecc/src/main/webapp/static/fonts/glyphicons-halflings-regular.woff -------------------------------------------------------------------------------- /src/main/webapp/static/fonts/glyphicons-halflings-regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwillber/JFinalCMS/3f53464001237751c966b9492c374eea55f2eecc/src/main/webapp/static/fonts/glyphicons-halflings-regular.woff2 -------------------------------------------------------------------------------- /src/main/webapp/static/fonts/glyphicons-halflings-regulard41d.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwillber/JFinalCMS/3f53464001237751c966b9492c374eea55f2eecc/src/main/webapp/static/fonts/glyphicons-halflings-regulard41d.eot -------------------------------------------------------------------------------- /src/main/webapp/static/img/bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwillber/JFinalCMS/3f53464001237751c966b9492c374eea55f2eecc/src/main/webapp/static/img/bg.png -------------------------------------------------------------------------------- /src/main/webapp/static/img/icons.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwillber/JFinalCMS/3f53464001237751c966b9492c374eea55f2eecc/src/main/webapp/static/img/icons.png -------------------------------------------------------------------------------- /src/main/webapp/static/img/loading-upload.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwillber/JFinalCMS/3f53464001237751c966b9492c374eea55f2eecc/src/main/webapp/static/img/loading-upload.gif -------------------------------------------------------------------------------- /src/main/webapp/static/img/locked.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwillber/JFinalCMS/3f53464001237751c966b9492c374eea55f2eecc/src/main/webapp/static/img/locked.png -------------------------------------------------------------------------------- /src/main/webapp/static/img/p_big1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwillber/JFinalCMS/3f53464001237751c966b9492c374eea55f2eecc/src/main/webapp/static/img/p_big1.jpg -------------------------------------------------------------------------------- /src/main/webapp/static/img/p_big2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwillber/JFinalCMS/3f53464001237751c966b9492c374eea55f2eecc/src/main/webapp/static/img/p_big2.jpg -------------------------------------------------------------------------------- /src/main/webapp/static/img/p_big3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwillber/JFinalCMS/3f53464001237751c966b9492c374eea55f2eecc/src/main/webapp/static/img/p_big3.jpg -------------------------------------------------------------------------------- /src/main/webapp/static/img/profile_small.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwillber/JFinalCMS/3f53464001237751c966b9492c374eea55f2eecc/src/main/webapp/static/img/profile_small.jpg -------------------------------------------------------------------------------- /src/main/webapp/static/img/progress.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwillber/JFinalCMS/3f53464001237751c966b9492c374eea55f2eecc/src/main/webapp/static/img/progress.png -------------------------------------------------------------------------------- /src/main/webapp/static/img/success.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwillber/JFinalCMS/3f53464001237751c966b9492c374eea55f2eecc/src/main/webapp/static/img/success.png -------------------------------------------------------------------------------- /src/main/webapp/static/img/user.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwillber/JFinalCMS/3f53464001237751c966b9492c374eea55f2eecc/src/main/webapp/static/img/user.png -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/datePicker/My97DatePicker.htm: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | My97DatePicker 5 | 6 | 44 | 45 | 46 | 47 | 48 | 49 | -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/datePicker/config.js: -------------------------------------------------------------------------------- 1 | var langList = 2 | [ 3 | {name: "en_US", charset: "UTF-8"}, 4 | {name: "zh_CN", charset: "UTF-8"}, 5 | {name: "zh_TW", charset: "UTF-8"} 6 | ]; 7 | 8 | var skinList = 9 | [ 10 | {name: "default", charset: "UTF-8"} 11 | ]; -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/datePicker/lang/en_US.js: -------------------------------------------------------------------------------- 1 | var $lang={ 2 | errAlertMsg: "Invalid date or the date out of range,redo or not?", 3 | aWeekStr: ["wk", "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"], 4 | aLongWeekStr:["wk","Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"], 5 | aMonStr: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"], 6 | aLongMonStr: ["January","February","March","April","May","June","July","August","September","October","November","December"], 7 | clearStr: "Clear", 8 | todayStr: "Today", 9 | okStr: "OK", 10 | updateStr: "OK", 11 | timeStr: "Time", 12 | quickStr: "Quick Selection", 13 | err_1: 'MinDate Cannot be bigger than MaxDate!' 14 | } -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/datePicker/lang/zh_CN.js: -------------------------------------------------------------------------------- 1 | var $lang={ 2 | errAlertMsg: "\u4E0D\u5408\u6CD5\u7684\u65E5\u671F\u683C\u5F0F\u6216\u8005\u65E5\u671F\u8D85\u51FA\u9650\u5B9A\u8303\u56F4,\u9700\u8981\u64A4\u9500\u5417?", 3 | aWeekStr: ["\u5468","\u65E5","\u4E00","\u4E8C","\u4E09","\u56DB","\u4E94","\u516D"], 4 | aLongWeekStr:["\u5468","\u661F\u671F\u65E5","\u661F\u671F\u4E00","\u661F\u671F\u4E8C","\u661F\u671F\u4E09","\u661F\u671F\u56DB","\u661F\u671F\u4E94","\u661F\u671F\u516D"], 5 | aMonStr: ["\u4E00\u6708","\u4E8C\u6708","\u4E09\u6708","\u56DB\u6708","\u4E94\u6708","\u516D\u6708","\u4E03\u6708","\u516B\u6708","\u4E5D\u6708","\u5341\u6708","\u5341\u4E00","\u5341\u4E8C"], 6 | aLongMonStr: ["\u4E00\u6708","\u4E8C\u6708","\u4E09\u6708","\u56DB\u6708","\u4E94\u6708","\u516D\u6708","\u4E03\u6708","\u516B\u6708","\u4E5D\u6708","\u5341\u6708","\u5341\u4E00\u6708","\u5341\u4E8C\u6708"], 7 | clearStr: "\u6E05\u7A7A", 8 | todayStr: "\u4ECA\u5929", 9 | okStr: "\u786E\u5B9A", 10 | updateStr: "\u786E\u5B9A", 11 | timeStr: "\u65F6\u95F4", 12 | quickStr: "\u5FEB\u901F\u9009\u62E9", 13 | err_1: '\u6700\u5C0F\u65E5\u671F\u4E0D\u80FD\u5927\u4E8E\u6700\u5927\u65E5\u671F!' 14 | } -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/datePicker/lang/zh_TW.js: -------------------------------------------------------------------------------- 1 | var $lang={ 2 | errAlertMsg: "\u4E0D\u5408\u6CD5\u7684\u65E5\u671F\u683C\u5F0F\u6216\u8005\u65E5\u671F\u8D85\u51FA\u9650\u5B9A\u7BC4\u570D,\u9700\u8981\u64A4\u92B7\u55CE?", 3 | aWeekStr: ["\u5468","\u65E5","\u4E00","\u4E8C","\u4E09","\u56DB","\u4E94","\u516D"], 4 | aLongWeekStr:["\u5468","\u661F\u671F\u65E5","\u661F\u671F\u4E00","\u661F\u671F\u4E8C","\u661F\u671F\u4E09","\u661F\u671F\u56DB","\u661F\u671F\u4E94","\u661F\u671F\u516D"], 5 | aMonStr: ["\u4E00\u6708","\u4E8C\u6708","\u4E09\u6708","\u56DB\u6708","\u4E94\u6708","\u516D\u6708","\u4E03\u6708","\u516B\u6708","\u4E5D\u6708","\u5341\u6708","\u5341\u4E00","\u5341\u4E8C"], 6 | aLongMonStr: ["\u4E00\u6708","\u4E8C\u6708","\u4E09\u6708","\u56DB\u6708","\u4E94\u6708","\u516D\u6708","\u4E03\u6708","\u516B\u6708","\u4E5D\u6708","\u5341\u6708","\u5341\u4E00\u6708","\u5341\u4E8C\u6708"], 7 | clearStr: "\u6E05\u7A7A", 8 | todayStr: "\u4ECA\u5929", 9 | okStr: "\u78BA\u5B9A", 10 | updateStr: "\u78BA\u5B9A", 11 | timeStr: "\u6642\u9593", 12 | quickStr: "\u5FEB\u901F\u9078\u64C7", 13 | err_1: '\u6700\u5C0F\u65E5\u671F\u4E0D\u80FD\u5927\u65BC\u6700\u5927\u65E5\u671F!' 14 | } -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/datePicker/skin/WdatePicker.css: -------------------------------------------------------------------------------- 1 | .Wdate { 2 | /*border: #999 1px solid; 3 | height: 20px;*/ 4 | background: #fff url(datePicker.gif) no-repeat right; 5 | } 6 | 7 | .WdateFmtErr { 8 | font-weight: bold; 9 | color: red; 10 | } -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/datePicker/skin/datePicker.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwillber/JFinalCMS/3f53464001237751c966b9492c374eea55f2eecc/src/main/webapp/static/plugins/datePicker/skin/datePicker.gif -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/datePicker/skin/default/img.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwillber/JFinalCMS/3f53464001237751c966b9492c374eea55f2eecc/src/main/webapp/static/plugins/datePicker/skin/default/img.gif -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/ueditor/dialogs/anchor/anchor.html: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | 6 | 7 | 13 | 14 | 15 |
    16 | 17 |
    18 | 19 | 39 | 40 | -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/ueditor/dialogs/attachment/fileTypeImages/icon_chm.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwillber/JFinalCMS/3f53464001237751c966b9492c374eea55f2eecc/src/main/webapp/static/plugins/ueditor/dialogs/attachment/fileTypeImages/icon_chm.gif -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/ueditor/dialogs/attachment/fileTypeImages/icon_default.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwillber/JFinalCMS/3f53464001237751c966b9492c374eea55f2eecc/src/main/webapp/static/plugins/ueditor/dialogs/attachment/fileTypeImages/icon_default.png -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/ueditor/dialogs/attachment/fileTypeImages/icon_doc.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwillber/JFinalCMS/3f53464001237751c966b9492c374eea55f2eecc/src/main/webapp/static/plugins/ueditor/dialogs/attachment/fileTypeImages/icon_doc.gif -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/ueditor/dialogs/attachment/fileTypeImages/icon_exe.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwillber/JFinalCMS/3f53464001237751c966b9492c374eea55f2eecc/src/main/webapp/static/plugins/ueditor/dialogs/attachment/fileTypeImages/icon_exe.gif -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/ueditor/dialogs/attachment/fileTypeImages/icon_jpg.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwillber/JFinalCMS/3f53464001237751c966b9492c374eea55f2eecc/src/main/webapp/static/plugins/ueditor/dialogs/attachment/fileTypeImages/icon_jpg.gif -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/ueditor/dialogs/attachment/fileTypeImages/icon_mp3.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwillber/JFinalCMS/3f53464001237751c966b9492c374eea55f2eecc/src/main/webapp/static/plugins/ueditor/dialogs/attachment/fileTypeImages/icon_mp3.gif -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/ueditor/dialogs/attachment/fileTypeImages/icon_mv.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwillber/JFinalCMS/3f53464001237751c966b9492c374eea55f2eecc/src/main/webapp/static/plugins/ueditor/dialogs/attachment/fileTypeImages/icon_mv.gif -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/ueditor/dialogs/attachment/fileTypeImages/icon_pdf.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwillber/JFinalCMS/3f53464001237751c966b9492c374eea55f2eecc/src/main/webapp/static/plugins/ueditor/dialogs/attachment/fileTypeImages/icon_pdf.gif -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/ueditor/dialogs/attachment/fileTypeImages/icon_ppt.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwillber/JFinalCMS/3f53464001237751c966b9492c374eea55f2eecc/src/main/webapp/static/plugins/ueditor/dialogs/attachment/fileTypeImages/icon_ppt.gif -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/ueditor/dialogs/attachment/fileTypeImages/icon_psd.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwillber/JFinalCMS/3f53464001237751c966b9492c374eea55f2eecc/src/main/webapp/static/plugins/ueditor/dialogs/attachment/fileTypeImages/icon_psd.gif -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/ueditor/dialogs/attachment/fileTypeImages/icon_rar.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwillber/JFinalCMS/3f53464001237751c966b9492c374eea55f2eecc/src/main/webapp/static/plugins/ueditor/dialogs/attachment/fileTypeImages/icon_rar.gif -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/ueditor/dialogs/attachment/fileTypeImages/icon_txt.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwillber/JFinalCMS/3f53464001237751c966b9492c374eea55f2eecc/src/main/webapp/static/plugins/ueditor/dialogs/attachment/fileTypeImages/icon_txt.gif -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/ueditor/dialogs/attachment/fileTypeImages/icon_xls.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwillber/JFinalCMS/3f53464001237751c966b9492c374eea55f2eecc/src/main/webapp/static/plugins/ueditor/dialogs/attachment/fileTypeImages/icon_xls.gif -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/ueditor/dialogs/attachment/images/alignicon.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwillber/JFinalCMS/3f53464001237751c966b9492c374eea55f2eecc/src/main/webapp/static/plugins/ueditor/dialogs/attachment/images/alignicon.gif -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/ueditor/dialogs/attachment/images/alignicon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwillber/JFinalCMS/3f53464001237751c966b9492c374eea55f2eecc/src/main/webapp/static/plugins/ueditor/dialogs/attachment/images/alignicon.png -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/ueditor/dialogs/attachment/images/bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwillber/JFinalCMS/3f53464001237751c966b9492c374eea55f2eecc/src/main/webapp/static/plugins/ueditor/dialogs/attachment/images/bg.png -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/ueditor/dialogs/attachment/images/file-icons.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwillber/JFinalCMS/3f53464001237751c966b9492c374eea55f2eecc/src/main/webapp/static/plugins/ueditor/dialogs/attachment/images/file-icons.gif -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/ueditor/dialogs/attachment/images/file-icons.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwillber/JFinalCMS/3f53464001237751c966b9492c374eea55f2eecc/src/main/webapp/static/plugins/ueditor/dialogs/attachment/images/file-icons.png -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/ueditor/dialogs/attachment/images/icons.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwillber/JFinalCMS/3f53464001237751c966b9492c374eea55f2eecc/src/main/webapp/static/plugins/ueditor/dialogs/attachment/images/icons.gif -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/ueditor/dialogs/attachment/images/icons.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwillber/JFinalCMS/3f53464001237751c966b9492c374eea55f2eecc/src/main/webapp/static/plugins/ueditor/dialogs/attachment/images/icons.png -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/ueditor/dialogs/attachment/images/image.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwillber/JFinalCMS/3f53464001237751c966b9492c374eea55f2eecc/src/main/webapp/static/plugins/ueditor/dialogs/attachment/images/image.png -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/ueditor/dialogs/attachment/images/progress.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwillber/JFinalCMS/3f53464001237751c966b9492c374eea55f2eecc/src/main/webapp/static/plugins/ueditor/dialogs/attachment/images/progress.png -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/ueditor/dialogs/attachment/images/success.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwillber/JFinalCMS/3f53464001237751c966b9492c374eea55f2eecc/src/main/webapp/static/plugins/ueditor/dialogs/attachment/images/success.gif -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/ueditor/dialogs/attachment/images/success.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwillber/JFinalCMS/3f53464001237751c966b9492c374eea55f2eecc/src/main/webapp/static/plugins/ueditor/dialogs/attachment/images/success.png -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/ueditor/dialogs/background/images/bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwillber/JFinalCMS/3f53464001237751c966b9492c374eea55f2eecc/src/main/webapp/static/plugins/ueditor/dialogs/background/images/bg.png -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/ueditor/dialogs/background/images/success.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwillber/JFinalCMS/3f53464001237751c966b9492c374eea55f2eecc/src/main/webapp/static/plugins/ueditor/dialogs/background/images/success.png -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/ueditor/dialogs/charts/chart.config.js: -------------------------------------------------------------------------------- 1 | /* 2 | * 图表配置文件 3 | * */ 4 | 5 | 6 | //不同类型的配置 7 | var typeConfig = [ 8 | { 9 | chart: { 10 | type: 'line' 11 | }, 12 | plotOptions: { 13 | line: { 14 | dataLabels: { 15 | enabled: false 16 | }, 17 | enableMouseTracking: true 18 | } 19 | } 20 | }, { 21 | chart: { 22 | type: 'line' 23 | }, 24 | plotOptions: { 25 | line: { 26 | dataLabels: { 27 | enabled: true 28 | }, 29 | enableMouseTracking: false 30 | } 31 | } 32 | }, { 33 | chart: { 34 | type: 'area' 35 | } 36 | }, { 37 | chart: { 38 | type: 'bar' 39 | } 40 | }, { 41 | chart: { 42 | type: 'column' 43 | } 44 | }, { 45 | chart: { 46 | plotBackgroundColor: null, 47 | plotBorderWidth: null, 48 | plotShadow: false 49 | }, 50 | plotOptions: { 51 | pie: { 52 | allowPointSelect: true, 53 | cursor: 'pointer', 54 | dataLabels: { 55 | enabled: true, 56 | color: '#000000', 57 | connectorColor: '#000000', 58 | formatter: function() { 59 | return ''+ this.point.name +': '+ ( Math.round( this.point.percentage*100 ) / 100 ) +' %'; 60 | } 61 | } 62 | } 63 | } 64 | } 65 | ]; 66 | -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/ueditor/dialogs/charts/images/charts0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwillber/JFinalCMS/3f53464001237751c966b9492c374eea55f2eecc/src/main/webapp/static/plugins/ueditor/dialogs/charts/images/charts0.png -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/ueditor/dialogs/charts/images/charts1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwillber/JFinalCMS/3f53464001237751c966b9492c374eea55f2eecc/src/main/webapp/static/plugins/ueditor/dialogs/charts/images/charts1.png -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/ueditor/dialogs/charts/images/charts2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwillber/JFinalCMS/3f53464001237751c966b9492c374eea55f2eecc/src/main/webapp/static/plugins/ueditor/dialogs/charts/images/charts2.png -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/ueditor/dialogs/charts/images/charts3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwillber/JFinalCMS/3f53464001237751c966b9492c374eea55f2eecc/src/main/webapp/static/plugins/ueditor/dialogs/charts/images/charts3.png -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/ueditor/dialogs/charts/images/charts4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwillber/JFinalCMS/3f53464001237751c966b9492c374eea55f2eecc/src/main/webapp/static/plugins/ueditor/dialogs/charts/images/charts4.png -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/ueditor/dialogs/charts/images/charts5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwillber/JFinalCMS/3f53464001237751c966b9492c374eea55f2eecc/src/main/webapp/static/plugins/ueditor/dialogs/charts/images/charts5.png -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/ueditor/dialogs/emotion/emotion.css: -------------------------------------------------------------------------------- 1 | .jd img{ 2 | background:transparent url(images/jxface2.gif?v=1.1) no-repeat scroll left top; 3 | cursor:pointer;width:35px;height:35px;display:block; 4 | } 5 | .pp img{ 6 | background:transparent url(images/fface.gif?v=1.1) no-repeat scroll left top; 7 | cursor:pointer;width:25px;height:25px;display:block; 8 | } 9 | .ldw img{ 10 | background:transparent url(images/wface.gif?v=1.1) no-repeat scroll left top; 11 | cursor:pointer;width:35px;height:35px;display:block; 12 | } 13 | .tsj img{ 14 | background:transparent url(images/tface.gif?v=1.1) no-repeat scroll left top; 15 | cursor:pointer;width:35px;height:35px;display:block; 16 | } 17 | .cat img{ 18 | background:transparent url(images/cface.gif?v=1.1) no-repeat scroll left top; 19 | cursor:pointer;width:35px;height:35px;display:block; 20 | } 21 | .bb img{ 22 | background:transparent url(images/bface.gif?v=1.1) no-repeat scroll left top; 23 | cursor:pointer;width:35px;height:35px;display:block; 24 | } 25 | .youa img{ 26 | background:transparent url(images/yface.gif?v=1.1) no-repeat scroll left top; 27 | cursor:pointer;width:35px;height:35px;display:block; 28 | } 29 | 30 | .smileytable td {height: 37px;} 31 | #tabPanel{margin-left:5px;overflow: hidden;} 32 | #tabContent {float:left;background:#FFFFFF;} 33 | #tabContent div{display: none;width:480px;overflow:hidden;} 34 | #tabIconReview.show{left:17px;display:block;} 35 | .menuFocus{background:#ACCD3C;} 36 | .menuDefault{background:#FFFFFF;} 37 | #tabIconReview{position:absolute;left:406px;left:398px \9;top:41px;z-index:65533;width:90px;height:76px;} 38 | img.review{width:90px;height:76px;border:2px solid #9cb945;background:#FFFFFF;background-position:center;background-repeat:no-repeat;} 39 | 40 | .wrapper .tabbody{position:relative;float:left;clear:both;padding:10px;width: 95%;} 41 | .tabbody table{width: 100%;} 42 | .tabbody td{border:1px solid #BAC498;} 43 | .tabbody td span{display: block;zoom:1;padding:0 4px;} -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/ueditor/dialogs/emotion/images/0.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwillber/JFinalCMS/3f53464001237751c966b9492c374eea55f2eecc/src/main/webapp/static/plugins/ueditor/dialogs/emotion/images/0.gif -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/ueditor/dialogs/emotion/images/bface.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwillber/JFinalCMS/3f53464001237751c966b9492c374eea55f2eecc/src/main/webapp/static/plugins/ueditor/dialogs/emotion/images/bface.gif -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/ueditor/dialogs/emotion/images/cface.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwillber/JFinalCMS/3f53464001237751c966b9492c374eea55f2eecc/src/main/webapp/static/plugins/ueditor/dialogs/emotion/images/cface.gif -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/ueditor/dialogs/emotion/images/fface.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwillber/JFinalCMS/3f53464001237751c966b9492c374eea55f2eecc/src/main/webapp/static/plugins/ueditor/dialogs/emotion/images/fface.gif -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/ueditor/dialogs/emotion/images/jxface2.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwillber/JFinalCMS/3f53464001237751c966b9492c374eea55f2eecc/src/main/webapp/static/plugins/ueditor/dialogs/emotion/images/jxface2.gif -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/ueditor/dialogs/emotion/images/neweditor-tab-bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwillber/JFinalCMS/3f53464001237751c966b9492c374eea55f2eecc/src/main/webapp/static/plugins/ueditor/dialogs/emotion/images/neweditor-tab-bg.png -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/ueditor/dialogs/emotion/images/tface.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwillber/JFinalCMS/3f53464001237751c966b9492c374eea55f2eecc/src/main/webapp/static/plugins/ueditor/dialogs/emotion/images/tface.gif -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/ueditor/dialogs/emotion/images/wface.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwillber/JFinalCMS/3f53464001237751c966b9492c374eea55f2eecc/src/main/webapp/static/plugins/ueditor/dialogs/emotion/images/wface.gif -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/ueditor/dialogs/emotion/images/yface.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwillber/JFinalCMS/3f53464001237751c966b9492c374eea55f2eecc/src/main/webapp/static/plugins/ueditor/dialogs/emotion/images/yface.gif -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/ueditor/dialogs/help/help.css: -------------------------------------------------------------------------------- 1 | .wrapper{width: 370px;margin: 10px auto;zoom: 1;} 2 | .tabbody{height: 360px;} 3 | .tabbody .panel{width:100%;height: 360px;position: absolute;background: #fff;} 4 | .tabbody .panel h1{font-size:26px;margin: 5px 0 0 5px;} 5 | .tabbody .panel p{font-size:12px;margin: 5px 0 0 5px;} 6 | .tabbody table{width:90%;line-height: 20px;margin: 5px 0 0 5px;;} 7 | .tabbody table thead{font-weight: bold;line-height: 25px;} -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/ueditor/dialogs/help/help.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Created with JetBrains PhpStorm. 3 | * User: xuheng 4 | * Date: 12-9-26 5 | * Time: 下午1:06 6 | * To change this template use File | Settings | File Templates. 7 | */ 8 | /** 9 | * tab点击处理事件 10 | * @param tabHeads 11 | * @param tabBodys 12 | * @param obj 13 | */ 14 | function clickHandler( tabHeads,tabBodys,obj ) { 15 | //head样式更改 16 | for ( var k = 0, len = tabHeads.length; k < len; k++ ) { 17 | tabHeads[k].className = ""; 18 | } 19 | obj.className = "focus"; 20 | //body显隐 21 | var tabSrc = obj.getAttribute( "tabSrc" ); 22 | for ( var j = 0, length = tabBodys.length; j < length; j++ ) { 23 | var body = tabBodys[j], 24 | id = body.getAttribute( "id" ); 25 | body.onclick = function(){ 26 | this.style.zoom = 1; 27 | }; 28 | if ( id != tabSrc ) { 29 | body.style.zIndex = 1; 30 | } else { 31 | body.style.zIndex = 200; 32 | } 33 | } 34 | 35 | } 36 | 37 | /** 38 | * TAB切换 39 | * @param tabParentId tab的父节点ID或者对象本身 40 | */ 41 | function switchTab( tabParentId ) { 42 | var tabElements = $G( tabParentId ).children, 43 | tabHeads = tabElements[0].children, 44 | tabBodys = tabElements[1].children; 45 | 46 | for ( var i = 0, length = tabHeads.length; i < length; i++ ) { 47 | var head = tabHeads[i]; 48 | if ( head.className === "focus" )clickHandler(tabHeads,tabBodys, head ); 49 | head.onclick = function () { 50 | clickHandler(tabHeads,tabBodys,this); 51 | } 52 | } 53 | } 54 | switchTab("helptab"); 55 | 56 | document.getElementById('version').innerHTML = parent.UE.version; -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/ueditor/dialogs/image/images/alignicon.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwillber/JFinalCMS/3f53464001237751c966b9492c374eea55f2eecc/src/main/webapp/static/plugins/ueditor/dialogs/image/images/alignicon.jpg -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/ueditor/dialogs/image/images/bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwillber/JFinalCMS/3f53464001237751c966b9492c374eea55f2eecc/src/main/webapp/static/plugins/ueditor/dialogs/image/images/bg.png -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/ueditor/dialogs/image/images/icons.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwillber/JFinalCMS/3f53464001237751c966b9492c374eea55f2eecc/src/main/webapp/static/plugins/ueditor/dialogs/image/images/icons.gif -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/ueditor/dialogs/image/images/icons.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwillber/JFinalCMS/3f53464001237751c966b9492c374eea55f2eecc/src/main/webapp/static/plugins/ueditor/dialogs/image/images/icons.png -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/ueditor/dialogs/image/images/image.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwillber/JFinalCMS/3f53464001237751c966b9492c374eea55f2eecc/src/main/webapp/static/plugins/ueditor/dialogs/image/images/image.png -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/ueditor/dialogs/image/images/progress.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwillber/JFinalCMS/3f53464001237751c966b9492c374eea55f2eecc/src/main/webapp/static/plugins/ueditor/dialogs/image/images/progress.png -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/ueditor/dialogs/image/images/success.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwillber/JFinalCMS/3f53464001237751c966b9492c374eea55f2eecc/src/main/webapp/static/plugins/ueditor/dialogs/image/images/success.gif -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/ueditor/dialogs/image/images/success.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwillber/JFinalCMS/3f53464001237751c966b9492c374eea55f2eecc/src/main/webapp/static/plugins/ueditor/dialogs/image/images/success.png -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/ueditor/dialogs/music/music.css: -------------------------------------------------------------------------------- 1 | .wrapper{margin: 5px 10px;} 2 | 3 | .searchBar{height:30px;padding:7px 0 3px;text-align:center;} 4 | .searchBtn{font-size:13px;height:24px;} 5 | 6 | .resultBar{width:460px;margin:5px auto;border: 1px solid #CCC;border-radius: 5px;box-shadow: 2px 2px 5px #D3D6DA;overflow: hidden;} 7 | 8 | .listPanel{overflow: hidden;} 9 | .panelon{display:block;} 10 | .paneloff{display:none} 11 | 12 | .page{width:220px;margin:20px auto;overflow: hidden;} 13 | .pageon{float:right;width:24px;line-height:24px;height:24px;margin-right: 5px;background: none;border: none;color: #000;font-weight: bold;text-align:center} 14 | .pageoff{float:right;width:24px;line-height:24px;height:24px;cursor:pointer;background-color: #fff; 15 | border: 1px solid #E7ECF0;color: #2D64B3;margin-right: 5px;text-decoration: none;text-align:center;} 16 | 17 | .m-box{width:460px;} 18 | .m-m{float: left;line-height: 20px;height: 20px;} 19 | .m-h{height:24px;line-height:24px;padding-left: 46px;background-color:#FAFAFA;border-bottom: 1px solid #DAD8D8;font-weight: bold;font-size: 12px;color: #333;} 20 | .m-l{float:left;width:40px; } 21 | .m-t{float:left;width:140px;} 22 | .m-s{float:left;width:110px;} 23 | .m-z{float:left;width:100px;} 24 | .m-try-t{float: left;width: 60px;;} 25 | 26 | .m-try{float:left;width:20px;height:20px;background:url('http://static.tieba.baidu.com/tb/editor/images/try_music.gif') no-repeat ;} 27 | .m-trying{float:left;width:20px;height:20px;background:url('http://static.tieba.baidu.com/tb/editor/images/stop_music.gif') no-repeat ;} 28 | 29 | .loading{width:95px;height:7px;font-size:7px;margin:60px auto;background:url(http://static.tieba.baidu.com/tb/editor/images/loading.gif) no-repeat} 30 | .empty{width:300px;height:40px;padding:2px;margin:50px auto;line-height:40px; color:#006699;text-align:center;} -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/ueditor/dialogs/music/music.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 插入音乐 6 | 7 | 8 | 9 | 10 |
    11 | 15 |
    16 | 17 |
    18 |
    19 |
    20 |
    21 | 22 | 31 | 32 | -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/ueditor/dialogs/preview/preview.html: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | 6 | 21 | 22 | 23 | 24 | 25 | 26 |
    27 | 28 |
    29 | 30 | 40 | -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/ueditor/dialogs/scrawl/images/addimg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwillber/JFinalCMS/3f53464001237751c966b9492c374eea55f2eecc/src/main/webapp/static/plugins/ueditor/dialogs/scrawl/images/addimg.png -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/ueditor/dialogs/scrawl/images/brush.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwillber/JFinalCMS/3f53464001237751c966b9492c374eea55f2eecc/src/main/webapp/static/plugins/ueditor/dialogs/scrawl/images/brush.png -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/ueditor/dialogs/scrawl/images/delimg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwillber/JFinalCMS/3f53464001237751c966b9492c374eea55f2eecc/src/main/webapp/static/plugins/ueditor/dialogs/scrawl/images/delimg.png -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/ueditor/dialogs/scrawl/images/delimgH.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwillber/JFinalCMS/3f53464001237751c966b9492c374eea55f2eecc/src/main/webapp/static/plugins/ueditor/dialogs/scrawl/images/delimgH.png -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/ueditor/dialogs/scrawl/images/empty.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwillber/JFinalCMS/3f53464001237751c966b9492c374eea55f2eecc/src/main/webapp/static/plugins/ueditor/dialogs/scrawl/images/empty.png -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/ueditor/dialogs/scrawl/images/emptyH.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwillber/JFinalCMS/3f53464001237751c966b9492c374eea55f2eecc/src/main/webapp/static/plugins/ueditor/dialogs/scrawl/images/emptyH.png -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/ueditor/dialogs/scrawl/images/eraser.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwillber/JFinalCMS/3f53464001237751c966b9492c374eea55f2eecc/src/main/webapp/static/plugins/ueditor/dialogs/scrawl/images/eraser.png -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/ueditor/dialogs/scrawl/images/redo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwillber/JFinalCMS/3f53464001237751c966b9492c374eea55f2eecc/src/main/webapp/static/plugins/ueditor/dialogs/scrawl/images/redo.png -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/ueditor/dialogs/scrawl/images/redoH.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwillber/JFinalCMS/3f53464001237751c966b9492c374eea55f2eecc/src/main/webapp/static/plugins/ueditor/dialogs/scrawl/images/redoH.png -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/ueditor/dialogs/scrawl/images/scale.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwillber/JFinalCMS/3f53464001237751c966b9492c374eea55f2eecc/src/main/webapp/static/plugins/ueditor/dialogs/scrawl/images/scale.png -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/ueditor/dialogs/scrawl/images/scaleH.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwillber/JFinalCMS/3f53464001237751c966b9492c374eea55f2eecc/src/main/webapp/static/plugins/ueditor/dialogs/scrawl/images/scaleH.png -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/ueditor/dialogs/scrawl/images/size.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwillber/JFinalCMS/3f53464001237751c966b9492c374eea55f2eecc/src/main/webapp/static/plugins/ueditor/dialogs/scrawl/images/size.png -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/ueditor/dialogs/scrawl/images/undo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwillber/JFinalCMS/3f53464001237751c966b9492c374eea55f2eecc/src/main/webapp/static/plugins/ueditor/dialogs/scrawl/images/undo.png -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/ueditor/dialogs/scrawl/images/undoH.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwillber/JFinalCMS/3f53464001237751c966b9492c374eea55f2eecc/src/main/webapp/static/plugins/ueditor/dialogs/scrawl/images/undoH.png -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/ueditor/dialogs/spechars/spechars.html: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | 6 | 7 | 8 | 14 | 15 | 16 |
    17 |
    18 |
    19 | 20 | 21 | -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/ueditor/dialogs/table/dragicon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwillber/JFinalCMS/3f53464001237751c966b9492c374eea55f2eecc/src/main/webapp/static/plugins/ueditor/dialogs/table/dragicon.png -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/ueditor/dialogs/table/edittable.css: -------------------------------------------------------------------------------- 1 | body{ 2 | overflow: hidden; 3 | width: 540px; 4 | } 5 | .wrapper { 6 | margin: 10px auto 0; 7 | font-size: 12px; 8 | overflow: hidden; 9 | width: 520px; 10 | height: 315px; 11 | } 12 | 13 | .clear { 14 | clear: both; 15 | } 16 | 17 | .wrapper .left { 18 | float: left; 19 | margin-left: 10px;; 20 | } 21 | 22 | .wrapper .right { 23 | float: right; 24 | border-left: 2px dotted #EDEDED; 25 | padding-left: 15px; 26 | } 27 | 28 | .section { 29 | margin-bottom: 15px; 30 | width: 240px; 31 | overflow: hidden; 32 | } 33 | 34 | .section h3 { 35 | font-weight: bold; 36 | padding: 5px 0; 37 | margin-bottom: 10px; 38 | border-bottom: 1px solid #EDEDED; 39 | font-size: 12px; 40 | } 41 | 42 | .section ul { 43 | list-style: none; 44 | overflow: hidden; 45 | clear: both; 46 | 47 | } 48 | 49 | .section li { 50 | float: left; 51 | width: 120px;; 52 | } 53 | 54 | .section .tone { 55 | width: 80px;; 56 | } 57 | 58 | .section .preview { 59 | width: 220px; 60 | } 61 | 62 | .section .preview table { 63 | text-align: center; 64 | vertical-align: middle; 65 | color: #666; 66 | } 67 | 68 | .section .preview caption { 69 | font-weight: bold; 70 | } 71 | 72 | .section .preview td { 73 | border-width: 1px; 74 | border-style: solid; 75 | height: 22px; 76 | } 77 | 78 | .section .preview th { 79 | border-style: solid; 80 | border-color: #DDD; 81 | border-width: 2px 1px 1px 1px; 82 | height: 22px; 83 | background-color: #F7F7F7; 84 | } -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/ueditor/dialogs/table/edittd.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 16 | 17 | 18 |
    19 | 20 | 21 |
    22 | 60 | 61 | -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/ueditor/dialogs/table/edittip.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 表格删除提示 5 | 6 | 17 | 18 | 19 |
    20 |
    21 | 22 |
    23 |
    24 | 25 |
    26 |
    27 | 32 | 33 | -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/ueditor/dialogs/template/images/bg.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwillber/JFinalCMS/3f53464001237751c966b9492c374eea55f2eecc/src/main/webapp/static/plugins/ueditor/dialogs/template/images/bg.gif -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/ueditor/dialogs/template/images/pre0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwillber/JFinalCMS/3f53464001237751c966b9492c374eea55f2eecc/src/main/webapp/static/plugins/ueditor/dialogs/template/images/pre0.png -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/ueditor/dialogs/template/images/pre1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwillber/JFinalCMS/3f53464001237751c966b9492c374eea55f2eecc/src/main/webapp/static/plugins/ueditor/dialogs/template/images/pre1.png -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/ueditor/dialogs/template/images/pre2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwillber/JFinalCMS/3f53464001237751c966b9492c374eea55f2eecc/src/main/webapp/static/plugins/ueditor/dialogs/template/images/pre2.png -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/ueditor/dialogs/template/images/pre3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwillber/JFinalCMS/3f53464001237751c966b9492c374eea55f2eecc/src/main/webapp/static/plugins/ueditor/dialogs/template/images/pre3.png -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/ueditor/dialogs/template/images/pre4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwillber/JFinalCMS/3f53464001237751c966b9492c374eea55f2eecc/src/main/webapp/static/plugins/ueditor/dialogs/template/images/pre4.png -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/ueditor/dialogs/template/template.css: -------------------------------------------------------------------------------- 1 | .wrap{ padding: 5px;font-size: 14px;} 2 | .left{width:425px;float: left;} 3 | .right{width:160px;border: 1px solid #ccc;float: right;padding: 5px;margin-right: 5px;} 4 | .right .pre{height: 332px;overflow-y: auto;} 5 | .right .preitem{border: white 1px solid;margin: 5px 0;padding: 2px 0;} 6 | .right .preitem:hover{background-color: lemonChiffon;cursor: pointer;border: #ccc 1px solid;} 7 | .right .preitem img{display: block;margin: 0 auto;width:100px;} 8 | .clear{clear: both;} 9 | .top{height:26px;line-height: 26px;padding: 5px;} 10 | .bottom{height:320px;width:100%;margin: 0 auto;} 11 | .transparent{ background: url("images/bg.gif") repeat;} 12 | .bottom table tr td{border:1px dashed #ccc;} 13 | #colorPicker{width: 17px;height: 17px;border: 1px solid #CCC;display: inline-block;border-radius: 3px;box-shadow: 2px 2px 5px #D3D6DA;} 14 | .border_style1{padding:2px;border: 1px solid #ccc;border-radius: 5px;box-shadow:2px 2px 5px #d3d6da;} 15 | p{margin: 5px 0} 16 | table{clear:both;margin-bottom:10px;border-collapse:collapse;word-break:break-all;} 17 | li{clear:both} 18 | ol{padding-left:40px; } -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/ueditor/dialogs/template/template.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
    11 |
    12 |
    13 | 14 |
    15 |
    16 |
    17 |
    18 | 19 |
    20 |
    21 |
    22 |
    23 | 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/ueditor/dialogs/template/template.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Created with JetBrains PhpStorm. 3 | * User: xuheng 4 | * Date: 12-8-8 5 | * Time: 下午2:09 6 | * To change this template use File | Settings | File Templates. 7 | */ 8 | (function () { 9 | var me = editor, 10 | preview = $G( "preview" ), 11 | preitem = $G( "preitem" ), 12 | tmps = templates, 13 | currentTmp; 14 | var initPre = function () { 15 | var str = ""; 16 | for ( var i = 0, tmp; tmp = tmps[i++]; ) { 17 | str += '
    '; 18 | } 19 | preitem.innerHTML = str; 20 | }; 21 | var pre = function ( n ) { 22 | var tmp = tmps[n - 1]; 23 | currentTmp = tmp; 24 | clearItem(); 25 | domUtils.setStyles( preitem.childNodes[n - 1], { 26 | "background-color":"lemonChiffon", 27 | "border":"#ccc 1px solid" 28 | } ); 29 | preview.innerHTML = tmp.preHtml ? tmp.preHtml : ""; 30 | }; 31 | var clearItem = function () { 32 | var items = preitem.children; 33 | for ( var i = 0, item; item = items[i++]; ) { 34 | domUtils.setStyles( item, { 35 | "background-color":"", 36 | "border":"white 1px solid" 37 | } ); 38 | } 39 | }; 40 | dialog.onok = function () { 41 | if ( !$G( "issave" ).checked ){ 42 | me.execCommand( "cleardoc" ); 43 | } 44 | var obj = { 45 | html:currentTmp && currentTmp.html 46 | }; 47 | me.execCommand( "template", obj ); 48 | }; 49 | initPre(); 50 | window.pre = pre; 51 | pre(2) 52 | 53 | })(); -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/ueditor/dialogs/video/images/bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwillber/JFinalCMS/3f53464001237751c966b9492c374eea55f2eecc/src/main/webapp/static/plugins/ueditor/dialogs/video/images/bg.png -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/ueditor/dialogs/video/images/center_focus.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwillber/JFinalCMS/3f53464001237751c966b9492c374eea55f2eecc/src/main/webapp/static/plugins/ueditor/dialogs/video/images/center_focus.jpg -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/ueditor/dialogs/video/images/file-icons.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwillber/JFinalCMS/3f53464001237751c966b9492c374eea55f2eecc/src/main/webapp/static/plugins/ueditor/dialogs/video/images/file-icons.gif -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/ueditor/dialogs/video/images/file-icons.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwillber/JFinalCMS/3f53464001237751c966b9492c374eea55f2eecc/src/main/webapp/static/plugins/ueditor/dialogs/video/images/file-icons.png -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/ueditor/dialogs/video/images/icons.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwillber/JFinalCMS/3f53464001237751c966b9492c374eea55f2eecc/src/main/webapp/static/plugins/ueditor/dialogs/video/images/icons.gif -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/ueditor/dialogs/video/images/icons.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwillber/JFinalCMS/3f53464001237751c966b9492c374eea55f2eecc/src/main/webapp/static/plugins/ueditor/dialogs/video/images/icons.png -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/ueditor/dialogs/video/images/image.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwillber/JFinalCMS/3f53464001237751c966b9492c374eea55f2eecc/src/main/webapp/static/plugins/ueditor/dialogs/video/images/image.png -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/ueditor/dialogs/video/images/left_focus.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwillber/JFinalCMS/3f53464001237751c966b9492c374eea55f2eecc/src/main/webapp/static/plugins/ueditor/dialogs/video/images/left_focus.jpg -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/ueditor/dialogs/video/images/none_focus.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwillber/JFinalCMS/3f53464001237751c966b9492c374eea55f2eecc/src/main/webapp/static/plugins/ueditor/dialogs/video/images/none_focus.jpg -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/ueditor/dialogs/video/images/progress.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwillber/JFinalCMS/3f53464001237751c966b9492c374eea55f2eecc/src/main/webapp/static/plugins/ueditor/dialogs/video/images/progress.png -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/ueditor/dialogs/video/images/right_focus.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwillber/JFinalCMS/3f53464001237751c966b9492c374eea55f2eecc/src/main/webapp/static/plugins/ueditor/dialogs/video/images/right_focus.jpg -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/ueditor/dialogs/video/images/success.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwillber/JFinalCMS/3f53464001237751c966b9492c374eea55f2eecc/src/main/webapp/static/plugins/ueditor/dialogs/video/images/success.gif -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/ueditor/dialogs/video/images/success.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwillber/JFinalCMS/3f53464001237751c966b9492c374eea55f2eecc/src/main/webapp/static/plugins/ueditor/dialogs/video/images/success.png -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/ueditor/dialogs/wordimage/fClipboard_ueditor.swf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwillber/JFinalCMS/3f53464001237751c966b9492c374eea55f2eecc/src/main/webapp/static/plugins/ueditor/dialogs/wordimage/fClipboard_ueditor.swf -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/ueditor/dialogs/wordimage/imageUploader.swf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwillber/JFinalCMS/3f53464001237751c966b9492c374eea55f2eecc/src/main/webapp/static/plugins/ueditor/dialogs/wordimage/imageUploader.swf -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/ueditor/lang/en_US/images/addimage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwillber/JFinalCMS/3f53464001237751c966b9492c374eea55f2eecc/src/main/webapp/static/plugins/ueditor/lang/en_US/images/addimage.png -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/ueditor/lang/en_US/images/alldeletebtnhoverskin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwillber/JFinalCMS/3f53464001237751c966b9492c374eea55f2eecc/src/main/webapp/static/plugins/ueditor/lang/en_US/images/alldeletebtnhoverskin.png -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/ueditor/lang/en_US/images/alldeletebtnupskin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwillber/JFinalCMS/3f53464001237751c966b9492c374eea55f2eecc/src/main/webapp/static/plugins/ueditor/lang/en_US/images/alldeletebtnupskin.png -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/ueditor/lang/en_US/images/background.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwillber/JFinalCMS/3f53464001237751c966b9492c374eea55f2eecc/src/main/webapp/static/plugins/ueditor/lang/en_US/images/background.png -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/ueditor/lang/en_US/images/button.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwillber/JFinalCMS/3f53464001237751c966b9492c374eea55f2eecc/src/main/webapp/static/plugins/ueditor/lang/en_US/images/button.png -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/ueditor/lang/en_US/images/copy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwillber/JFinalCMS/3f53464001237751c966b9492c374eea55f2eecc/src/main/webapp/static/plugins/ueditor/lang/en_US/images/copy.png -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/ueditor/lang/en_US/images/deletedisable.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwillber/JFinalCMS/3f53464001237751c966b9492c374eea55f2eecc/src/main/webapp/static/plugins/ueditor/lang/en_US/images/deletedisable.png -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/ueditor/lang/en_US/images/deleteenable.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwillber/JFinalCMS/3f53464001237751c966b9492c374eea55f2eecc/src/main/webapp/static/plugins/ueditor/lang/en_US/images/deleteenable.png -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/ueditor/lang/en_US/images/listbackground.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwillber/JFinalCMS/3f53464001237751c966b9492c374eea55f2eecc/src/main/webapp/static/plugins/ueditor/lang/en_US/images/listbackground.png -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/ueditor/lang/en_US/images/localimage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwillber/JFinalCMS/3f53464001237751c966b9492c374eea55f2eecc/src/main/webapp/static/plugins/ueditor/lang/en_US/images/localimage.png -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/ueditor/lang/en_US/images/music.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwillber/JFinalCMS/3f53464001237751c966b9492c374eea55f2eecc/src/main/webapp/static/plugins/ueditor/lang/en_US/images/music.png -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/ueditor/lang/en_US/images/rotateleftdisable.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwillber/JFinalCMS/3f53464001237751c966b9492c374eea55f2eecc/src/main/webapp/static/plugins/ueditor/lang/en_US/images/rotateleftdisable.png -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/ueditor/lang/en_US/images/rotateleftenable.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwillber/JFinalCMS/3f53464001237751c966b9492c374eea55f2eecc/src/main/webapp/static/plugins/ueditor/lang/en_US/images/rotateleftenable.png -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/ueditor/lang/en_US/images/rotaterightdisable.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwillber/JFinalCMS/3f53464001237751c966b9492c374eea55f2eecc/src/main/webapp/static/plugins/ueditor/lang/en_US/images/rotaterightdisable.png -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/ueditor/lang/en_US/images/rotaterightenable.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwillber/JFinalCMS/3f53464001237751c966b9492c374eea55f2eecc/src/main/webapp/static/plugins/ueditor/lang/en_US/images/rotaterightenable.png -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/ueditor/lang/en_US/images/upload.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwillber/JFinalCMS/3f53464001237751c966b9492c374eea55f2eecc/src/main/webapp/static/plugins/ueditor/lang/en_US/images/upload.png -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/ueditor/lang/zh_CN/images/copy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwillber/JFinalCMS/3f53464001237751c966b9492c374eea55f2eecc/src/main/webapp/static/plugins/ueditor/lang/zh_CN/images/copy.png -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/ueditor/lang/zh_CN/images/localimage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwillber/JFinalCMS/3f53464001237751c966b9492c374eea55f2eecc/src/main/webapp/static/plugins/ueditor/lang/zh_CN/images/localimage.png -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/ueditor/lang/zh_CN/images/music.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwillber/JFinalCMS/3f53464001237751c966b9492c374eea55f2eecc/src/main/webapp/static/plugins/ueditor/lang/zh_CN/images/music.png -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/ueditor/lang/zh_CN/images/upload.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwillber/JFinalCMS/3f53464001237751c966b9492c374eea55f2eecc/src/main/webapp/static/plugins/ueditor/lang/zh_CN/images/upload.png -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/ueditor/lang/zh_TW/images/copy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwillber/JFinalCMS/3f53464001237751c966b9492c374eea55f2eecc/src/main/webapp/static/plugins/ueditor/lang/zh_TW/images/copy.png -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/ueditor/lang/zh_TW/images/localimage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwillber/JFinalCMS/3f53464001237751c966b9492c374eea55f2eecc/src/main/webapp/static/plugins/ueditor/lang/zh_TW/images/localimage.png -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/ueditor/lang/zh_TW/images/music.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwillber/JFinalCMS/3f53464001237751c966b9492c374eea55f2eecc/src/main/webapp/static/plugins/ueditor/lang/zh_TW/images/music.png -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/ueditor/lang/zh_TW/images/upload.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwillber/JFinalCMS/3f53464001237751c966b9492c374eea55f2eecc/src/main/webapp/static/plugins/ueditor/lang/zh_TW/images/upload.png -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/ueditor/themes/default/images/anchor.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwillber/JFinalCMS/3f53464001237751c966b9492c374eea55f2eecc/src/main/webapp/static/plugins/ueditor/themes/default/images/anchor.gif -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/ueditor/themes/default/images/arrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwillber/JFinalCMS/3f53464001237751c966b9492c374eea55f2eecc/src/main/webapp/static/plugins/ueditor/themes/default/images/arrow.png -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/ueditor/themes/default/images/arrow_down.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwillber/JFinalCMS/3f53464001237751c966b9492c374eea55f2eecc/src/main/webapp/static/plugins/ueditor/themes/default/images/arrow_down.png -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/ueditor/themes/default/images/arrow_up.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwillber/JFinalCMS/3f53464001237751c966b9492c374eea55f2eecc/src/main/webapp/static/plugins/ueditor/themes/default/images/arrow_up.png -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/ueditor/themes/default/images/button-bg.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwillber/JFinalCMS/3f53464001237751c966b9492c374eea55f2eecc/src/main/webapp/static/plugins/ueditor/themes/default/images/button-bg.gif -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/ueditor/themes/default/images/cancelbutton.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwillber/JFinalCMS/3f53464001237751c966b9492c374eea55f2eecc/src/main/webapp/static/plugins/ueditor/themes/default/images/cancelbutton.gif -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/ueditor/themes/default/images/charts.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwillber/JFinalCMS/3f53464001237751c966b9492c374eea55f2eecc/src/main/webapp/static/plugins/ueditor/themes/default/images/charts.png -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/ueditor/themes/default/images/cursor_h.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwillber/JFinalCMS/3f53464001237751c966b9492c374eea55f2eecc/src/main/webapp/static/plugins/ueditor/themes/default/images/cursor_h.gif -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/ueditor/themes/default/images/cursor_h.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwillber/JFinalCMS/3f53464001237751c966b9492c374eea55f2eecc/src/main/webapp/static/plugins/ueditor/themes/default/images/cursor_h.png -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/ueditor/themes/default/images/cursor_v.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwillber/JFinalCMS/3f53464001237751c966b9492c374eea55f2eecc/src/main/webapp/static/plugins/ueditor/themes/default/images/cursor_v.gif -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/ueditor/themes/default/images/cursor_v.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwillber/JFinalCMS/3f53464001237751c966b9492c374eea55f2eecc/src/main/webapp/static/plugins/ueditor/themes/default/images/cursor_v.png -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/ueditor/themes/default/images/dialog-title-bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwillber/JFinalCMS/3f53464001237751c966b9492c374eea55f2eecc/src/main/webapp/static/plugins/ueditor/themes/default/images/dialog-title-bg.png -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/ueditor/themes/default/images/filescan.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwillber/JFinalCMS/3f53464001237751c966b9492c374eea55f2eecc/src/main/webapp/static/plugins/ueditor/themes/default/images/filescan.png -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/ueditor/themes/default/images/highlighted.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwillber/JFinalCMS/3f53464001237751c966b9492c374eea55f2eecc/src/main/webapp/static/plugins/ueditor/themes/default/images/highlighted.gif -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/ueditor/themes/default/images/icons-all.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwillber/JFinalCMS/3f53464001237751c966b9492c374eea55f2eecc/src/main/webapp/static/plugins/ueditor/themes/default/images/icons-all.gif -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/ueditor/themes/default/images/icons.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwillber/JFinalCMS/3f53464001237751c966b9492c374eea55f2eecc/src/main/webapp/static/plugins/ueditor/themes/default/images/icons.gif -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/ueditor/themes/default/images/icons.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwillber/JFinalCMS/3f53464001237751c966b9492c374eea55f2eecc/src/main/webapp/static/plugins/ueditor/themes/default/images/icons.png -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/ueditor/themes/default/images/loaderror.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwillber/JFinalCMS/3f53464001237751c966b9492c374eea55f2eecc/src/main/webapp/static/plugins/ueditor/themes/default/images/loaderror.png -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/ueditor/themes/default/images/loading.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwillber/JFinalCMS/3f53464001237751c966b9492c374eea55f2eecc/src/main/webapp/static/plugins/ueditor/themes/default/images/loading.gif -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/ueditor/themes/default/images/lock.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwillber/JFinalCMS/3f53464001237751c966b9492c374eea55f2eecc/src/main/webapp/static/plugins/ueditor/themes/default/images/lock.gif -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/ueditor/themes/default/images/neweditor-tab-bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwillber/JFinalCMS/3f53464001237751c966b9492c374eea55f2eecc/src/main/webapp/static/plugins/ueditor/themes/default/images/neweditor-tab-bg.png -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/ueditor/themes/default/images/pagebreak.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwillber/JFinalCMS/3f53464001237751c966b9492c374eea55f2eecc/src/main/webapp/static/plugins/ueditor/themes/default/images/pagebreak.gif -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/ueditor/themes/default/images/scale.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwillber/JFinalCMS/3f53464001237751c966b9492c374eea55f2eecc/src/main/webapp/static/plugins/ueditor/themes/default/images/scale.png -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/ueditor/themes/default/images/sortable.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwillber/JFinalCMS/3f53464001237751c966b9492c374eea55f2eecc/src/main/webapp/static/plugins/ueditor/themes/default/images/sortable.png -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/ueditor/themes/default/images/spacer.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwillber/JFinalCMS/3f53464001237751c966b9492c374eea55f2eecc/src/main/webapp/static/plugins/ueditor/themes/default/images/spacer.gif -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/ueditor/themes/default/images/sparator_v.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwillber/JFinalCMS/3f53464001237751c966b9492c374eea55f2eecc/src/main/webapp/static/plugins/ueditor/themes/default/images/sparator_v.png -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/ueditor/themes/default/images/table-cell-align.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwillber/JFinalCMS/3f53464001237751c966b9492c374eea55f2eecc/src/main/webapp/static/plugins/ueditor/themes/default/images/table-cell-align.png -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/ueditor/themes/default/images/tangram-colorpicker.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwillber/JFinalCMS/3f53464001237751c966b9492c374eea55f2eecc/src/main/webapp/static/plugins/ueditor/themes/default/images/tangram-colorpicker.png -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/ueditor/themes/default/images/toolbar_bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwillber/JFinalCMS/3f53464001237751c966b9492c374eea55f2eecc/src/main/webapp/static/plugins/ueditor/themes/default/images/toolbar_bg.png -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/ueditor/themes/default/images/unhighlighted.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwillber/JFinalCMS/3f53464001237751c966b9492c374eea55f2eecc/src/main/webapp/static/plugins/ueditor/themes/default/images/unhighlighted.gif -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/ueditor/themes/default/images/upload.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwillber/JFinalCMS/3f53464001237751c966b9492c374eea55f2eecc/src/main/webapp/static/plugins/ueditor/themes/default/images/upload.png -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/ueditor/themes/default/images/videologo.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwillber/JFinalCMS/3f53464001237751c966b9492c374eea55f2eecc/src/main/webapp/static/plugins/ueditor/themes/default/images/videologo.gif -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/ueditor/themes/default/images/word.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwillber/JFinalCMS/3f53464001237751c966b9492c374eea55f2eecc/src/main/webapp/static/plugins/ueditor/themes/default/images/word.gif -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/ueditor/themes/default/images/wordpaste.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwillber/JFinalCMS/3f53464001237751c966b9492c374eea55f2eecc/src/main/webapp/static/plugins/ueditor/themes/default/images/wordpaste.png -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/ueditor/third-party/highcharts/modules/funnel.js: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | Highcharts funnel module, Beta 4 | 5 | (c) 2010-2012 Torstein Hønsi 6 | 7 | License: www.highcharts.com/license 8 | */ 9 | (function(d){var u=d.getOptions().plotOptions,p=d.seriesTypes,D=d.merge,z=function(){},A=d.each;u.funnel=D(u.pie,{center:["50%","50%"],width:"90%",neckWidth:"30%",height:"100%",neckHeight:"25%",dataLabels:{connectorWidth:1,connectorColor:"#606060"},size:!0,states:{select:{color:"#C0C0C0",borderColor:"#000000",shadow:!1}}});p.funnel=d.extendClass(p.pie,{type:"funnel",animate:z,translate:function(){var a=function(k,a){return/%$/.test(k)?a*parseInt(k,10)/100:parseInt(k,10)},g=0,e=this.chart,f=e.plotWidth, 10 | e=e.plotHeight,h=0,c=this.options,C=c.center,b=a(C[0],f),d=a(C[0],e),p=a(c.width,f),i,q,j=a(c.height,e),r=a(c.neckWidth,f),s=a(c.neckHeight,e),v=j-s,a=this.data,w,x,u=c.dataLabels.position==="left"?1:0,y,m,B,n,l,t,o;this.getWidthAt=q=function(k){return k>j-s||j===s?r:r+(p-r)*((j-s-k)/(j-s))};this.getX=function(k,a){return b+(a?-1:1)*(q(k)/2+c.dataLabels.distance)};this.center=[b,d,j];this.centerX=b;A(a,function(a){g+=a.y});A(a,function(a){o=null;x=g?a.y/g:0;m=d-j/2+h*j;l=m+x*j;i=q(m);y=b-i/2;B=y+ 11 | i;i=q(l);n=b-i/2;t=n+i;m>v?(y=n=b-r/2,B=t=b+r/2):l>v&&(o=l,i=q(v),n=b-i/2,t=n+i,l=v);w=["M",y,m,"L",B,m,t,l];o&&w.push(t,o,n,o);w.push(n,l,"Z");a.shapeType="path";a.shapeArgs={d:w};a.percentage=x*100;a.plotX=b;a.plotY=(m+(o||l))/2;a.tooltipPos=[b,a.plotY];a.slice=z;a.half=u;h+=x});this.setTooltipPoints()},drawPoints:function(){var a=this,g=a.options,e=a.chart.renderer;A(a.data,function(f){var h=f.graphic,c=f.shapeArgs;h?h.animate(c):f.graphic=e.path(c).attr({fill:f.color,stroke:g.borderColor,"stroke-width":g.borderWidth}).add(a.group)})}, 12 | sortByAngle:z,drawDataLabels:function(){var a=this.data,g=this.options.dataLabels.distance,e,f,h,c=a.length,d,b;for(this.center[2]-=2*g;c--;)h=a[c],f=(e=h.half)?1:-1,b=h.plotY,d=this.getX(b,e),h.labelPos=[0,b,d+(g-5)*f,b,d+g*f,b,e?"right":"left",0];p.pie.prototype.drawDataLabels.call(this)}})})(Highcharts); 13 | -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/ueditor/third-party/highcharts/modules/heatmap.js: -------------------------------------------------------------------------------- 1 | (function(b){var k=b.seriesTypes,l=b.each;k.heatmap=b.extendClass(k.map,{colorKey:"z",useMapGeometry:!1,pointArrayMap:["y","z"],translate:function(){var c=this,b=c.options,i=Number.MAX_VALUE,j=Number.MIN_VALUE;c.generatePoints();l(c.data,function(a){var e=a.x,f=a.y,d=a.z,g=(b.colsize||1)/2,h=(b.rowsize||1)/2;a.path=["M",e-g,f-h,"L",e+g,f-h,"L",e+g,f+h,"L",e-g,f+h,"Z"];a.shapeType="path";a.shapeArgs={d:c.translatePath(a.path)};typeof d==="number"&&(d>j?j=d:d dataMax) { 39 | dataMax = value; 40 | } else if (value < dataMin) { 41 | dataMin = value; 42 | } 43 | } 44 | }); 45 | 46 | series.translateColors(dataMin, dataMax); 47 | }, 48 | 49 | getBox: function () {} 50 | 51 | }); 52 | 53 | }(Highcharts)); 54 | -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/ueditor/third-party/highcharts/modules/no-data-to-display.js: -------------------------------------------------------------------------------- 1 | /* 2 | Highcharts JS v3.0.6 (2013-10-04) 3 | Plugin for displaying a message when there is no data visible in chart. 4 | 5 | (c) 2010-2013 Highsoft AS 6 | Author: Øystein Moseng 7 | 8 | License: www.highcharts.com/license 9 | */ 10 | (function(c){function f(){return!!this.points.length}function g(){this.hasData()?this.hideNoData():this.showNoData()}var d=c.seriesTypes,e=c.Chart.prototype,h=c.getOptions(),i=c.extend;i(h.lang,{noData:"No data to display"});h.noData={position:{x:0,y:0,align:"center",verticalAlign:"middle"},attr:{},style:{fontWeight:"bold",fontSize:"12px",color:"#60606a"}};d.pie.prototype.hasData=f;if(d.gauge)d.gauge.prototype.hasData=f;if(d.waterfall)d.waterfall.prototype.hasData=f;c.Series.prototype.hasData=function(){return this.dataMax!== 11 | void 0&&this.dataMin!==void 0};e.showNoData=function(a){var b=this.options,a=a||b.lang.noData,b=b.noData;if(!this.noDataLabel)this.noDataLabel=this.renderer.label(a,0,0,null,null,null,null,null,"no-data").attr(b.attr).css(b.style).add(),this.noDataLabel.align(i(this.noDataLabel.getBBox(),b.position),!1,"plotBox")};e.hideNoData=function(){if(this.noDataLabel)this.noDataLabel=this.noDataLabel.destroy()};e.hasData=function(){for(var a=this.series,b=a.length;b--;)if(a[b].hasData()&&!a[b].options.isInternal)return!0; 12 | return!1};e.callbacks.push(function(a){c.addEvent(a,"load",g);c.addEvent(a,"redraw",g)})})(Highcharts); 13 | -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/ueditor/third-party/snapscreen/UEditorSnapscreen.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwillber/JFinalCMS/3f53464001237751c966b9492c374eea55f2eecc/src/main/webapp/static/plugins/ueditor/third-party/snapscreen/UEditorSnapscreen.exe -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/ueditor/third-party/video-js/font/vjs.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwillber/JFinalCMS/3f53464001237751c966b9492c374eea55f2eecc/src/main/webapp/static/plugins/ueditor/third-party/video-js/font/vjs.eot -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/ueditor/third-party/video-js/font/vjs.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwillber/JFinalCMS/3f53464001237751c966b9492c374eea55f2eecc/src/main/webapp/static/plugins/ueditor/third-party/video-js/font/vjs.ttf -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/ueditor/third-party/video-js/font/vjs.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwillber/JFinalCMS/3f53464001237751c966b9492c374eea55f2eecc/src/main/webapp/static/plugins/ueditor/third-party/video-js/font/vjs.woff -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/ueditor/third-party/video-js/video-js.swf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwillber/JFinalCMS/3f53464001237751c966b9492c374eea55f2eecc/src/main/webapp/static/plugins/ueditor/third-party/video-js/video-js.swf -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/ueditor/third-party/webuploader/Uploader.swf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwillber/JFinalCMS/3f53464001237751c966b9492c374eea55f2eecc/src/main/webapp/static/plugins/ueditor/third-party/webuploader/Uploader.swf -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/ueditor/third-party/webuploader/webuploader.css: -------------------------------------------------------------------------------- 1 | .webuploader-container { 2 | position: relative; 3 | } 4 | .webuploader-element-invisible { 5 | position: absolute !important; 6 | clip: rect(1px 1px 1px 1px); /* IE6, IE7 */ 7 | clip: rect(1px,1px,1px,1px); 8 | } 9 | .webuploader-pick { 10 | position: relative; 11 | display: inline-block; 12 | cursor: pointer; 13 | background: #00b7ee; 14 | padding: 10px 15px; 15 | color: #fff; 16 | text-align: center; 17 | border-radius: 3px; 18 | overflow: hidden; 19 | } 20 | .webuploader-pick-hover { 21 | background: #00a2d4; 22 | } 23 | 24 | .webuploader-pick-disable { 25 | opacity: 0.6; 26 | pointer-events:none; 27 | } 28 | 29 | -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/ueditor/third-party/zeroclipboard/ZeroClipboard.swf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwillber/JFinalCMS/3f53464001237751c966b9492c374eea55f2eecc/src/main/webapp/static/plugins/ueditor/third-party/zeroclipboard/ZeroClipboard.swf -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/webuploader/Uploader.swf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwillber/JFinalCMS/3f53464001237751c966b9492c374eea55f2eecc/src/main/webapp/static/plugins/webuploader/Uploader.swf -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/webuploader/webuploader.css: -------------------------------------------------------------------------------- 1 | .webuploader-container { 2 | position: relative; 3 | } 4 | .webuploader-element-invisible { 5 | position: absolute !important; 6 | clip: rect(1px 1px 1px 1px); /* IE6, IE7 */ 7 | clip: rect(1px,1px,1px,1px); 8 | } 9 | .webuploader-pick { 10 | position: relative; 11 | display: inline-block; 12 | cursor: pointer; 13 | background: #1ab394; 14 | /* background: #00b7ee; 15 | padding: 10px 15px; */ 16 | color: #fff; 17 | text-align: center; 18 | border-radius: 3px; 19 | overflow: hidden; 20 | } 21 | .webuploader-pick-hover { 22 | background: #00a2d4; 23 | } 24 | 25 | .webuploader-pick-disable { 26 | opacity: 0.6; 27 | pointer-events:none; 28 | } 29 | 30 | -------------------------------------------------------------------------------- /src/main/webapp/templates/default/front/banner.html: -------------------------------------------------------------------------------- 1 |
    2 |
    3 |
    4 |

    持续为客户创造价值

    5 |

    5年来我们积累了大量的项目案例,并在不断的探索中总结经验,帮您挖掘和创新更大商机的可能

    6 |
    7 |
    8 |
    -------------------------------------------------------------------------------- /src/main/webapp/templates/default/front/contactus.html: -------------------------------------------------------------------------------- 1 |
    2 |
    3 |

    是时候,给您的企业/产品建一个门面了

    4 |

    在一起,水滴可以成就海洋。让我们帮你的网站成就更多。

    5 | 立即和我们联系 6 |
    7 |
    -------------------------------------------------------------------------------- /src/main/webapp/templates/default/front/header.html: -------------------------------------------------------------------------------- 1 | 21 | -------------------------------------------------------------------------------- /src/main/webapp/templates/default/front/pagination.html: -------------------------------------------------------------------------------- 1 |
    2 | [#if totalPages > 1] 3 | [#if hasPrevious] 4 | 上一页 5 | [#else] 6 | 上一页 7 | [/#if] 8 | [#list segment as segmentPageNumber] 9 | [#if segmentPageNumber != pageNumber] 10 | ${segmentPageNumber} 11 | [#else] 12 | ${segmentPageNumber} 13 | [/#if] 14 | [/#list] 15 | [#if hasNext] 16 | 下一页 17 | [#else] 18 | 下一页 19 | [/#if] 20 | [/#if] 21 |
    -------------------------------------------------------------------------------- /src/main/webapp/templates/default/front/service.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/main/webapp/templates/default/front/sitemap.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | [#list sitemapUrls as sitemapUrl] 5 | 6 | ${sitemapUrl.loc} 7 | ${sitemapUrl.lastmod?string("yyyy-MM-dd")} 8 | ${sitemapUrl.changefreq} 9 | ${sitemapUrl.priority} 10 | 11 | [/#list] 12 | 13 | -------------------------------------------------------------------------------- /src/main/webapp/templates/default/front/static/css/app.css: -------------------------------------------------------------------------------- 1 | /* Write your styles */ -------------------------------------------------------------------------------- /src/main/webapp/templates/default/front/static/fonts/FontAwesome.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwillber/JFinalCMS/3f53464001237751c966b9492c374eea55f2eecc/src/main/webapp/templates/default/front/static/fonts/FontAwesome.otf -------------------------------------------------------------------------------- /src/main/webapp/templates/default/front/static/fonts/fontawesome-webfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwillber/JFinalCMS/3f53464001237751c966b9492c374eea55f2eecc/src/main/webapp/templates/default/front/static/fonts/fontawesome-webfont.eot -------------------------------------------------------------------------------- /src/main/webapp/templates/default/front/static/fonts/fontawesome-webfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwillber/JFinalCMS/3f53464001237751c966b9492c374eea55f2eecc/src/main/webapp/templates/default/front/static/fonts/fontawesome-webfont.ttf -------------------------------------------------------------------------------- /src/main/webapp/templates/default/front/static/fonts/fontawesome-webfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwillber/JFinalCMS/3f53464001237751c966b9492c374eea55f2eecc/src/main/webapp/templates/default/front/static/fonts/fontawesome-webfont.woff -------------------------------------------------------------------------------- /src/main/webapp/templates/default/front/static/fonts/fontawesome-webfont.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwillber/JFinalCMS/3f53464001237751c966b9492c374eea55f2eecc/src/main/webapp/templates/default/front/static/fonts/fontawesome-webfont.woff2 -------------------------------------------------------------------------------- /src/main/webapp/templates/default/front/static/images/case_bg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwillber/JFinalCMS/3f53464001237751c966b9492c374eea55f2eecc/src/main/webapp/templates/default/front/static/images/case_bg.jpg -------------------------------------------------------------------------------- /src/main/webapp/templates/default/front/static/images/dian_03.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwillber/JFinalCMS/3f53464001237751c966b9492c374eea55f2eecc/src/main/webapp/templates/default/front/static/images/dian_03.png -------------------------------------------------------------------------------- /src/main/webapp/templates/default/front/static/images/enjoy-sea.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwillber/JFinalCMS/3f53464001237751c966b9492c374eea55f2eecc/src/main/webapp/templates/default/front/static/images/enjoy-sea.jpg -------------------------------------------------------------------------------- /src/main/webapp/templates/default/front/static/images/hd_bg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwillber/JFinalCMS/3f53464001237751c966b9492c374eea55f2eecc/src/main/webapp/templates/default/front/static/images/hd_bg.jpg -------------------------------------------------------------------------------- /src/main/webapp/templates/default/front/static/images/logo-lg11.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwillber/JFinalCMS/3f53464001237751c966b9492c374eea55f2eecc/src/main/webapp/templates/default/front/static/images/logo-lg11.png -------------------------------------------------------------------------------- /src/main/webapp/templates/default/front/static/images/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwillber/JFinalCMS/3f53464001237751c966b9492c374eea55f2eecc/src/main/webapp/templates/default/front/static/images/logo.png -------------------------------------------------------------------------------- /src/main/webapp/templates/default/front/static/images/tx1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwillber/JFinalCMS/3f53464001237751c966b9492c374eea55f2eecc/src/main/webapp/templates/default/front/static/images/tx1.jpg -------------------------------------------------------------------------------- /src/main/webapp/templates/default/front/static/images/tx2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwillber/JFinalCMS/3f53464001237751c966b9492c374eea55f2eecc/src/main/webapp/templates/default/front/static/images/tx2.jpg -------------------------------------------------------------------------------- /src/main/webapp/templates/default/front/static/images/tx3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwillber/JFinalCMS/3f53464001237751c966b9492c374eea55f2eecc/src/main/webapp/templates/default/front/static/images/tx3.jpg -------------------------------------------------------------------------------- /src/main/webapp/templates/default/front/static/images/xiangmu_03.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwillber/JFinalCMS/3f53464001237751c966b9492c374eea55f2eecc/src/main/webapp/templates/default/front/static/images/xiangmu_03.jpg -------------------------------------------------------------------------------- /src/main/webapp/templates/default/front/static/images/xiangmu_05.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwillber/JFinalCMS/3f53464001237751c966b9492c374eea55f2eecc/src/main/webapp/templates/default/front/static/images/xiangmu_05.jpg -------------------------------------------------------------------------------- /src/main/webapp/templates/default/front/static/images/xiangmu_07.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jwillber/JFinalCMS/3f53464001237751c966b9492c374eea55f2eecc/src/main/webapp/templates/default/front/static/images/xiangmu_07.jpg -------------------------------------------------------------------------------- /src/main/webapp/templates/default/front/static/js/tabs.js: -------------------------------------------------------------------------------- 1 | function tabit(btn){ 2 | var idname = new String(btn.id); 3 | var s = idname.indexOf("_"); 4 | var e = idname.lastIndexOf("_")+1; 5 | var tabName = idname.substr(0, s); 6 | var id = parseInt(idname.substr(e, 1)); 7 | var tabNumber = btn.parentNode.childNodes.length; 8 | for(i=0;i