├── .gitattributes ├── .gitignore ├── .idea ├── artifacts │ ├── myblog_war.xml │ └── myblog_war_exploded.xml ├── codeStyles │ └── codeStyleConfig.xml ├── compiler.xml ├── encodings.xml ├── libraries │ ├── Maven__com_alibaba_fastjson_1_2_47.xml │ ├── Maven__com_aliyun_oss_aliyun_sdk_oss_2_7_0.xml │ ├── Maven__com_fasterxml_jackson_core_jackson_annotations_2_9_4.xml │ ├── Maven__com_fasterxml_jackson_core_jackson_core_2_9_4.xml │ ├── Maven__com_fasterxml_jackson_core_jackson_databind_2_9_4.xml │ ├── Maven__com_github_jsqlparser_jsqlparser_0_9_1.xml │ ├── Maven__com_github_pagehelper_pagehelper_4_0_0.xml │ ├── Maven__commons_beanutils_commons_beanutils_1_8_3.xml │ ├── Maven__commons_codec_commons_codec_1_10.xml │ ├── Maven__commons_collections_commons_collections_3_2_1.xml │ ├── Maven__commons_dbcp_commons_dbcp_1_4.xml │ ├── Maven__commons_fileupload_commons_fileupload_1_3_3.xml │ ├── Maven__commons_httpclient_commons_httpclient_3_1.xml │ ├── Maven__commons_io_commons_io_2_4.xml │ ├── Maven__commons_lang_commons_lang_2_5.xml │ ├── Maven__commons_logging_commons_logging_1_2.xml │ ├── Maven__commons_pool_commons_pool_1_5_4.xml │ ├── Maven__javax_servlet_javax_servlet_api_3_1_0.xml │ ├── Maven__javax_servlet_jsp_jsp_api_2_2.xml │ ├── Maven__jstl_jstl_1_2.xml │ ├── Maven__junit_junit_4_12.xml │ ├── Maven__log4j_log4j_1_2_17.xml │ ├── Maven__mysql_mysql_connector_java_5_1_35.xml │ ├── Maven__net_sf_ezmorph_ezmorph_1_0_6.xml │ ├── Maven__net_sf_json_lib_json_lib_jdk15_2_4.xml │ ├── Maven__org_apache_commons_commons_lang3_3_4.xml │ ├── Maven__org_apache_commons_commons_pool2_2_4_2.xml │ ├── Maven__org_apache_httpcomponents_httpclient_4_4_1.xml │ ├── Maven__org_apache_httpcomponents_httpcore_4_4_1.xml │ ├── Maven__org_apache_shiro_shiro_core_1_2_1.xml │ ├── Maven__org_apache_shiro_shiro_spring_1_2_1.xml │ ├── Maven__org_apache_shiro_shiro_web_1_2_1.xml │ ├── Maven__org_aspectj_aspectjweaver_1_5_4.xml │ ├── Maven__org_hamcrest_hamcrest_core_1_3.xml │ ├── Maven__org_jdom_jdom_1_1.xml │ ├── Maven__org_json_json_20160212.xml │ ├── Maven__org_mybatis_mybatis_3_4_0.xml │ ├── Maven__org_mybatis_mybatis_spring_1_3_0.xml │ ├── Maven__org_slf4j_slf4j_api_1_7_21.xml │ ├── Maven__org_slf4j_slf4j_log4j12_1_7_21.xml │ ├── Maven__org_springframework_spring_aop_4_3_3_RELEASE.xml │ ├── Maven__org_springframework_spring_beans_4_3_3_RELEASE.xml │ ├── Maven__org_springframework_spring_context_4_3_3_RELEASE.xml │ ├── Maven__org_springframework_spring_context_support_4_3_3_RELEASE.xml │ ├── Maven__org_springframework_spring_core_4_3_3_RELEASE.xml │ ├── Maven__org_springframework_spring_expression_4_3_3_RELEASE.xml │ ├── Maven__org_springframework_spring_jdbc_4_3_3_RELEASE.xml │ ├── Maven__org_springframework_spring_oxm_4_3_3_RELEASE.xml │ ├── Maven__org_springframework_spring_test_4_3_3_RELEASE.xml │ ├── Maven__org_springframework_spring_tx_4_3_3_RELEASE.xml │ ├── Maven__org_springframework_spring_web_4_3_3_RELEASE.xml │ ├── Maven__org_springframework_spring_webmvc_4_3_3_RELEASE.xml │ └── Maven__redis_clients_jedis_2_9_0.xml ├── misc.xml ├── modules.xml ├── sqldialects.xml ├── uiDesigner.xml ├── vcs.xml └── workspace.xml ├── README.md ├── blog.sql ├── myblog.iml ├── pom.xml └── src ├── main ├── java │ └── com │ │ ├── baidu │ │ └── ueditor │ │ │ ├── ActionEnter.java │ │ │ ├── ConfigManager.java │ │ │ ├── Encoder.java │ │ │ ├── PathFormat.java │ │ │ ├── define │ │ │ ├── ActionMap.java │ │ │ ├── ActionState.java │ │ │ ├── AppInfo.java │ │ │ ├── BaseState.java │ │ │ ├── FileType.java │ │ │ ├── MIMEType.java │ │ │ ├── MultiState.java │ │ │ └── State.java │ │ │ ├── hunter │ │ │ ├── FileManager.java │ │ │ └── ImageHunter.java │ │ │ └── upload │ │ │ ├── Base64Uploader.java │ │ │ ├── BinaryUploader.java │ │ │ ├── StorageManager.java │ │ │ └── Uploader.java │ │ └── vansl │ │ ├── controller │ │ ├── AdminController.java │ │ ├── BlogCommentController.java │ │ ├── BlogController.java │ │ ├── BlogTypeController.java │ │ ├── FileController.java │ │ ├── HomeController.java │ │ └── UeditorController.java │ │ ├── dao │ │ ├── BlogCommentDao.java │ │ ├── BlogDao.java │ │ ├── BlogTypeDao.java │ │ └── UserDao.java │ │ ├── dto │ │ ├── BlogData.java │ │ ├── LoginInfo.java │ │ ├── TableData.java │ │ └── TypeTreeNode.java │ │ ├── entity │ │ ├── Blog.java │ │ ├── BlogComment.java │ │ ├── BlogType.java │ │ └── User.java │ │ ├── filter │ │ └── ServletRequestWrapperFilter.java │ │ ├── interceptor │ │ └── BlogImgInterceptor.java │ │ ├── mapper │ │ ├── BlogCommentMapper.xml │ │ ├── BlogMapper.xml │ │ ├── BlogTypeMapper.xml │ │ └── UserMapper.xml │ │ ├── service │ │ ├── BlogCommentService.java │ │ ├── BlogService.java │ │ ├── BlogTypeService.java │ │ ├── UserService.java │ │ └── impl │ │ │ ├── BlogCommentServiceImpl.java │ │ │ ├── BlogServiceImpl.java │ │ │ ├── BlogTypeServiceImpl.java │ │ │ └── UserServiceImpl.java │ │ ├── shiro │ │ ├── ShiroRealm.java │ │ └── ShiroSessionManager.java │ │ └── utils │ │ ├── AliyunOSSUtil.java │ │ ├── HttpUtil.java │ │ ├── IPUtil.java │ │ └── JedisUtil.java ├── resources │ ├── config │ │ ├── aliyunOSS.properties.example │ │ ├── db.properties.example │ │ ├── log4j.properties │ │ ├── redis.properties.example │ │ └── ueditorconfig.json │ ├── mybatis │ │ └── SqlMapConfig.xml │ ├── shiro │ │ ├── applicationContext-shiro.xml │ │ └── shiro.ini.example │ └── spring │ │ ├── applicationContext-dao.xml │ │ ├── applicationContext-redis.xml │ │ ├── applicationContext-service.xml │ │ ├── applicationContext-trans.xml │ │ └── spring-mvc.xml └── webapp │ └── WEB-INF │ ├── statics │ ├── css │ │ ├── article.css │ │ ├── index.css │ │ └── location │ ├── html │ │ ├── blog_admin.html │ │ ├── comment_admin.html │ │ ├── create_blog.html │ │ └── type_admin.html │ ├── images │ │ ├── cap.png │ │ ├── config_ico.svg │ │ ├── login_bg.jpg │ │ ├── login_bg2.jpg │ │ └── login_ico.png │ ├── js │ │ ├── admin.js │ │ ├── article.js │ │ ├── create_blog.js │ │ ├── jquery-3.3.1.min.js │ │ ├── test.json │ │ ├── testTable.json │ │ └── type_select.js │ ├── layui │ │ ├── css │ │ │ ├── layui.css │ │ │ ├── layui.mobile.css │ │ │ └── modules │ │ │ │ ├── code.css │ │ │ │ ├── laydate │ │ │ │ └── default │ │ │ │ │ └── laydate.css │ │ │ │ └── layer │ │ │ │ └── default │ │ │ │ ├── icon-ext.png │ │ │ │ ├── icon.png │ │ │ │ ├── layer.css │ │ │ │ ├── loading-0.gif │ │ │ │ ├── loading-1.gif │ │ │ │ └── loading-2.gif │ │ ├── font │ │ │ ├── iconfont.eot │ │ │ ├── iconfont.svg │ │ │ ├── iconfont.ttf │ │ │ └── iconfont.woff │ │ ├── images │ │ │ └── face │ │ │ │ ├── 0.gif │ │ │ │ ├── 1.gif │ │ │ │ ├── 10.gif │ │ │ │ ├── 11.gif │ │ │ │ ├── 12.gif │ │ │ │ ├── 13.gif │ │ │ │ ├── 14.gif │ │ │ │ ├── 15.gif │ │ │ │ ├── 16.gif │ │ │ │ ├── 17.gif │ │ │ │ ├── 18.gif │ │ │ │ ├── 19.gif │ │ │ │ ├── 2.gif │ │ │ │ ├── 20.gif │ │ │ │ ├── 21.gif │ │ │ │ ├── 22.gif │ │ │ │ ├── 23.gif │ │ │ │ ├── 24.gif │ │ │ │ ├── 25.gif │ │ │ │ ├── 26.gif │ │ │ │ ├── 27.gif │ │ │ │ ├── 28.gif │ │ │ │ ├── 29.gif │ │ │ │ ├── 3.gif │ │ │ │ ├── 30.gif │ │ │ │ ├── 31.gif │ │ │ │ ├── 32.gif │ │ │ │ ├── 33.gif │ │ │ │ ├── 34.gif │ │ │ │ ├── 35.gif │ │ │ │ ├── 36.gif │ │ │ │ ├── 37.gif │ │ │ │ ├── 38.gif │ │ │ │ ├── 39.gif │ │ │ │ ├── 4.gif │ │ │ │ ├── 40.gif │ │ │ │ ├── 41.gif │ │ │ │ ├── 42.gif │ │ │ │ ├── 43.gif │ │ │ │ ├── 44.gif │ │ │ │ ├── 45.gif │ │ │ │ ├── 46.gif │ │ │ │ ├── 47.gif │ │ │ │ ├── 48.gif │ │ │ │ ├── 49.gif │ │ │ │ ├── 5.gif │ │ │ │ ├── 50.gif │ │ │ │ ├── 51.gif │ │ │ │ ├── 52.gif │ │ │ │ ├── 53.gif │ │ │ │ ├── 54.gif │ │ │ │ ├── 55.gif │ │ │ │ ├── 56.gif │ │ │ │ ├── 57.gif │ │ │ │ ├── 58.gif │ │ │ │ ├── 59.gif │ │ │ │ ├── 6.gif │ │ │ │ ├── 60.gif │ │ │ │ ├── 61.gif │ │ │ │ ├── 62.gif │ │ │ │ ├── 63.gif │ │ │ │ ├── 64.gif │ │ │ │ ├── 65.gif │ │ │ │ ├── 66.gif │ │ │ │ ├── 67.gif │ │ │ │ ├── 68.gif │ │ │ │ ├── 69.gif │ │ │ │ ├── 7.gif │ │ │ │ ├── 70.gif │ │ │ │ ├── 71.gif │ │ │ │ ├── 8.gif │ │ │ │ └── 9.gif │ │ ├── lay │ │ │ └── modules │ │ │ │ ├── carousel.js │ │ │ │ ├── code.js │ │ │ │ ├── element.js │ │ │ │ ├── flow.js │ │ │ │ ├── form.js │ │ │ │ ├── jquery.js │ │ │ │ ├── laydate.js │ │ │ │ ├── layedit.js │ │ │ │ ├── layer.js │ │ │ │ ├── laypage.js │ │ │ │ ├── laytpl.js │ │ │ │ ├── mobile.js │ │ │ │ ├── table.js │ │ │ │ ├── tree.js │ │ │ │ ├── upload.js │ │ │ │ └── util.js │ │ ├── layui.all.js │ │ └── layui.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 │ │ ├── index.html │ │ ├── lang │ │ ├── en │ │ │ ├── en.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 │ │ ├── themes │ │ ├── default │ │ │ ├── css │ │ │ │ ├── ueditor.css │ │ │ │ └── ueditor.min.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 │ │ └── iframe.css │ │ ├── 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 │ │ ├── jquery-1.10.2.min.map │ │ ├── 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 │ │ ├── xss.min.js │ │ └── zeroclipboard │ │ │ ├── ZeroClipboard.js │ │ │ ├── ZeroClipboard.min.js │ │ │ └── ZeroClipboard.swf │ │ ├── ueditor.all.js │ │ ├── ueditor.all.min.js │ │ ├── ueditor.config.js │ │ ├── ueditor.parse.js │ │ └── ueditor.parse.min.js │ ├── views │ ├── admin.jsp │ ├── article.jsp │ ├── blog.jsp │ ├── files.jsp │ ├── index.jsp │ ├── login.jsp │ ├── others.jsp │ ├── result.jsp │ └── select.jsp │ └── web.xml └── test └── java ├── controller ├── BlogCommentControllerTest.java └── BlogTypeControllerTest.java ├── dao ├── BlogCommentDaoTest.java └── BlogTypeDaoTest.java ├── jedis └── JedisUtilTest.java ├── service ├── BlogCommentServiceTest.java └── BlogTypeServiceTest.java └── shiro ├── AliyunOSSTest.java ├── LoginTest.java └── ShiroTest.java /.gitattributes: -------------------------------------------------------------------------------- 1 | *.js linguist-language=Java 2 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | #数据库配置文件 2 | /src/main/resources/config/db.properties 3 | #阿里云OSS配置文件 4 | /src/main/resources/config/aliyunOSS.properties 5 | #redis配置文件 6 | /src/main/resources/config/redis.properties 7 | #编译文件夹 8 | /target/ 9 | #不忽略war包 10 | !/target/myblog-1.0-SNAPSHOT.war -------------------------------------------------------------------------------- /.idea/artifacts/myblog_war.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | $PROJECT_DIR$/target 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /.idea/codeStyles/codeStyleConfig.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | -------------------------------------------------------------------------------- /.idea/compiler.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /.idea/encodings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__com_alibaba_fastjson_1_2_47.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__com_aliyun_oss_aliyun_sdk_oss_2_7_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_annotations_2_9_4.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_core_2_9_4.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_databind_2_9_4.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__com_github_jsqlparser_jsqlparser_0_9_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__com_github_pagehelper_pagehelper_4_0_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__commons_beanutils_commons_beanutils_1_8_3.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__commons_codec_commons_codec_1_10.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__commons_collections_commons_collections_3_2_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__commons_dbcp_commons_dbcp_1_4.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__commons_fileupload_commons_fileupload_1_3_3.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__commons_httpclient_commons_httpclient_3_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__commons_io_commons_io_2_4.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__commons_lang_commons_lang_2_5.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__commons_logging_commons_logging_1_2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__commons_pool_commons_pool_1_5_4.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__javax_servlet_javax_servlet_api_3_1_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__javax_servlet_jsp_jsp_api_2_2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__jstl_jstl_1_2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__junit_junit_4_12.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__log4j_log4j_1_2_17.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__mysql_mysql_connector_java_5_1_35.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__net_sf_ezmorph_ezmorph_1_0_6.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__net_sf_json_lib_json_lib_jdk15_2_4.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_apache_commons_commons_lang3_3_4.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_apache_commons_commons_pool2_2_4_2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_apache_httpcomponents_httpclient_4_4_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_apache_httpcomponents_httpcore_4_4_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_apache_shiro_shiro_core_1_2_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_apache_shiro_shiro_spring_1_2_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_apache_shiro_shiro_web_1_2_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_aspectj_aspectjweaver_1_5_4.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_hamcrest_hamcrest_core_1_3.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_jdom_jdom_1_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_json_json_20160212.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_mybatis_mybatis_3_4_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_mybatis_mybatis_spring_1_3_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_slf4j_slf4j_api_1_7_21.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_slf4j_slf4j_log4j12_1_7_21.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_springframework_spring_aop_4_3_3_RELEASE.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_springframework_spring_beans_4_3_3_RELEASE.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_springframework_spring_context_4_3_3_RELEASE.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_springframework_spring_context_support_4_3_3_RELEASE.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_springframework_spring_core_4_3_3_RELEASE.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_springframework_spring_expression_4_3_3_RELEASE.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_springframework_spring_jdbc_4_3_3_RELEASE.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_springframework_spring_oxm_4_3_3_RELEASE.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_springframework_spring_test_4_3_3_RELEASE.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_springframework_spring_tx_4_3_3_RELEASE.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_springframework_spring_web_4_3_3_RELEASE.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_springframework_spring_webmvc_4_3_3_RELEASE.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__redis_clients_jedis_2_9_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/misc.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /.idea/modules.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /.idea/sqldialects.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /.idea/vcs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Java SSM个人博客系统 2 | * 使用Spring、SpringMVC、Mybatis框架 3 | * 基于shiro进行权限管理 4 | * 完整的登录、发表、修改、删除功能 5 | 6 | 在线演示地址:https://countryroads.xin 7 | 8 | 项目完整记录:https://blog.csdn.net/van_brilliant/article/details/79601662 9 | -------------------------------------------------------------------------------- /blog.sql: -------------------------------------------------------------------------------- 1 | /** 2 | * @DATE 20:47 2018/3/21 3 | */ 4 | 5 | -- 6 | -- 数据库: `myblog` 7 | -- 8 | 9 | -- 10 | -- 用户表 11 | -- 12 | CREATE TABLE `user` ( 13 | `id` INT NOT NULL AUTO_INCREMENT COMMENT '用户ID', 14 | `username` VARCHAR(30) NOT NULL COMMENT '用户名', 15 | `password` VARCHAR(30) NOT NULL COMMENT '用户密码', 16 | `role` VARCHAR(20) DEFAULT 'user' COMMENT '用户角色', 17 | UNIQUE (`username`), 18 | PRIMARY KEY (`id`) 19 | ) ENGINE=INNODB DEFAULT CHARSET=utf8mb4; 20 | 21 | -- 22 | -- 博客表 23 | -- 24 | CREATE TABLE `blog` ( 25 | `id` INT NOT NULL AUTO_INCREMENT COMMENT '博客ID', 26 | `title` VARCHAR(90) NOT NULL COMMENT '博客标题', 27 | `time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '发表时间', 28 | `published` INT(1) NOT NULL COMMENT '是否已发表,0已发表,1未发表(在草稿箱)', 29 | `content` TEXT NOT NULL COMMENT '博客正文(包含html格式)', 30 | `text` TEXT NOT NULL COMMENT '博客正文(纯文本)', 31 | `pv`Int NOT NULL COMMENT '博客点击量', 32 | `user_id` INT NOT NULL NULL COMMENT '用户ID', 33 | `type_id` INT NOT NULL COMMENT '分类ID', 34 | PRIMARY KEY (`id`) 35 | ) ENGINE=INNODB DEFAULT CHARSET=utf8mb4; 36 | 37 | -- 38 | -- 博客分类表 39 | -- 40 | CREATE TABLE `blog_type` ( 41 | `id` INT NOT NULL AUTO_INCREMENT COMMENT '分类ID', 42 | `type_name` VARCHAR(30) NOT NULL COMMENT '分类名称', 43 | `parent_id` INT NOT NULL COMMENT '父分类id', 44 | `user_id` INT NOT NULL COMMENT '用户ID', 45 | UNIQUE (`type_name`,`parent_id`), 46 | PRIMARY KEY (`id`) 47 | ) ENGINE=INNODB DEFAULT CHARSET=utf8mb4; 48 | 49 | -- 50 | -- 评论表 51 | -- 52 | CREATE TABLE `blog_comment` ( 53 | `id` INT NOT NULL AUTO_INCREMENT COMMENT '评论ID', 54 | `time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '发表时间', 55 | `name` VARCHAR(30) NOT NULL COMMENT '评论者', 56 | `contact` VARCHAR(90) NOT NULL COMMENT '联系方式', 57 | `ip` VARCHAR(15) NOT NULL COMMENT '评论者ip', 58 | `address` TINYTEXT NOT NULL COMMENT '评论者地址', 59 | `content` TEXT NOT NULL COMMENT '评论内容', 60 | `blog_id` INT NOT NULL COMMENT '博客ID', 61 | PRIMARY KEY (`id`) 62 | ) ENGINE=INNODB DEFAULT CHARSET=utf8mb4; -------------------------------------------------------------------------------- /src/main/java/com/baidu/ueditor/Encoder.java: -------------------------------------------------------------------------------- 1 | package com.baidu.ueditor; 2 | 3 | public class Encoder { 4 | 5 | public static String toUnicode ( String input ) { 6 | 7 | StringBuilder builder = new StringBuilder(); 8 | char[] chars = input.toCharArray(); 9 | 10 | for ( char ch : chars ) { 11 | 12 | if ( ch < 256 ) { 13 | builder.append( ch ); 14 | } else { 15 | builder.append( "\\u" + Integer.toHexString( ch& 0xffff ) ); 16 | } 17 | 18 | } 19 | 20 | return builder.toString(); 21 | 22 | } 23 | 24 | } -------------------------------------------------------------------------------- /src/main/java/com/baidu/ueditor/define/ActionMap.java: -------------------------------------------------------------------------------- 1 | package com.baidu.ueditor.define; 2 | 3 | import java.util.Map; 4 | import java.util.HashMap; 5 | 6 | /** 7 | * 定义请求action类型 8 | * @author hancong03@baidu.com 9 | * 10 | */ 11 | @SuppressWarnings("serial") 12 | public final class ActionMap { 13 | 14 | public static final Map mapping; 15 | // 获取配置请求 16 | public static final int CONFIG = 0; 17 | public static final int UPLOAD_IMAGE = 1; 18 | public static final int UPLOAD_SCRAWL = 2; 19 | public static final int UPLOAD_VIDEO = 3; 20 | public static final int UPLOAD_FILE = 4; 21 | public static final int CATCH_IMAGE = 5; 22 | public static final int LIST_FILE = 6; 23 | public static final int LIST_IMAGE = 7; 24 | 25 | static { 26 | mapping = new HashMap(){{ 27 | put( "config", ActionMap.CONFIG ); 28 | put( "uploadimage", ActionMap.UPLOAD_IMAGE ); 29 | put( "uploadscrawl", ActionMap.UPLOAD_SCRAWL ); 30 | put( "uploadvideo", ActionMap.UPLOAD_VIDEO ); 31 | put( "uploadfile", ActionMap.UPLOAD_FILE ); 32 | put( "catchimage", ActionMap.CATCH_IMAGE ); 33 | put( "listfile", ActionMap.LIST_FILE ); 34 | put( "listimage", ActionMap.LIST_IMAGE ); 35 | }}; 36 | } 37 | 38 | public static int getType ( String key ) { 39 | return ActionMap.mapping.get( key ); 40 | } 41 | 42 | } 43 | -------------------------------------------------------------------------------- /src/main/java/com/baidu/ueditor/define/ActionState.java: -------------------------------------------------------------------------------- 1 | package com.baidu.ueditor.define; 2 | 3 | public enum ActionState { 4 | UNKNOW_ERROR 5 | } 6 | -------------------------------------------------------------------------------- /src/main/java/com/baidu/ueditor/define/FileType.java: -------------------------------------------------------------------------------- 1 | package com.baidu.ueditor.define; 2 | 3 | import java.util.HashMap; 4 | import java.util.Map; 5 | 6 | public class FileType { 7 | 8 | public static final String JPG = "JPG"; 9 | 10 | private static final Map types = new HashMap(){{ 11 | 12 | put( FileType.JPG, ".jpg" ); 13 | 14 | }}; 15 | 16 | public static String getSuffix ( String key ) { 17 | return FileType.types.get( key ); 18 | } 19 | 20 | /** 21 | * 根据给定的文件名,获取其后缀信息 22 | * @param filename 23 | * @return 24 | */ 25 | public static String getSuffixByFilename ( String filename ) { 26 | 27 | return filename.substring( filename.lastIndexOf( "." ) ).toLowerCase(); 28 | 29 | } 30 | 31 | } 32 | -------------------------------------------------------------------------------- /src/main/java/com/baidu/ueditor/define/MIMEType.java: -------------------------------------------------------------------------------- 1 | package com.baidu.ueditor.define; 2 | 3 | import java.util.HashMap; 4 | import java.util.Map; 5 | 6 | public class MIMEType { 7 | 8 | public static final Map types = new HashMap(){{ 9 | put( "image/gif", ".gif" ); 10 | put( "image/jpeg", ".jpg" ); 11 | put( "image/jpg", ".jpg" ); 12 | put( "image/png", ".png" ); 13 | put( "image/bmp", ".bmp" ); 14 | }}; 15 | 16 | public static String getSuffix ( String mime ) { 17 | return MIMEType.types.get( mime ); 18 | } 19 | 20 | } 21 | -------------------------------------------------------------------------------- /src/main/java/com/baidu/ueditor/define/State.java: -------------------------------------------------------------------------------- 1 | package com.baidu.ueditor.define; 2 | 3 | /** 4 | * 处理状态接口 5 | * @author hancong03@baidu.com 6 | * 7 | */ 8 | public interface State { 9 | 10 | public boolean isSuccess (); 11 | 12 | public void putInfo( String name, String val ); 13 | 14 | public void putInfo ( String name, long val ); 15 | 16 | public String toJSONString (); 17 | 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/com/baidu/ueditor/upload/Base64Uploader.java: -------------------------------------------------------------------------------- 1 | package com.baidu.ueditor.upload; 2 | 3 | import com.baidu.ueditor.PathFormat; 4 | import com.baidu.ueditor.define.AppInfo; 5 | import com.baidu.ueditor.define.BaseState; 6 | import com.baidu.ueditor.define.FileType; 7 | import com.baidu.ueditor.define.State; 8 | 9 | import java.util.Map; 10 | 11 | import org.apache.commons.codec.binary.Base64; 12 | 13 | public final class Base64Uploader { 14 | 15 | public static State save(String content, Map conf) { 16 | 17 | byte[] data = decode(content); 18 | 19 | long maxSize = ((Long) conf.get("maxSize")).longValue(); 20 | 21 | if (!validSize(data, maxSize)) { 22 | return new BaseState(false, AppInfo.MAX_SIZE); 23 | } 24 | 25 | String suffix = FileType.getSuffix("JPG"); 26 | 27 | String savePath = PathFormat.parse((String) conf.get("savePath"), 28 | (String) conf.get("filename")); 29 | 30 | savePath = savePath + suffix; 31 | String physicalPath = (String) conf.get("rootPath") + savePath; 32 | 33 | State storageState = StorageManager.saveBinaryFile(data, physicalPath); 34 | 35 | if (storageState.isSuccess()) { 36 | storageState.putInfo("url", PathFormat.format(savePath)); 37 | storageState.putInfo("type", suffix); 38 | storageState.putInfo("original", ""); 39 | } 40 | 41 | return storageState; 42 | } 43 | 44 | private static byte[] decode(String content) { 45 | return Base64.decodeBase64(content); 46 | } 47 | 48 | private static boolean validSize(byte[] data, long length) { 49 | return data.length <= length; 50 | } 51 | 52 | } -------------------------------------------------------------------------------- /src/main/java/com/baidu/ueditor/upload/Uploader.java: -------------------------------------------------------------------------------- 1 | package com.baidu.ueditor.upload; 2 | 3 | import com.baidu.ueditor.define.State; 4 | import java.util.Map; 5 | import javax.servlet.http.HttpServletRequest; 6 | 7 | public class Uploader { 8 | private HttpServletRequest request = null; 9 | private Map conf = null; 10 | 11 | public Uploader(HttpServletRequest request, Map conf) { 12 | this.request = request; 13 | this.conf = conf; 14 | } 15 | 16 | public final State doExec() { 17 | String filedName = (String) this.conf.get("fieldName"); 18 | State state = null; 19 | 20 | if ("true".equals(this.conf.get("isBase64"))) { 21 | state = Base64Uploader.save(this.request.getParameter(filedName), 22 | this.conf); 23 | } else { 24 | state = BinaryUploader.save(this.request, this.conf); 25 | } 26 | 27 | return state; 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /src/main/java/com/vansl/dao/BlogCommentDao.java: -------------------------------------------------------------------------------- 1 | package com.vansl.dao; 2 | 3 | import com.vansl.entity.BlogComment; 4 | 5 | import java.util.List; 6 | import java.util.Map; 7 | 8 | /** 9 | * @author: vansl 10 | * @create: 18-4-21 下午9:00 11 | */ 12 | public interface BlogCommentDao { 13 | 14 | // 通过评论id查询用户id 15 | Integer selectUserIdByCommentId(Integer commentId); 16 | 17 | // 通过用户id查询所有博客评论 18 | List selectAll(Integer userId); 19 | 20 | // 通过博客id查询博客评论 21 | List selectByBlogId(Integer blogId); 22 | 23 | // 添加博客评论 24 | Integer insertBlogComment(BlogComment blogComment); 25 | 26 | // 删除博客评论 27 | Integer deleteBlogComment(Integer id); 28 | 29 | // 通过博客id删除博客评论 30 | Integer deleteByBlogId(Integer blogId); 31 | } 32 | -------------------------------------------------------------------------------- /src/main/java/com/vansl/dao/BlogDao.java: -------------------------------------------------------------------------------- 1 | package com.vansl.dao; 2 | 3 | import com.vansl.dto.BlogData; 4 | import com.vansl.entity.Blog; 5 | import org.apache.ibatis.annotations.Param; 6 | 7 | import java.util.List; 8 | 9 | /** 10 | * @author: vansl 11 | * @create: 18-4-25 下午10:43 12 | */ 13 | public interface BlogDao { 14 | 15 | // 通过博客id查询用户id 16 | Integer selectUserIdByBlogId(Integer blogId); 17 | 18 | // 通过用户id查询所有文章 19 | List selectAll(@Param("published")Boolean published, @Param("userId")Integer userId); 20 | 21 | // 通过博客id查询博客信息 22 | BlogData selectById(Integer id); 23 | 24 | // 通过分类id查询该分类下的所有博客 25 | List selectByTypeId(@Param("published")Boolean published,@Param("typeIds")List typeIds); 26 | 27 | // 通过博客id查询博客内容 28 | String selectContentByBlogId(Integer id); 29 | 30 | // 添加文章(包括草稿) 31 | Integer insertBlog(Blog blog); 32 | 33 | // 通过博客id更新博客字段 34 | Integer updateBlog(Blog blog); 35 | 36 | // 删除文章 37 | Integer deleteBlog(Integer id); 38 | 39 | // 通过分类id删除该分类下的所有文章 40 | Integer deleteByTypeId(Integer typeId); 41 | } 42 | -------------------------------------------------------------------------------- /src/main/java/com/vansl/dao/BlogTypeDao.java: -------------------------------------------------------------------------------- 1 | package com.vansl.dao; 2 | 3 | import com.vansl.entity.BlogType; 4 | 5 | import java.util.List; 6 | 7 | /** 8 | * @author: vansl 9 | * @create: 18-4-12 下午5:14 10 | */ 11 | public interface BlogTypeDao { 12 | 13 | // 通过分类id查询用户id 14 | Integer selectUserIdByTypeId(Integer typeId); 15 | 16 | // 通过id查询博客分类 17 | BlogType selectById(Integer id); 18 | 19 | // 通过用户id查询所有分类数据 20 | List selectAll(Integer userId); 21 | 22 | // 通过博客id查询博客分类 23 | BlogType selectByBlogId(Integer blogId); 24 | 25 | // 添加博客分类 26 | Integer insertBlogType(BlogType blogType); 27 | 28 | // 更新博客分类 29 | Integer updateBlogType(BlogType blogType); 30 | 31 | // 删除博客分类 32 | Integer deleteBlogType(Integer id); 33 | 34 | } 35 | -------------------------------------------------------------------------------- /src/main/java/com/vansl/dao/UserDao.java: -------------------------------------------------------------------------------- 1 | package com.vansl.dao; 2 | 3 | import com.vansl.entity.User; 4 | 5 | /** 6 | * @author: vansl 7 | * @create: 18-5-20 下午11:11 8 | */ 9 | public interface UserDao { 10 | 11 | // 通过用户名查询用户id 12 | Integer selectIdByUserName(String userName); 13 | 14 | // 通过用户名查询密码 15 | String selectPasswordByUserName(String userName); 16 | 17 | // 通过用户名查询角色 18 | String selectRoleByUserName(String userName); 19 | 20 | // 新增用户 21 | Integer insertUser(User user); 22 | 23 | // 删除用户 24 | Integer deleteUser(Integer id); 25 | 26 | // 更新用户 27 | Integer updateUser(User user); 28 | } 29 | -------------------------------------------------------------------------------- /src/main/java/com/vansl/dto/BlogData.java: -------------------------------------------------------------------------------- 1 | package com.vansl.dto; 2 | 3 | import java.util.Date; 4 | 5 | /** 6 | * @author: vansl 7 | * @create: 18-4-25 下午11:26 8 | */ 9 | public class BlogData { 10 | 11 | private Integer id; //博客ID 12 | private String title; //博客标题 13 | private Date time; //发表时间 14 | private Integer pv; //博客点击量 15 | private Integer published; //博客是否已发表(0已发表,1未发表) 16 | private Integer typeId; //博客分类id 17 | private String typeName; //博客分类名称 18 | 19 | public Integer getId() { 20 | return id; 21 | } 22 | 23 | public void setId(Integer id) { 24 | this.id = id; 25 | } 26 | 27 | public String getTitle() { 28 | return title; 29 | } 30 | 31 | public void setTitle(String title) { 32 | this.title = title; 33 | } 34 | 35 | public Date getTime() { 36 | return time; 37 | } 38 | 39 | public void setTime(Date time) { 40 | this.time = time; 41 | } 42 | 43 | public Integer getPv() { 44 | return pv; 45 | } 46 | 47 | public void setPv(Integer pv) { 48 | this.pv = pv; 49 | } 50 | 51 | public Integer getPublished() { 52 | return published; 53 | } 54 | 55 | public void setPublished(Integer published) { 56 | this.published= published; 57 | } 58 | 59 | public Integer getTypeId() { 60 | return typeId; 61 | } 62 | 63 | public void setTypePId(Integer typeId) { 64 | this.typeId = typeId; 65 | } 66 | 67 | public String getTypeName() { 68 | return typeName; 69 | } 70 | 71 | public void setTypeName(String typeName) { 72 | this.typeName = typeName; 73 | } 74 | 75 | 76 | } 77 | -------------------------------------------------------------------------------- /src/main/java/com/vansl/dto/LoginInfo.java: -------------------------------------------------------------------------------- 1 | package com.vansl.dto; 2 | 3 | /** 4 | * @author: vansl 5 | * @create: 18-5-23 下午6:00 6 | */ 7 | public class LoginInfo { 8 | 9 | private String userName; 10 | private String password; 11 | private String captcha; 12 | 13 | public String getUserName() { 14 | return userName; 15 | } 16 | 17 | public void setUserName(String userName) { 18 | this.userName = userName; 19 | } 20 | 21 | public String getPassword() { 22 | return password; 23 | } 24 | 25 | public void setPassword(String password) { 26 | this.password = password; 27 | } 28 | 29 | public String getCaptcha() { 30 | return captcha; 31 | } 32 | 33 | public void setCaptcha(String captcha) { 34 | this.captcha = captcha; 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /src/main/java/com/vansl/dto/TableData.java: -------------------------------------------------------------------------------- 1 | package com.vansl.dto; 2 | 3 | 4 | import java.util.List; 5 | import java.util.Map; 6 | 7 | /** 8 | * @author: vansl 9 | * @create: 18-4-22 下午2:31 10 | */ 11 | // layui表格数据对象 12 | public class TableData { 13 | 14 | private Integer code; //成功的状态码,默认:0 15 | private String msg; //状态信息 16 | private Long count; //数据总数 17 | private List data; //数据 18 | 19 | public Integer getCode() { 20 | return code; 21 | } 22 | 23 | public void setCode(Integer code) { 24 | this.code = code; 25 | } 26 | 27 | public String getMsg() { 28 | return msg; 29 | } 30 | 31 | public void setMsg(String msg) { 32 | this.msg = msg; 33 | } 34 | 35 | public Long getCount() { 36 | return count; 37 | } 38 | 39 | public void setCount(Long count) { 40 | this.count = count; 41 | } 42 | 43 | public List getData() { 44 | return data; 45 | } 46 | 47 | public void setData(List data) { 48 | this.data = data; 49 | } 50 | } 51 | -------------------------------------------------------------------------------- /src/main/java/com/vansl/dto/TypeTreeNode.java: -------------------------------------------------------------------------------- 1 | package com.vansl.dto; 2 | 3 | import java.util.List; 4 | 5 | /** 6 | * @author: vansl 7 | * @create: 18-4-15 下午5:54 8 | */ 9 | public class TypeTreeNode { 10 | 11 | private Integer id; 12 | private String text; 13 | private List children; 14 | 15 | public Integer getId() { 16 | return id; 17 | } 18 | 19 | public void setId(Integer id) { 20 | this.id = id; 21 | } 22 | 23 | public String getText() { 24 | return text; 25 | } 26 | 27 | public void setText(String text) { 28 | this.text = text; 29 | } 30 | 31 | public List getChildren() { 32 | return children; 33 | } 34 | 35 | public void setChildren(List children) { 36 | this.children = children; 37 | } 38 | } -------------------------------------------------------------------------------- /src/main/java/com/vansl/entity/BlogComment.java: -------------------------------------------------------------------------------- 1 | package com.vansl.entity; 2 | 3 | import java.util.Date; 4 | 5 | /** 6 | * @author: vansl 7 | * @create: 18-4-21 下午8:07 8 | */ 9 | public class BlogComment { 10 | 11 | private Integer id; //评论ID 12 | private Date time; //发表时间 13 | private String name; //评论者 14 | private String contact; //联系方式 15 | private String ip; //评论者ip 16 | private String address; //评论者地址 17 | private String content; //评论内容 18 | private Integer blogId; //博客ID 19 | 20 | public Integer getId() { 21 | return id; 22 | } 23 | 24 | public void setId(Integer id) { 25 | this.id = id; 26 | } 27 | 28 | public Date getTime() { 29 | return time; 30 | } 31 | 32 | public void setTime(Date time) { 33 | this.time = time; 34 | } 35 | 36 | public String getName() { 37 | return name; 38 | } 39 | 40 | public void setName(String name) { 41 | this.name = name; 42 | } 43 | 44 | public String getContact() { 45 | return contact; 46 | } 47 | 48 | public void setContact(String contact) { 49 | this.contact = contact; 50 | } 51 | 52 | public String getIp() { 53 | return ip; 54 | } 55 | 56 | public void setIp(String ip) { 57 | this.ip = ip; 58 | } 59 | 60 | public String getAddress() { 61 | return address; 62 | } 63 | 64 | public void setAddress(String address) { 65 | this.address = address; 66 | } 67 | 68 | public String getContent() { 69 | return content; 70 | } 71 | 72 | public void setContent(String content) { 73 | this.content = content; 74 | } 75 | 76 | public Integer getBlogId() { 77 | return blogId; 78 | } 79 | 80 | public void setBlogId(Integer blogId) { 81 | this.blogId = blogId; 82 | } 83 | 84 | } 85 | -------------------------------------------------------------------------------- /src/main/java/com/vansl/entity/BlogType.java: -------------------------------------------------------------------------------- 1 | package com.vansl.entity; 2 | 3 | /** 4 | * @author: vansl 5 | * @create: 18-4-12 下午4:45 6 | */ 7 | public class BlogType { 8 | 9 | private Integer id; // 分类ID 10 | private String typeName; // 分类名称 11 | private Integer parentId; // 父分类ID 12 | private Integer userId; // 用户ID 13 | 14 | public Integer getId() { 15 | return id; 16 | } 17 | 18 | public void setId(Integer id) { 19 | this.id = id; 20 | } 21 | 22 | public String getTypeName() { 23 | return typeName; 24 | } 25 | 26 | public void setTypeName(String typeName) { 27 | this.typeName = typeName; 28 | } 29 | 30 | public Integer getParentId() { 31 | return parentId; 32 | } 33 | 34 | public void setParentId(Integer parentId) { 35 | this.parentId = parentId; 36 | } 37 | 38 | public Integer getUserId() { 39 | return userId; 40 | } 41 | 42 | public void setUserId(Integer userId) { 43 | this.userId = userId; 44 | } 45 | } 46 | -------------------------------------------------------------------------------- /src/main/java/com/vansl/entity/User.java: -------------------------------------------------------------------------------- 1 | package com.vansl.entity; 2 | 3 | /** 4 | * @author: vansl 5 | * @create: 18-5-20 下午11:15 6 | */ 7 | public class User { 8 | 9 | private Integer id; 10 | private String userName; 11 | private String password; 12 | private String role; 13 | 14 | public Integer getId() { 15 | return id; 16 | } 17 | 18 | public void setId(Integer id) { 19 | this.id = id; 20 | } 21 | 22 | public String getUserName() { 23 | return userName; 24 | } 25 | 26 | public void setUserName(String userName) { 27 | this.userName = userName; 28 | } 29 | 30 | public String getPassword() { 31 | return password; 32 | } 33 | 34 | public void setPassword(String password) { 35 | this.password = password; 36 | } 37 | 38 | public String getRole() { 39 | return role; 40 | } 41 | 42 | public void setRole(String role) { 43 | this.role = role; 44 | } 45 | } 46 | -------------------------------------------------------------------------------- /src/main/java/com/vansl/mapper/UserMapper.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 24 | 25 | 26 | 34 | 35 | 36 | 44 | 45 | 46 | 47 | INSERT INTO 48 | User(username,password,role) 49 | VALUES 50 | (#{userName},#{password},#{role}) 51 | 52 | 53 | 54 | 55 | UPDATE 56 | user 57 | 58 | 59 | username=#{userName}, 60 | password=#{password} 61 | 62 | WHERE 63 | id=#{id} 64 | 65 | 66 | 67 | 68 | DELETE FROM 69 | user 70 | WHERE 71 | id=#{id} 72 | 73 | 74 | -------------------------------------------------------------------------------- /src/main/java/com/vansl/service/BlogCommentService.java: -------------------------------------------------------------------------------- 1 | package com.vansl.service; 2 | 3 | import com.vansl.dto.TableData; 4 | import com.vansl.entity.BlogComment; 5 | 6 | import java.util.List; 7 | 8 | /** 9 | * @author: vansl 10 | * @create: 18-4-22 上午11:48 11 | */ 12 | public interface BlogCommentService { 13 | 14 | // 通过评论id查询用户id 15 | Integer selectUserIdByCommentId(Integer commentId); 16 | 17 | // 通过用户id查询所有博客评论 18 | TableData selectAll(Integer userId, Integer offset, Integer limit); 19 | 20 | // 通过博客id查询博客评论 21 | List selectByBlogId(Integer blogId,Integer offset,Integer limit); 22 | 23 | // 添加博客评论 24 | Integer insertBlogComment(BlogComment blogComment); 25 | 26 | // 删除博客评论 27 | Integer deleteBlogComment(Integer id); 28 | 29 | // 通过博客id删除博客评论 30 | Integer deleteByBlogId(Integer blogId); 31 | } 32 | -------------------------------------------------------------------------------- /src/main/java/com/vansl/service/BlogService.java: -------------------------------------------------------------------------------- 1 | package com.vansl.service; 2 | 3 | import com.vansl.dto.BlogData; 4 | import com.vansl.dto.TableData; 5 | import com.vansl.entity.Blog; 6 | 7 | /** 8 | * @author: vansl 9 | * @create: 18-4-25 下午11:25 10 | */ 11 | 12 | public interface BlogService { 13 | 14 | // 通过博客id查询用户id 15 | Integer selectUserIdByBlogId(Integer blogId); 16 | 17 | // 通过用户id查询所有博客 18 | TableData selectAll(Integer userId,Boolean published,Integer offset, Integer limit); 19 | 20 | // 通过博客id查询博客信息 21 | BlogData selectById(Integer id); 22 | 23 | // 通过分类id查询该分类下的所有博客 24 | TableData selectByTypeId(Integer userId,Integer typeId,Boolean published,Integer offset, Integer limit); 25 | 26 | // 添加博客 27 | Integer insertBlog(Blog blog); 28 | 29 | // 通过博客id查询博客正文 30 | String selectContentByBlogId(Integer id); 31 | 32 | // 通过博客id更新博客字段 33 | Integer updateBlog(Blog blog); 34 | 35 | // 删除博客 36 | Integer deleteBlog(Integer id); 37 | 38 | // 通过分类id删除该分类下的所有博客 39 | Integer deleteByTypeId(Integer typeId); 40 | 41 | } 42 | -------------------------------------------------------------------------------- /src/main/java/com/vansl/service/BlogTypeService.java: -------------------------------------------------------------------------------- 1 | package com.vansl.service; 2 | 3 | import com.vansl.dto.TypeTreeNode; 4 | import com.vansl.entity.BlogType; 5 | 6 | import java.util.List; 7 | 8 | /** 9 | * @author: vansl 10 | * @create: 18-4-15 下午4:10 11 | */ 12 | public interface BlogTypeService { 13 | 14 | // 通过分类id查询用户id 15 | Integer selectUserIdByTypeId(Integer typeId); 16 | 17 | // 通过id查询博客分类 18 | TypeTreeNode selectById(Integer id); 19 | 20 | // 通过用户id查询所有分类数据 21 | List selectAll(Integer userId); 22 | 23 | // 通过博客id查询博客分类 24 | BlogType selectByBlogId(Integer blogId); 25 | 26 | // 添加博客分类 27 | Integer insertBlogType(BlogType blogType); 28 | 29 | // 更新博客分类 30 | Integer updateBlogType(BlogType blogType); 31 | 32 | // 删除博客分类 33 | Integer deleteBlogType(BlogType blogType); 34 | } 35 | -------------------------------------------------------------------------------- /src/main/java/com/vansl/service/UserService.java: -------------------------------------------------------------------------------- 1 | package com.vansl.service; 2 | 3 | import com.vansl.entity.User; 4 | 5 | /** 6 | * @author: vansl 7 | * @create: 18-5-20 下午11:31 8 | */ 9 | public interface UserService { 10 | 11 | // 通过用户名查询密码id 12 | Integer selectIdByUserName(String userName); 13 | 14 | // 通过用户名查询密码 15 | String selectPasswordByUserName(String userName); 16 | 17 | // 通过用户名查询角色 18 | String selectRoleByUserName(String userName); 19 | 20 | // 新增用户 21 | Integer insertUser(User user); 22 | 23 | // 删除用户 24 | Integer deleteUser(Integer id); 25 | 26 | // 更新用户 27 | Integer updateUser(User user); 28 | } 29 | -------------------------------------------------------------------------------- /src/main/java/com/vansl/service/impl/UserServiceImpl.java: -------------------------------------------------------------------------------- 1 | package com.vansl.service.impl; 2 | 3 | import com.vansl.dao.UserDao; 4 | import com.vansl.entity.User; 5 | import com.vansl.service.UserService; 6 | import org.springframework.beans.factory.annotation.Autowired; 7 | import org.springframework.stereotype.Service; 8 | 9 | /** 10 | * @author: vansl 11 | * @create: 18-5-20 下午11:30 12 | */ 13 | @Service 14 | public class UserServiceImpl implements UserService{ 15 | 16 | @Autowired 17 | UserDao userDao; 18 | 19 | @Override 20 | public Integer selectIdByUserName(String userName) { 21 | return userDao.selectIdByUserName(userName); 22 | } 23 | 24 | @Override 25 | public String selectPasswordByUserName(String userName) { 26 | return userDao.selectPasswordByUserName(userName); 27 | } 28 | 29 | @Override 30 | public String selectRoleByUserName(String userName) { 31 | return userDao.selectRoleByUserName(userName); 32 | } 33 | 34 | @Override 35 | public Integer insertUser(User user) { 36 | return userDao.insertUser(user); 37 | } 38 | 39 | @Override 40 | public Integer deleteUser(Integer id) { 41 | return deleteUser(id); 42 | } 43 | 44 | @Override 45 | public Integer updateUser(User user) { 46 | return updateUser(user); 47 | } 48 | } -------------------------------------------------------------------------------- /src/main/java/com/vansl/shiro/ShiroRealm.java: -------------------------------------------------------------------------------- 1 | package com.vansl.shiro; 2 | 3 | /** 4 | * @author: vansl 5 | * @create: 18-5-8 下午5:02 6 | */ 7 | import com.vansl.service.UserService; 8 | import org.apache.shiro.authc.*; 9 | import org.apache.shiro.authz.AuthorizationInfo; 10 | import org.apache.shiro.authz.SimpleAuthorizationInfo; 11 | import org.apache.shiro.realm.AuthorizingRealm; 12 | import org.apache.shiro.subject.PrincipalCollection; 13 | import org.springframework.beans.factory.annotation.Autowired; 14 | 15 | 16 | public class ShiroRealm extends AuthorizingRealm { 17 | 18 | @Autowired 19 | UserService userService; 20 | 21 | //角色和权限控制 22 | @Override 23 | protected AuthorizationInfo doGetAuthorizationInfo(PrincipalCollection principals) { 24 | String username = (String)principals.getPrimaryPrincipal(); 25 | SimpleAuthorizationInfo authorizationInfo = new SimpleAuthorizationInfo(); 26 | authorizationInfo.addRole(userService.selectRoleByUserName(username)); 27 | return authorizationInfo; 28 | } 29 | 30 | //用户认证 31 | @Override 32 | protected AuthenticationInfo doGetAuthenticationInfo(AuthenticationToken authcToken) throws AuthenticationException{ 33 | //获取用户输入的用户名 34 | String userName = (String)authcToken.getPrincipal(); 35 | 36 | //通过数据库查询密码 37 | String password = userService.selectPasswordByUserName(userName); 38 | //帐号错误抛出异常 39 | if(password==null){ 40 | throw new UnknownAccountException(); 41 | } 42 | 43 | return new SimpleAuthenticationInfo(userName,password, getName()); 44 | } 45 | 46 | } 47 | -------------------------------------------------------------------------------- /src/main/resources/config/aliyunOSS.properties.example: -------------------------------------------------------------------------------- 1 | #阿里云OSS配置 2 | #访问域名 3 | END_POINT= 4 | #秘钥id 5 | ACCESS_KEY_ID= 6 | #秘钥key 7 | ACCESS_KEY_SECRET= -------------------------------------------------------------------------------- /src/main/resources/config/db.properties.example: -------------------------------------------------------------------------------- 1 | jdbc.driver=com.mysql.jdbc.Driver 2 | jdbc.url=jdbc:mysql://localhost:3306/myblog?useUnicode=true&characterEncoding=UTF-8 3 | jdbc.username= 4 | jdbc.password= -------------------------------------------------------------------------------- /src/main/resources/config/log4j.properties: -------------------------------------------------------------------------------- 1 | #配置根Logger 后面是若干个Appender 2 | log4j.rootLogger=DEBUG,R 3 | #log4j.rootLogger=INFO,A1,R 4 | 5 | # ConsoleAppender 输出 6 | #log4j.appender.A1=org.apache.log4j.ConsoleAppender 7 | #log4j.appender.A1.layout=org.apache.log4j.PatternLayout 8 | #log4j.appender.A1.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss,SSS} [%c]-[%p] %m%n 9 | 10 | # File 输出 一天一个文件 11 | log4j.appender.R=org.apache.log4j.RollingFileAppender 12 | log4j.appender.R.File=${webapp.root}/WEB-INF/log.txt 13 | log4j.appender.R.MaxFileSize=500KB 14 | log4j.appender.R.MaxBackupIndex=10 15 | log4j.appender.R.layout=org.apache.log4j.PatternLayout 16 | log4j.appender.R.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} [%t] [%c] [%p] - %m%n -------------------------------------------------------------------------------- /src/main/resources/config/redis.properties.example: -------------------------------------------------------------------------------- 1 | #redis连接信息 2 | redis.url= 3 | redis.port= 4 | redis.auth= 5 | redis.timeout=300 6 | #最大分配的对象数 7 | redis.pool.maxActive=200 8 | #最大能够保持idel状态的对象数 9 | redis.pool.maxIdle=50 10 | redis.pool.minIdle=10 11 | redis.pool.maxWaitMillis=20000 12 | #当池内没有返回对象时,最大等待时间 13 | redis.pool.maxWait=300 -------------------------------------------------------------------------------- /src/main/resources/mybatis/SqlMapConfig.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /src/main/resources/shiro/applicationContext-shiro.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | Shiro Configuration 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | /admin = user 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 51 | 52 | -------------------------------------------------------------------------------- /src/main/resources/shiro/shiro.ini.example: -------------------------------------------------------------------------------- 1 | [main] 2 | #配置数据源 3 | dataSource=org.apache.commons.dbcp.BasicDataSource 4 | dataSource.driverClassName=com.mysql.jdbc.Driver 5 | dataSource.url=jdbc:mysql://localhost:3306/myblog?useUnicode=true&characterEncoding=UTF-8 6 | dataSource.username= 7 | dataSource.password= 8 | #配置Realm 9 | jdbcRealm=org.apache.shiro.realm.jdbc.JdbcRealm 10 | jdbcRealm.dataSource=$dataSource 11 | jdbcRealm.permissionsLookupEnabled=false 12 | jdbcRealm.authenticationQuery=select password from user where username = ? 13 | jdbcRealm.userRolesQuery =select role from user username = ? 14 | #设置Realm 15 | securityManager.realms=$jdbcRealm -------------------------------------------------------------------------------- /src/main/resources/spring/applicationContext-redis.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | jedis Configuration 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | ${redis.pool.maxActive} 17 | 18 | 19 | ${redis.pool.maxIdle} 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | -------------------------------------------------------------------------------- /src/main/resources/spring/applicationContext-service.xml: -------------------------------------------------------------------------------- 1 | 2 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/css/article.css: -------------------------------------------------------------------------------- 1 | body { 2 | font-family: "lucida grande", "lucida sans unicode", lucida, helvetica, "Hiragino Sans GB", "Microsoft YaHei", "WenQuanYi Micro Hei", sans-serif; 3 | font-size: 18px; 4 | } 5 | @media (max-width: 1000px) { 6 | body { 7 | font-size:48px; 8 | } 9 | } 10 | #article-title{ 11 | font-family: "Palatino Linotype", "Book Antiqua", Palatino, Helvetica, STKaiti, SimSun, serif; 12 | padding: 5px; 13 | border-bottom: 2px LightGrey solid; 14 | width: 98%; 15 | line-height: 150%; 16 | color: #666666; 17 | } 18 | div.inner { 19 | margin: 0% 14%; 20 | padding: 2% 8% 4% 8%; 21 | border: 1px solid LightGrey; 22 | } 23 | 24 | @media (max-width: 1000px) { 25 | div.inner { 26 | margin: 0% 2%; 27 | padding: 1% 4% 2% 4%; 28 | } 29 | } 30 | 31 | div.comment-list>div.comment{ 32 | margin: 2% 14%; 33 | border: 1px solid LightGrey; 34 | height:auto!important; 35 | } 36 | strong{ 37 | display:block; 38 | } 39 | @media (max-width: 1000px) { 40 | div.comment-list>div.comment{ 41 | font-size: 38px; 42 | margin: 1% 2%; 43 | } 44 | } 45 | 46 | div.submit_commit { 47 | margin: 2% 14%; 48 | display: grid; 49 | grid-row-gap:10px; 50 | grid-template-rows: 30px 30px 80px 30px; 51 | grid-template-columns: 120px 400px; 52 | } 53 | 54 | @media (max-width: 1000px) { 55 | div.submit_commit { 56 | margin: 1% 2%; 57 | grid-template-rows: 60px 60px 160px 60px; 58 | grid-template-columns: 30% 60%; 59 | font-size: 38px; 60 | } 61 | } 62 | 63 | #comment-content{ 64 | overflow: hidden; 65 | } 66 | 67 | pre { 68 | white-space: pre-wrap; 69 | word-wrap: break-word; 70 | } -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/css/location: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/css/location -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/images/cap.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/images/cap.png -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/images/login_bg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/images/login_bg.jpg -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/images/login_bg2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/images/login_bg2.jpg -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/images/login_ico.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/images/login_ico.png -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/js/admin.js: -------------------------------------------------------------------------------- 1 | layui.use(['element', 'layedit','table'], function(){ 2 | var layer = layui.layer, 3 | element = layui.element, 4 | $ = layui.jquery, 5 | table = layui.table; 6 | 7 | i=0; //定义一个变量i以判断动画收缩 8 | $('#switchNav').click(function(){ 9 | if(i==0){ 10 | $(".layui-side").animate({width:'toggle'}); 11 | $(".layui-body").animate({left:'0px'}); 12 | $(".layui-footer").animate({left:'0px'}); 13 | //更换指示图标方向 14 | $("#switchNav .layui-icon").text("\ue65b"); 15 | i++; 16 | }else{ 17 | $(".layui-side").animate({width:'toggle'}); 18 | $(".layui-body").animate({left:'200px'}); 19 | $(".layui-footer").animate({left:'200px'}); 20 | //更换指示图标方向 21 | $("#switchNav .layui-icon").text("\ue65a"); 22 | i--; 23 | } 24 | }); 25 | 26 | load('blog_admin'); 27 | }); 28 | 29 | function load(view) { 30 | layui.use(['element'],function () { 31 | var $ = layui.jquery, 32 | element = layui.element; 33 | 34 | //当前处于写博客页面则直接返回,防止页面切换导致未保存文章内容丢失(尚未实现) 35 | if($('.layui-this a').text()=="写博客"){ 36 | } 37 | //首次加载页面event为空,需要排除 38 | if(event){ 39 | //切换到写博客页面时侧边导航收缩 40 | if($(event.target).text()=="写博客"||$(event.target).text()=="编辑"){ 41 | $('#switchNav').click(); 42 | } 43 | } 44 | 45 | $(".layui-body").load("/html/"+view+".html?"+new Date().getTime(),function(){}); 46 | }); 47 | return false; 48 | } -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/js/article.js: -------------------------------------------------------------------------------- 1 | var jq= jQuery.noConflict(); 2 | 3 | //点击之后恢复未填写信息而变红的输入框颜色 4 | var commentInfo=["#name","#contact","#comment-content"]; 5 | commentInfo.forEach(function (item) { 6 | jq(item).click(function(){ 7 | jq(item).css("border","1px solid LightGrey"); 8 | }); 9 | }); 10 | jq("#submit").click(function () { 11 | //检查是否所有字段已经填写 12 | for (var i=0 ;i < commentInfo.length; i++) { 13 | if(!jq(commentInfo[i]).val()){ 14 | layui .use('layer', function(){ 15 | jq(commentInfo[i]).css("border","1px solid red"); 16 | var layer = layui.layer; 17 | layer.msg('请补全评论信息', {icon: 2,time: 1000}); 18 | }); 19 | return; 20 | } 21 | } 22 | //禁用按钮防止重复提交 23 | jq('#submit').click(function () { 24 | return false; 25 | }); 26 | // 异步提交数据 27 | jq.ajax({ 28 | url: "/comment/", 29 | type: "post", 30 | data:JSON.stringify({ 31 | "name":jq('#name').val(), 32 | "contact":jq('#contact').val(), 33 | "content":jq('#comment-content').val(), 34 | "blogId":window.location.href.split("/")[4], 35 | }), 36 | contentType: "application/json; charset=utf-8", 37 | success: function (result) { 38 | layui .use('layer', function(){ 39 | var layer = layui.layer; 40 | layer.msg('评论发表成功', {icon: 1,time: 3000}); 41 | }); 42 | setTimeout(function () { 43 | window.location.reload(); 44 | },1000); 45 | } 46 | }); 47 | }); -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/js/test.json: -------------------------------------------------------------------------------- 1 | [{ 2 | "id":1, 3 | "text":"Java", 4 | "children":[ 5 | { 6 | "id":2, 7 | "text":"JavaSE", 8 | "children":[] 9 | }, 10 | { 11 | "id":5, 12 | "text":"Spring", 13 | "children":[] 14 | }, 15 | { 16 | "id":10, 17 | "text":"JVM", 18 | "children":[] 19 | } 20 | ] 21 | }, 22 | { 23 | "id":3, 24 | "text":"python", 25 | "children":[ 26 | { 27 | "id":4, 28 | "text":"爬虫", 29 | "children":[] 30 | }, 31 | { 32 | "id":100, 33 | "text":"机器学习", 34 | "children":[] 35 | } 36 | ] 37 | }, 38 | { 39 | "id":123, 40 | "text":"前端", 41 | "children":[ 42 | { 43 | "id":222, 44 | "text":"js", 45 | "children":[ 46 | ] 47 | } 48 | ] 49 | }, 50 | { 51 | "id":22, 52 | "text":"算法", 53 | "children":[ 54 | ] 55 | } 56 | ] 57 | -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/js/testTable.json: -------------------------------------------------------------------------------- 1 | {"code":0,"msg":"","count":10,"data":[{"title":"test"},{"title":"test"},{"title":"test"},{"title":"test"},{"title":"test"},{"title":"test"},{"title":"test"},{"title":"test"},{"title":"test"},{"title":"test"}]} -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/layui/css/modules/code.css: -------------------------------------------------------------------------------- 1 | /** layui-v2.2.5 MIT License By https://www.layui.com */ 2 | html #layuicss-skincodecss{display:none;position:absolute;width:1989px}.layui-code-h3,.layui-code-view{position:relative;font-size:12px}.layui-code-view{display:block;margin:10px 0;padding:0;border:1px solid #e2e2e2;border-left-width:6px;background-color:#F2F2F2;color:#333;font-family:Courier New}.layui-code-h3{padding:0 10px;height:32px;line-height:32px;border-bottom:1px solid #e2e2e2}.layui-code-h3 a{position:absolute;right:10px;top:0;color:#999}.layui-code-view .layui-code-ol{position:relative;overflow:auto}.layui-code-view .layui-code-ol li{position:relative;margin-left:45px;line-height:20px;padding:0 5px;border-left:1px solid #e2e2e2;list-style-type:decimal-leading-zero;*list-style-type:decimal;background-color:#fff}.layui-code-view pre{margin:0}.layui-code-notepad{border:1px solid #0C0C0C;border-left-color:#3F3F3F;background-color:#0C0C0C;color:#C2BE9E}.layui-code-notepad .layui-code-h3{border-bottom:none}.layui-code-notepad .layui-code-ol li{background-color:#3F3F3F;border-left:none} -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/layui/css/modules/layer/default/icon-ext.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/layui/css/modules/layer/default/icon-ext.png -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/layui/css/modules/layer/default/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/layui/css/modules/layer/default/icon.png -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/layui/css/modules/layer/default/loading-0.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/layui/css/modules/layer/default/loading-0.gif -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/layui/css/modules/layer/default/loading-1.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/layui/css/modules/layer/default/loading-1.gif -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/layui/css/modules/layer/default/loading-2.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/layui/css/modules/layer/default/loading-2.gif -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/layui/font/iconfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/layui/font/iconfont.eot -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/layui/font/iconfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/layui/font/iconfont.ttf -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/layui/font/iconfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/layui/font/iconfont.woff -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/layui/images/face/0.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/layui/images/face/0.gif -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/layui/images/face/1.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/layui/images/face/1.gif -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/layui/images/face/10.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/layui/images/face/10.gif -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/layui/images/face/11.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/layui/images/face/11.gif -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/layui/images/face/12.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/layui/images/face/12.gif -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/layui/images/face/13.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/layui/images/face/13.gif -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/layui/images/face/14.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/layui/images/face/14.gif -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/layui/images/face/15.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/layui/images/face/15.gif -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/layui/images/face/16.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/layui/images/face/16.gif -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/layui/images/face/17.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/layui/images/face/17.gif -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/layui/images/face/18.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/layui/images/face/18.gif -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/layui/images/face/19.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/layui/images/face/19.gif -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/layui/images/face/2.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/layui/images/face/2.gif -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/layui/images/face/20.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/layui/images/face/20.gif -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/layui/images/face/21.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/layui/images/face/21.gif -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/layui/images/face/22.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/layui/images/face/22.gif -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/layui/images/face/23.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/layui/images/face/23.gif -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/layui/images/face/24.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/layui/images/face/24.gif -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/layui/images/face/25.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/layui/images/face/25.gif -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/layui/images/face/26.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/layui/images/face/26.gif -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/layui/images/face/27.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/layui/images/face/27.gif -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/layui/images/face/28.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/layui/images/face/28.gif -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/layui/images/face/29.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/layui/images/face/29.gif -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/layui/images/face/3.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/layui/images/face/3.gif -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/layui/images/face/30.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/layui/images/face/30.gif -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/layui/images/face/31.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/layui/images/face/31.gif -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/layui/images/face/32.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/layui/images/face/32.gif -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/layui/images/face/33.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/layui/images/face/33.gif -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/layui/images/face/34.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/layui/images/face/34.gif -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/layui/images/face/35.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/layui/images/face/35.gif -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/layui/images/face/36.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/layui/images/face/36.gif -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/layui/images/face/37.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/layui/images/face/37.gif -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/layui/images/face/38.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/layui/images/face/38.gif -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/layui/images/face/39.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/layui/images/face/39.gif -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/layui/images/face/4.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/layui/images/face/4.gif -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/layui/images/face/40.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/layui/images/face/40.gif -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/layui/images/face/41.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/layui/images/face/41.gif -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/layui/images/face/42.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/layui/images/face/42.gif -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/layui/images/face/43.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/layui/images/face/43.gif -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/layui/images/face/44.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/layui/images/face/44.gif -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/layui/images/face/45.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/layui/images/face/45.gif -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/layui/images/face/46.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/layui/images/face/46.gif -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/layui/images/face/47.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/layui/images/face/47.gif -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/layui/images/face/48.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/layui/images/face/48.gif -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/layui/images/face/49.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/layui/images/face/49.gif -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/layui/images/face/5.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/layui/images/face/5.gif -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/layui/images/face/50.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/layui/images/face/50.gif -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/layui/images/face/51.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/layui/images/face/51.gif -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/layui/images/face/52.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/layui/images/face/52.gif -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/layui/images/face/53.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/layui/images/face/53.gif -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/layui/images/face/54.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/layui/images/face/54.gif -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/layui/images/face/55.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/layui/images/face/55.gif -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/layui/images/face/56.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/layui/images/face/56.gif -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/layui/images/face/57.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/layui/images/face/57.gif -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/layui/images/face/58.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/layui/images/face/58.gif -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/layui/images/face/59.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/layui/images/face/59.gif -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/layui/images/face/6.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/layui/images/face/6.gif -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/layui/images/face/60.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/layui/images/face/60.gif -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/layui/images/face/61.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/layui/images/face/61.gif -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/layui/images/face/62.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/layui/images/face/62.gif -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/layui/images/face/63.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/layui/images/face/63.gif -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/layui/images/face/64.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/layui/images/face/64.gif -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/layui/images/face/65.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/layui/images/face/65.gif -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/layui/images/face/66.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/layui/images/face/66.gif -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/layui/images/face/67.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/layui/images/face/67.gif -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/layui/images/face/68.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/layui/images/face/68.gif -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/layui/images/face/69.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/layui/images/face/69.gif -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/layui/images/face/7.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/layui/images/face/7.gif -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/layui/images/face/70.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/layui/images/face/70.gif -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/layui/images/face/71.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/layui/images/face/71.gif -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/layui/images/face/8.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/layui/images/face/8.gif -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/layui/images/face/9.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/layui/images/face/9.gif -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/layui/lay/modules/code.js: -------------------------------------------------------------------------------- 1 | /** layui-v2.2.5 MIT License By https://www.layui.com */ 2 | ;layui.define("jquery",function(e){"use strict";var a=layui.$,l="http://www.layui.com/doc/modules/code.html";e("code",function(e){var t=[];e=e||{},e.elem=a(e.elem||".layui-code"),e.about=!("about"in e)||e.about,e.elem.each(function(){t.push(this)}),layui.each(t.reverse(),function(t,i){var c=a(i),o=c.html();(c.attr("lay-encode")||e.encode)&&(o=o.replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")),c.html('
  1. '+o.replace(/[\r\t\n]+/g,"
  2. ")+"
"),c.find(">.layui-code-h3")[0]||c.prepend('

'+(c.attr("lay-title")||e.title||"code")+(e.about?'layui.code':"")+"

");var d=c.find(">.layui-code-ol");c.addClass("layui-box layui-code-view"),(c.attr("lay-skin")||e.skin)&&c.addClass("layui-code-"+(c.attr("lay-skin")||e.skin)),(d.find("li").length/100|0)>0&&d.css("margin-left",(d.find("li").length/100|0)+"px"),(c.attr("lay-height")||e.height)&&d.css("max-height",c.attr("lay-height")||e.height)})})}).addcss("modules/code.css","skincodecss"); -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/layui/lay/modules/flow.js: -------------------------------------------------------------------------------- 1 | /** layui-v2.2.5 MIT License By https://www.layui.com */ 2 | ;layui.define("jquery",function(e){"use strict";var l=layui.$,o=function(e){},t='';o.prototype.load=function(e){var o,i,n,r,a=this,c=0;e=e||{};var f=l(e.elem);if(f[0]){var m=l(e.scrollElem||document),u=e.mb||50,s=!("isAuto"in e)||e.isAuto,v=e.end||"没有更多了",y=e.scrollElem&&e.scrollElem!==document,d="加载更多",h=l('");f.find(".layui-flow-more")[0]||f.append(h);var p=function(e,t){e=l(e),h.before(e),t=0==t||null,t?h.html(v):h.find("a").html(d),i=t,o=null,n&&n()},g=function(){o=!0,h.find("a").html(t),"function"==typeof e.done&&e.done(++c,p)};if(g(),h.find("a").on("click",function(){l(this);i||o||g()}),e.isLazyimg)var n=a.lazyimg({elem:e.elem+" img",scrollElem:e.scrollElem});return s?(m.on("scroll",function(){var e=l(this),t=e.scrollTop();r&&clearTimeout(r),i||(r=setTimeout(function(){var i=y?e.height():l(window).height(),n=y?e.prop("scrollHeight"):document.documentElement.scrollHeight;n-t-i<=u&&(o||g())},100))}),a):a}},o.prototype.lazyimg=function(e){var o,t=this,i=0;e=e||{};var n=l(e.scrollElem||document),r=e.elem||"img",a=e.scrollElem&&e.scrollElem!==document,c=function(e,l){var o=n.scrollTop(),r=o+l,c=a?function(){return e.offset().top-n.offset().top+o}():e.offset().top;if(c>=o&&c<=r&&!e.attr("src")){var m=e.attr("lay-src");layui.img(m,function(){var l=t.lazyimg.elem.eq(i);e.attr("src",m).removeAttr("lay-src"),l[0]&&f(l),i++})}},f=function(e,o){var f=a?(o||n).height():l(window).height(),m=n.scrollTop(),u=m+f;if(t.lazyimg.elem=l(r),e)c(e,f);else for(var s=0;su)break}};if(f(),!o){var m;n.on("scroll",function(){var e=l(this);m&&clearTimeout(m),m=setTimeout(function(){f(null,e)},50)}),o=!0}return f},e("flow",new o)}); -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/layui/lay/modules/laytpl.js: -------------------------------------------------------------------------------- 1 | /** layui-v2.2.5 MIT License By https://www.layui.com */ 2 | ;layui.define(function(e){"use strict";var r={open:"{{",close:"}}"},c={exp:function(e){return new RegExp(e,"g")},query:function(e,c,t){var o=["#([\\s\\S])+?","([^{#}])*?"][e||0];return n((c||"")+r.open+o+r.close+(t||""))},escape:function(e){return String(e||"").replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")},error:function(e,r){var c="Laytpl Error:";return"object"==typeof console&&console.error(c+e+"\n"+(r||"")),c+e}},n=c.exp,t=function(e){this.tpl=e};t.pt=t.prototype,window.errors=0,t.pt.parse=function(e,t){var o=this,p=e,a=n("^"+r.open+"#",""),l=n(r.close+"$","");e=e.replace(/\s+|\r|\t|\n/g," ").replace(n(r.open+"#"),r.open+"# ").replace(n(r.close+"}"),"} "+r.close).replace(/\\/g,"\\\\").replace(n(r.open+"!(.+?)!"+r.close),function(e){return e=e.replace(n("^"+r.open+"!"),"").replace(n("!"+r.close),"").replace(n(r.open+"|"+r.close),function(e){return e.replace(/(.)/g,"\\$1")})}).replace(/(?="|')/g,"\\").replace(c.query(),function(e){return e=e.replace(a,"").replace(l,""),'";'+e.replace(/\\/g,"")+';view+="'}).replace(c.query(1),function(e){var c='"+(';return e.replace(/\s/g,"")===r.open+r.close?"":(e=e.replace(n(r.open+"|"+r.close),""),/^=/.test(e)&&(e=e.replace(/^=/,""),c='"+_escape_('),c+e.replace(/\\/g,"")+')+"')}),e='"use strict";var view = "'+e+'";return view;';try{return o.cache=e=new Function("d, _escape_",e),e(t,c.escape)}catch(u){return delete o.cache,c.error(u,p)}},t.pt.render=function(e,r){var n,t=this;return e?(n=t.cache?t.cache(e,c.escape):t.parse(t.tpl,e),r?void r(n):n):c.error("no data")};var o=function(e){return"string"!=typeof e?c.error("Template not found"):new t(e)};o.config=function(e){e=e||{};for(var c in e)r[c]=e[c]},o.v="1.2.0",e("laytpl",o)}); -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/ueditor/dialogs/anchor/anchor.html: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | 6 | 7 | 13 | 14 | 15 |
16 | 17 |
18 | 19 | 39 | 40 | -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/ueditor/dialogs/attachment/fileTypeImages/icon_chm.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/ueditor/dialogs/attachment/fileTypeImages/icon_chm.gif -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/ueditor/dialogs/attachment/fileTypeImages/icon_default.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/ueditor/dialogs/attachment/fileTypeImages/icon_default.png -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/ueditor/dialogs/attachment/fileTypeImages/icon_doc.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/ueditor/dialogs/attachment/fileTypeImages/icon_doc.gif -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/ueditor/dialogs/attachment/fileTypeImages/icon_exe.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/ueditor/dialogs/attachment/fileTypeImages/icon_exe.gif -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/ueditor/dialogs/attachment/fileTypeImages/icon_jpg.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/ueditor/dialogs/attachment/fileTypeImages/icon_jpg.gif -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/ueditor/dialogs/attachment/fileTypeImages/icon_mp3.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/ueditor/dialogs/attachment/fileTypeImages/icon_mp3.gif -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/ueditor/dialogs/attachment/fileTypeImages/icon_mv.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/ueditor/dialogs/attachment/fileTypeImages/icon_mv.gif -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/ueditor/dialogs/attachment/fileTypeImages/icon_pdf.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/ueditor/dialogs/attachment/fileTypeImages/icon_pdf.gif -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/ueditor/dialogs/attachment/fileTypeImages/icon_ppt.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/ueditor/dialogs/attachment/fileTypeImages/icon_ppt.gif -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/ueditor/dialogs/attachment/fileTypeImages/icon_psd.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/ueditor/dialogs/attachment/fileTypeImages/icon_psd.gif -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/ueditor/dialogs/attachment/fileTypeImages/icon_rar.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/ueditor/dialogs/attachment/fileTypeImages/icon_rar.gif -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/ueditor/dialogs/attachment/fileTypeImages/icon_txt.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/ueditor/dialogs/attachment/fileTypeImages/icon_txt.gif -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/ueditor/dialogs/attachment/fileTypeImages/icon_xls.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/ueditor/dialogs/attachment/fileTypeImages/icon_xls.gif -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/ueditor/dialogs/attachment/images/alignicon.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/ueditor/dialogs/attachment/images/alignicon.gif -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/ueditor/dialogs/attachment/images/alignicon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/ueditor/dialogs/attachment/images/alignicon.png -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/ueditor/dialogs/attachment/images/bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/ueditor/dialogs/attachment/images/bg.png -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/ueditor/dialogs/attachment/images/file-icons.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/ueditor/dialogs/attachment/images/file-icons.gif -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/ueditor/dialogs/attachment/images/file-icons.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/ueditor/dialogs/attachment/images/file-icons.png -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/ueditor/dialogs/attachment/images/icons.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/ueditor/dialogs/attachment/images/icons.gif -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/ueditor/dialogs/attachment/images/icons.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/ueditor/dialogs/attachment/images/icons.png -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/ueditor/dialogs/attachment/images/image.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/ueditor/dialogs/attachment/images/image.png -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/ueditor/dialogs/attachment/images/progress.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/ueditor/dialogs/attachment/images/progress.png -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/ueditor/dialogs/attachment/images/success.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/ueditor/dialogs/attachment/images/success.gif -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/ueditor/dialogs/attachment/images/success.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/ueditor/dialogs/attachment/images/success.png -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/ueditor/dialogs/background/images/bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/ueditor/dialogs/background/images/bg.png -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/ueditor/dialogs/background/images/success.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/ueditor/dialogs/background/images/success.png -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/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/WEB-INF/statics/ueditor/dialogs/charts/images/charts0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/ueditor/dialogs/charts/images/charts0.png -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/ueditor/dialogs/charts/images/charts1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/ueditor/dialogs/charts/images/charts1.png -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/ueditor/dialogs/charts/images/charts2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/ueditor/dialogs/charts/images/charts2.png -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/ueditor/dialogs/charts/images/charts3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/ueditor/dialogs/charts/images/charts3.png -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/ueditor/dialogs/charts/images/charts4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/ueditor/dialogs/charts/images/charts4.png -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/ueditor/dialogs/charts/images/charts5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/ueditor/dialogs/charts/images/charts5.png -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/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/WEB-INF/statics/ueditor/dialogs/emotion/images/0.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/ueditor/dialogs/emotion/images/0.gif -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/ueditor/dialogs/emotion/images/bface.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/ueditor/dialogs/emotion/images/bface.gif -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/ueditor/dialogs/emotion/images/cface.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/ueditor/dialogs/emotion/images/cface.gif -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/ueditor/dialogs/emotion/images/fface.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/ueditor/dialogs/emotion/images/fface.gif -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/ueditor/dialogs/emotion/images/jxface2.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/ueditor/dialogs/emotion/images/jxface2.gif -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/ueditor/dialogs/emotion/images/neweditor-tab-bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/ueditor/dialogs/emotion/images/neweditor-tab-bg.png -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/ueditor/dialogs/emotion/images/tface.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/ueditor/dialogs/emotion/images/tface.gif -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/ueditor/dialogs/emotion/images/wface.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/ueditor/dialogs/emotion/images/wface.gif -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/ueditor/dialogs/emotion/images/yface.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/ueditor/dialogs/emotion/images/yface.gif -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/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/WEB-INF/statics/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/WEB-INF/statics/ueditor/dialogs/image/images/alignicon.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/ueditor/dialogs/image/images/alignicon.jpg -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/ueditor/dialogs/image/images/bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/ueditor/dialogs/image/images/bg.png -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/ueditor/dialogs/image/images/icons.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/ueditor/dialogs/image/images/icons.gif -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/ueditor/dialogs/image/images/icons.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/ueditor/dialogs/image/images/icons.png -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/ueditor/dialogs/image/images/image.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/ueditor/dialogs/image/images/image.png -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/ueditor/dialogs/image/images/progress.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/ueditor/dialogs/image/images/progress.png -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/ueditor/dialogs/image/images/success.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/ueditor/dialogs/image/images/success.gif -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/ueditor/dialogs/image/images/success.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/ueditor/dialogs/image/images/success.png -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/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/WEB-INF/statics/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/WEB-INF/statics/ueditor/dialogs/preview/preview.html: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | 6 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 |
29 | 30 | 40 | -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/ueditor/dialogs/scrawl/images/addimg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/ueditor/dialogs/scrawl/images/addimg.png -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/ueditor/dialogs/scrawl/images/brush.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/ueditor/dialogs/scrawl/images/brush.png -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/ueditor/dialogs/scrawl/images/delimg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/ueditor/dialogs/scrawl/images/delimg.png -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/ueditor/dialogs/scrawl/images/delimgH.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/ueditor/dialogs/scrawl/images/delimgH.png -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/ueditor/dialogs/scrawl/images/empty.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/ueditor/dialogs/scrawl/images/empty.png -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/ueditor/dialogs/scrawl/images/emptyH.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/ueditor/dialogs/scrawl/images/emptyH.png -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/ueditor/dialogs/scrawl/images/eraser.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/ueditor/dialogs/scrawl/images/eraser.png -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/ueditor/dialogs/scrawl/images/redo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/ueditor/dialogs/scrawl/images/redo.png -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/ueditor/dialogs/scrawl/images/redoH.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/ueditor/dialogs/scrawl/images/redoH.png -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/ueditor/dialogs/scrawl/images/scale.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/ueditor/dialogs/scrawl/images/scale.png -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/ueditor/dialogs/scrawl/images/scaleH.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/ueditor/dialogs/scrawl/images/scaleH.png -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/ueditor/dialogs/scrawl/images/size.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/ueditor/dialogs/scrawl/images/size.png -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/ueditor/dialogs/scrawl/images/undo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/ueditor/dialogs/scrawl/images/undo.png -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/ueditor/dialogs/scrawl/images/undoH.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/ueditor/dialogs/scrawl/images/undoH.png -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/ueditor/dialogs/spechars/spechars.html: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | 6 | 7 | 8 | 14 | 15 | 16 |
17 |
18 |
19 | 20 | 21 | -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/ueditor/dialogs/table/dragicon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/ueditor/dialogs/table/dragicon.png -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/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/WEB-INF/statics/ueditor/dialogs/table/edittd.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 16 | 17 | 18 |
19 | 20 | 21 |
22 | 60 | 61 | -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/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/WEB-INF/statics/ueditor/dialogs/template/images/bg.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/ueditor/dialogs/template/images/bg.gif -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/ueditor/dialogs/template/images/pre0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/ueditor/dialogs/template/images/pre0.png -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/ueditor/dialogs/template/images/pre1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/ueditor/dialogs/template/images/pre1.png -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/ueditor/dialogs/template/images/pre2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/ueditor/dialogs/template/images/pre2.png -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/ueditor/dialogs/template/images/pre3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/ueditor/dialogs/template/images/pre3.png -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/ueditor/dialogs/template/images/pre4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/ueditor/dialogs/template/images/pre4.png -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/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/WEB-INF/statics/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/WEB-INF/statics/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/WEB-INF/statics/ueditor/dialogs/video/images/bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/ueditor/dialogs/video/images/bg.png -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/ueditor/dialogs/video/images/center_focus.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/ueditor/dialogs/video/images/center_focus.jpg -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/ueditor/dialogs/video/images/file-icons.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/ueditor/dialogs/video/images/file-icons.gif -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/ueditor/dialogs/video/images/file-icons.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/ueditor/dialogs/video/images/file-icons.png -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/ueditor/dialogs/video/images/icons.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/ueditor/dialogs/video/images/icons.gif -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/ueditor/dialogs/video/images/icons.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/ueditor/dialogs/video/images/icons.png -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/ueditor/dialogs/video/images/image.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/ueditor/dialogs/video/images/image.png -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/ueditor/dialogs/video/images/left_focus.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/ueditor/dialogs/video/images/left_focus.jpg -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/ueditor/dialogs/video/images/none_focus.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/ueditor/dialogs/video/images/none_focus.jpg -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/ueditor/dialogs/video/images/progress.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/ueditor/dialogs/video/images/progress.png -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/ueditor/dialogs/video/images/right_focus.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/ueditor/dialogs/video/images/right_focus.jpg -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/ueditor/dialogs/video/images/success.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/ueditor/dialogs/video/images/success.gif -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/ueditor/dialogs/video/images/success.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/ueditor/dialogs/video/images/success.png -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/ueditor/dialogs/wordimage/fClipboard_ueditor.swf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/ueditor/dialogs/wordimage/fClipboard_ueditor.swf -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/ueditor/dialogs/wordimage/imageUploader.swf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/ueditor/dialogs/wordimage/imageUploader.swf -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/ueditor/lang/en/images/addimage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/ueditor/lang/en/images/addimage.png -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/ueditor/lang/en/images/alldeletebtnhoverskin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/ueditor/lang/en/images/alldeletebtnhoverskin.png -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/ueditor/lang/en/images/alldeletebtnupskin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/ueditor/lang/en/images/alldeletebtnupskin.png -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/ueditor/lang/en/images/background.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/ueditor/lang/en/images/background.png -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/ueditor/lang/en/images/button.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/ueditor/lang/en/images/button.png -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/ueditor/lang/en/images/copy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/ueditor/lang/en/images/copy.png -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/ueditor/lang/en/images/deletedisable.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/ueditor/lang/en/images/deletedisable.png -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/ueditor/lang/en/images/deleteenable.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/ueditor/lang/en/images/deleteenable.png -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/ueditor/lang/en/images/listbackground.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/ueditor/lang/en/images/listbackground.png -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/ueditor/lang/en/images/localimage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/ueditor/lang/en/images/localimage.png -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/ueditor/lang/en/images/music.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/ueditor/lang/en/images/music.png -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/ueditor/lang/en/images/rotateleftdisable.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/ueditor/lang/en/images/rotateleftdisable.png -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/ueditor/lang/en/images/rotateleftenable.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/ueditor/lang/en/images/rotateleftenable.png -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/ueditor/lang/en/images/rotaterightdisable.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/ueditor/lang/en/images/rotaterightdisable.png -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/ueditor/lang/en/images/rotaterightenable.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/ueditor/lang/en/images/rotaterightenable.png -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/ueditor/lang/en/images/upload.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/ueditor/lang/en/images/upload.png -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/ueditor/lang/zh-cn/images/copy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/ueditor/lang/zh-cn/images/copy.png -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/ueditor/lang/zh-cn/images/localimage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/ueditor/lang/zh-cn/images/localimage.png -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/ueditor/lang/zh-cn/images/music.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/ueditor/lang/zh-cn/images/music.png -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/ueditor/lang/zh-cn/images/upload.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/ueditor/lang/zh-cn/images/upload.png -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/ueditor/themes/default/images/anchor.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/ueditor/themes/default/images/anchor.gif -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/ueditor/themes/default/images/arrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/ueditor/themes/default/images/arrow.png -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/ueditor/themes/default/images/arrow_down.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/ueditor/themes/default/images/arrow_down.png -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/ueditor/themes/default/images/arrow_up.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/ueditor/themes/default/images/arrow_up.png -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/ueditor/themes/default/images/button-bg.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/ueditor/themes/default/images/button-bg.gif -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/ueditor/themes/default/images/cancelbutton.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/ueditor/themes/default/images/cancelbutton.gif -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/ueditor/themes/default/images/charts.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/ueditor/themes/default/images/charts.png -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/ueditor/themes/default/images/cursor_h.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/ueditor/themes/default/images/cursor_h.gif -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/ueditor/themes/default/images/cursor_h.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/ueditor/themes/default/images/cursor_h.png -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/ueditor/themes/default/images/cursor_v.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/ueditor/themes/default/images/cursor_v.gif -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/ueditor/themes/default/images/cursor_v.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/ueditor/themes/default/images/cursor_v.png -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/ueditor/themes/default/images/dialog-title-bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/ueditor/themes/default/images/dialog-title-bg.png -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/ueditor/themes/default/images/filescan.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/ueditor/themes/default/images/filescan.png -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/ueditor/themes/default/images/highlighted.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/ueditor/themes/default/images/highlighted.gif -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/ueditor/themes/default/images/icons-all.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/ueditor/themes/default/images/icons-all.gif -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/ueditor/themes/default/images/icons.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/ueditor/themes/default/images/icons.gif -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/ueditor/themes/default/images/icons.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/ueditor/themes/default/images/icons.png -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/ueditor/themes/default/images/loaderror.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/ueditor/themes/default/images/loaderror.png -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/ueditor/themes/default/images/loading.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/ueditor/themes/default/images/loading.gif -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/ueditor/themes/default/images/lock.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/ueditor/themes/default/images/lock.gif -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/ueditor/themes/default/images/neweditor-tab-bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/ueditor/themes/default/images/neweditor-tab-bg.png -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/ueditor/themes/default/images/pagebreak.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/ueditor/themes/default/images/pagebreak.gif -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/ueditor/themes/default/images/scale.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/ueditor/themes/default/images/scale.png -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/ueditor/themes/default/images/sortable.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/ueditor/themes/default/images/sortable.png -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/ueditor/themes/default/images/spacer.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/ueditor/themes/default/images/spacer.gif -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/ueditor/themes/default/images/sparator_v.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/ueditor/themes/default/images/sparator_v.png -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/ueditor/themes/default/images/table-cell-align.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/ueditor/themes/default/images/table-cell-align.png -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/ueditor/themes/default/images/tangram-colorpicker.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/ueditor/themes/default/images/tangram-colorpicker.png -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/ueditor/themes/default/images/toolbar_bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/ueditor/themes/default/images/toolbar_bg.png -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/ueditor/themes/default/images/unhighlighted.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/ueditor/themes/default/images/unhighlighted.gif -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/ueditor/themes/default/images/upload.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/ueditor/themes/default/images/upload.png -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/ueditor/themes/default/images/videologo.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/ueditor/themes/default/images/videologo.gif -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/ueditor/themes/default/images/word.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/ueditor/themes/default/images/word.gif -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/ueditor/themes/default/images/wordpaste.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/ueditor/themes/default/images/wordpaste.png -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/ueditor/themes/iframe.css: -------------------------------------------------------------------------------- 1 | /*可以在这里添加你自己的css*/ 2 | -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/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/WEB-INF/statics/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/WEB-INF/statics/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/WEB-INF/statics/ueditor/third-party/snapscreen/UEditorSnapscreen.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/ueditor/third-party/snapscreen/UEditorSnapscreen.exe -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/ueditor/third-party/video-js/font/vjs.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/ueditor/third-party/video-js/font/vjs.eot -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/ueditor/third-party/video-js/font/vjs.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/ueditor/third-party/video-js/font/vjs.ttf -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/ueditor/third-party/video-js/font/vjs.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/ueditor/third-party/video-js/font/vjs.woff -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/ueditor/third-party/video-js/video-js.swf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/ueditor/third-party/video-js/video-js.swf -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/ueditor/third-party/webuploader/Uploader.swf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/ueditor/third-party/webuploader/Uploader.swf -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/statics/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/WEB-INF/statics/ueditor/third-party/zeroclipboard/ZeroClipboard.swf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vansl/myblog/5738957134cb384fb7a3caff01a824ee5cfb6eee/src/main/webapp/WEB-INF/statics/ueditor/third-party/zeroclipboard/ZeroClipboard.swf -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/views/blog.jsp: -------------------------------------------------------------------------------- 1 | <%-- 2 | Created by IntelliJ IDEA. 3 | User: vansl 4 | Date: 18-4-14 5 | Time: 下午8:17 6 | To change this template use File | Settings | File Templates. 7 | --%> 8 | <%@ page contentType="text/html;charset=UTF-8" language="java" %> 9 | 10 | 11 | 匠心程序小站 12 | 13 | 14 | 15 | welcome to 匠心程序小站.把代码写成诗 16 | 这是我的个人博客。我的父亲是一个人见人夸的木匠,我对他的精神怀有极大的敬仰之情,把手头的事情做到最好,就是我理解的工匠精神。 17 | 爱家乡,爱编程。 18 | 项目:linux下的代码量统计工具,基于bash 19 | socket聊天室 20 | 知乎爬虫以及分析 21 | 网易云音乐、qq音乐爬虫,通过评论进行用户对比 22 | 23 | 24 | -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/views/others.jsp: -------------------------------------------------------------------------------- 1 | <%-- 2 | Created by IntelliJ IDEA. 3 | User: vansl 4 | Date: 18-5-23 5 | Time: 下午2:40 6 | To change this template use File | Settings | File Templates. 7 | --%> 8 | <%@ page contentType="text/html;charset=UTF-8" language="java" %> 9 | 10 | 11 | 其他 12 | 13 | 14 | 15 | 16 |

个人简介

17 | 18 |

github地址:

19 | 20 |
    21 | 我的项目: 22 |
  • centos7下代码量统计工具(基于SHELL)
  • 23 |
  • centos7下一键ss翻墙工具:基于shell、python
  • 24 |
  • websocket聊天室(基于netty)
  • 25 |
  • spring-boot整合shiro+redis的demo,restful风格,使用jwt鉴权
  • 26 |
27 | 28 | 29 | -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/views/result.jsp: -------------------------------------------------------------------------------- 1 | <%@ page language="java" contentType="text/html; charset=UTF-8" 2 | pageEncoding="UTF-8"%> 3 | <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> 4 | 5 | 6 | 7 | 上传结果 8 | 9 | 10 | 27 | 28 | 29 | 30 | 31 | 文件上传失败!原因: 32 | 33 | 34 | 35 | 文件上传成功!
36 | 文件大小:MB
37 | 上传耗时:秒 38 |
39 | 点此查看所有文件 40 |
41 |
42 | 43 | -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/views/select.jsp: -------------------------------------------------------------------------------- 1 | <%@ page import="java.net.InetAddress" %> 2 | <%@ page import="com.vansl.utils.IPUtil" %><%-- 3 | Created by IntelliJ IDEA. 4 | User: vansl 5 | Date: 18-3-17 6 | Time: 下午10:14 7 | To change this template use File | Settings | File Templates. 8 | --%> 9 | <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> 10 | <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 |
19 |
20 | 21 |
22 |
23 | 24 |
25 |
26 | 27 |
28 |
29 | 30 |

你的ip: 31 | <%= 32 | IPUtil.getIp(request) 33 | %> 34 |

35 |
36 | 37 | 38 | -------------------------------------------------------------------------------- /src/test/java/dao/BlogCommentDaoTest.java: -------------------------------------------------------------------------------- 1 | package dao; 2 | 3 | import com.alibaba.fastjson.JSON; 4 | import com.vansl.dao.BlogCommentDao; 5 | import com.vansl.entity.BlogComment; 6 | import org.junit.Test; 7 | import org.junit.runner.RunWith; 8 | import org.springframework.beans.factory.annotation.Autowired; 9 | import org.springframework.test.context.ContextConfiguration; 10 | import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; 11 | 12 | import java.util.HashMap; 13 | import java.util.List; 14 | import java.util.Map; 15 | 16 | /** 17 | * @author: vansl 18 | * @create: 18-4-22 下午5:12 19 | */ 20 | 21 | @RunWith(SpringJUnit4ClassRunner.class) 22 | // 加载spring配置文件 23 | @ContextConfiguration({ "classpath:spring/applicationContext-dao.xml"}) 24 | public class BlogCommentDaoTest { 25 | 26 | @Autowired 27 | BlogCommentDao blogCommentDao; 28 | 29 | @Test 30 | public void testSelectAll(){ 31 | List data=blogCommentDao.selectAll(1); 32 | System.out.println(JSON.toJSONString(data)); 33 | } 34 | 35 | @Test 36 | public void testSelectByBlogId(){ 37 | List result=blogCommentDao.selectByBlogId(22); 38 | System.out.println(JSON.toJSONString(result)); 39 | 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /src/test/java/dao/BlogTypeDaoTest.java: -------------------------------------------------------------------------------- 1 | package dao; 2 | 3 | import com.vansl.dao.BlogTypeDao; 4 | import com.vansl.entity.BlogType; 5 | import org.junit.Test; 6 | import org.junit.runner.RunWith; 7 | import org.springframework.beans.factory.annotation.Autowired; 8 | import org.springframework.test.context.ContextConfiguration; 9 | import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; 10 | 11 | import java.util.List; 12 | 13 | import static org.junit.Assert.assertEquals; 14 | 15 | /** 16 | * @author: vansl 17 | * @create: 18-4-14 下午1:15 18 | */ 19 | 20 | 21 | @RunWith(SpringJUnit4ClassRunner.class) 22 | // 加载spring配置文件 23 | @ContextConfiguration({ "classpath:spring/applicationContext-dao.xml"}) 24 | public class BlogTypeDaoTest { 25 | 26 | @Autowired 27 | private BlogTypeDao blogTypeDao; 28 | 29 | @Test 30 | public void testSelectAll() throws Exception { 31 | List result= blogTypeDao.selectAll(1); 32 | for (BlogType blogType:result) { 33 | System.out.println(blogType.getTypeName()); 34 | } 35 | } 36 | 37 | @Test 38 | public void testUpdateBlogType() throws Exception { 39 | BlogType type=new BlogType(); 40 | type.setTypeName("JAVAScript"); 41 | type.setId(1); 42 | blogTypeDao.updateBlogType(type); 43 | } 44 | 45 | @Test 46 | public void testDeleteBlogType() throws Exception { 47 | assertEquals(new Integer(1),blogTypeDao.deleteBlogType(2)); 48 | } 49 | 50 | } 51 | -------------------------------------------------------------------------------- /src/test/java/jedis/JedisUtilTest.java: -------------------------------------------------------------------------------- 1 | package jedis; 2 | 3 | import com.vansl.utils.JedisUtil; 4 | import org.junit.Test; 5 | import org.junit.runner.RunWith; 6 | import org.springframework.beans.factory.annotation.Autowired; 7 | import org.springframework.test.context.ContextConfiguration; 8 | import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; 9 | 10 | import static org.junit.Assert.assertEquals; 11 | 12 | /** 13 | * @author: vansl 14 | * @create: 18-5-19 下午11:16 15 | */ 16 | @RunWith(SpringJUnit4ClassRunner.class) 17 | @ContextConfiguration({"classpath:spring/applicationContext-redis.xml"}) 18 | public class JedisUtilTest { 19 | 20 | @Autowired 21 | JedisUtil jedisUtil; 22 | 23 | @Test 24 | public void testSetAndDel(){ 25 | jedisUtil.set("testJedis","testSucceed"); 26 | assertEquals(jedisUtil.get("testJedis"),"testSucceed"); 27 | jedisUtil.del("testRedis"); 28 | } 29 | 30 | @Test 31 | public void testExpire() throws Exception{ 32 | jedisUtil.set("testExpire","testSucceed"); 33 | jedisUtil.expire("testExpire",3); 34 | assertEquals(jedisUtil.get("testExpire"),"testSucceed"); 35 | Thread.sleep(3000); 36 | assertEquals(jedisUtil.get("testExpire"),null); 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /src/test/java/service/BlogCommentServiceTest.java: -------------------------------------------------------------------------------- 1 | package service; 2 | 3 | import com.alibaba.fastjson.JSON; 4 | import com.vansl.dto.TableData; 5 | import com.vansl.entity.BlogComment; 6 | import com.vansl.service.BlogCommentService; 7 | import org.junit.Test; 8 | import org.junit.runner.RunWith; 9 | import org.springframework.beans.factory.annotation.Autowired; 10 | import org.springframework.test.context.ContextConfiguration; 11 | import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; 12 | 13 | 14 | import static org.junit.Assert.assertEquals; 15 | 16 | /** 17 | * @author: vansl 18 | * @create: 18-4-23 下午3:40 19 | */ 20 | 21 | @RunWith(SpringJUnit4ClassRunner.class) 22 | // 加载spring配置文件 23 | @ContextConfiguration({ "classpath:spring/applicationContext-dao.xml","classpath:spring/applicationContext-service.xml"}) 24 | public class BlogCommentServiceTest { 25 | 26 | @Autowired 27 | BlogCommentService service; 28 | 29 | @Test 30 | public void testSelectAll(){ 31 | TableData data=service.selectAll(1,2,10); 32 | System.out.println(JSON.toJSONString(data)); 33 | } 34 | 35 | @Test 36 | public void testInsertBlogComment(){ 37 | BlogComment comment=new BlogComment(); 38 | comment.setContent("test"); 39 | comment.setIp("127.0.0.1"); 40 | comment.setName("vansl"); 41 | comment.setContact("kkk@gmail.com"); 42 | comment.setBlogId(1); 43 | assertEquals(new Integer(1),service.insertBlogComment(comment)); 44 | } 45 | 46 | 47 | @Test 48 | public void testDeleteBlogComment(){ 49 | assertEquals(new Integer(1),service.deleteBlogComment(1)); 50 | } 51 | 52 | @Test 53 | public void testDeleteByBlogId(){ 54 | assertEquals(new Integer(10),service.deleteByBlogId(22)); 55 | } 56 | } 57 | -------------------------------------------------------------------------------- /src/test/java/shiro/AliyunOSSTest.java: -------------------------------------------------------------------------------- 1 | package shiro; 2 | 3 | import com.vansl.utils.AliyunOSSUtil; 4 | import org.junit.Test; 5 | import java.io.File; 6 | import java.io.FileInputStream; 7 | 8 | /** 9 | * @author: vansl 10 | * @create: 18-5-10 下午5:01 11 | */ 12 | 13 | // 加载spring配置文件 14 | public class AliyunOSSTest { 15 | 16 | @Test 17 | public void testUpload() throws Exception{ 18 | File file=new File("/home/vansl/test.txt"); 19 | //AliyunOSSUtil.createFolder("vanslblog","test"); 20 | String url=AliyunOSSUtil.upload(new FileInputStream(file),file.getName(),"vanslblog","a/b/c"); 21 | System.out.println(url); 22 | } 23 | 24 | @Test 25 | public void testDelete(){ 26 | AliyunOSSUtil.deleteFolder("vanslblog","a/b"); 27 | } 28 | } -------------------------------------------------------------------------------- /src/test/java/shiro/LoginTest.java: -------------------------------------------------------------------------------- 1 | package shiro; 2 | 3 | import com.alibaba.fastjson.JSON; 4 | import org.junit.Before; 5 | import org.junit.Test; 6 | import org.junit.runner.RunWith; 7 | import org.springframework.beans.factory.annotation.Autowired; 8 | import org.springframework.http.MediaType; 9 | import org.springframework.test.context.ContextConfiguration; 10 | import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; 11 | import org.springframework.test.context.web.WebAppConfiguration; 12 | import org.springframework.test.web.servlet.MockMvc; 13 | import org.springframework.test.web.servlet.setup.MockMvcBuilders; 14 | import org.springframework.web.context.WebApplicationContext; 15 | 16 | import java.util.HashMap; 17 | import java.util.Map; 18 | 19 | import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post; 20 | import static org.springframework.test.web.servlet.result.MockMvcResultHandlers.print; 21 | 22 | /** 23 | * @author: vansl 24 | * @create: 18-5-23 下午4:05 25 | */ 26 | @RunWith(SpringJUnit4ClassRunner.class) 27 | // 加载spring配置文件 28 | @ContextConfiguration({ "classpath:spring/applicationContext-*.xml","classpath:shiro/applicationContext-shiro.xml"}) 29 | @WebAppConfiguration 30 | public class LoginTest { 31 | 32 | @Autowired 33 | WebApplicationContext wac; 34 | 35 | MockMvc mockMvc; 36 | //初始化MockMvc对象 37 | @Before 38 | public void setup() { 39 | this.mockMvc = MockMvcBuilders.webAppContextSetup(wac).build(); 40 | } 41 | 42 | @Test 43 | public void testLogin() throws Exception { 44 | Map map=new HashMap<>(); 45 | map.put("username","admin"); 46 | map.put("password","123456"); 47 | map.put("captcha","1"); 48 | String data= JSON.toJSONString(map); 49 | String result= mockMvc.perform(post("check"). 50 | contentType(MediaType.APPLICATION_JSON).content(data)). 51 | andDo(print()). 52 | andReturn(). 53 | getResponse(). 54 | getContentAsString(); 55 | System.out.println(result); 56 | } 57 | 58 | } 59 | -------------------------------------------------------------------------------- /src/test/java/shiro/ShiroTest.java: -------------------------------------------------------------------------------- 1 | package shiro; 2 | 3 | import org.apache.shiro.SecurityUtils; 4 | import org.apache.shiro.authc.UsernamePasswordToken; 5 | import org.apache.shiro.config.IniSecurityManagerFactory; 6 | import org.apache.shiro.mgt.SecurityManager; 7 | import org.apache.shiro.subject.Subject; 8 | import org.apache.shiro.util.Factory; 9 | import org.junit.Assert; 10 | import org.junit.Test; 11 | 12 | /** 13 | * @author: vansl 14 | * @create: 18-5-8 下午7:08 15 | */ 16 | public class ShiroTest { 17 | @Test 18 | public void testLogin() { 19 | //加载配置文件并获取工厂 20 | Factory factory = new IniSecurityManagerFactory("classpath:shiro/shiro.ini"); 21 | //获取安全管理器实例 22 | SecurityManager manager = factory.getInstance(); 23 | //将安全管理器放入全局对象 24 | SecurityUtils.setSecurityManager(manager); 25 | //通过安全管理器生成Subject对象 26 | Subject subject = SecurityUtils.getSubject(); 27 | //封装用户数据 28 | UsernamePasswordToken token = new UsernamePasswordToken("admin", "123456"); 29 | //将用户数据token传递到Realm 30 | subject.login(token); 31 | //判断用户是否认证成功 32 | Assert.assertEquals(true, subject.isAuthenticated()); 33 | } 34 | } 35 | --------------------------------------------------------------------------------