功能优化
This commit is contained in:
@@ -40,10 +40,10 @@ public class Application extends SpringBootServletInitializer {
|
||||
"zyplayer-doc-swagger:http://{}document.html\n\t" +
|
||||
"swagger-bootstrap-ui:http://{}doc.html\n\t" +
|
||||
"springfox-swagger-ui:http://{}swagger-ui.html\n\t" +
|
||||
//"数据库地址:http://{}document.html\n " +
|
||||
"数据库文档管理地址:http://{}doc-db.html\n\t" +
|
||||
"管理地址:http://{}statics/manage/home.html\n" +
|
||||
"----------------------------------------------------------",
|
||||
urlCtx, urlCtx, urlCtx, urlCtx
|
||||
urlCtx, urlCtx, urlCtx, urlCtx, urlCtx
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,23 @@
|
||||
package com.zyplayer.doc.manage.framework.config;
|
||||
|
||||
import com.zyplayer.doc.db.framework.configuration.EnableDocDb;
|
||||
import com.zyplayer.doc.db.framework.db.bean.DatabaseRegistrationBean;
|
||||
import org.springframework.boot.context.properties.ConfigurationProperties;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
|
||||
/**
|
||||
* @Author
|
||||
* @Date 2018/11/11
|
||||
**/
|
||||
@EnableDocDb
|
||||
@Configuration
|
||||
public class DocDatabaseRegistrationConfig {
|
||||
|
||||
@Bean
|
||||
@ConfigurationProperties(prefix = "zyplayer.doc.db")
|
||||
public DatabaseRegistrationBean databaseRegistrationBean(){
|
||||
return new DatabaseRegistrationBean();
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,141 +1,141 @@
|
||||
package com.zyplayer.doc.manage.framework.config;
|
||||
|
||||
import com.atomikos.icatch.jta.UserTransactionImp;
|
||||
import com.atomikos.icatch.jta.UserTransactionManager;
|
||||
import com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor;
|
||||
import com.baomidou.mybatisplus.extension.plugins.PerformanceInterceptor;
|
||||
import com.baomidou.mybatisplus.extension.spring.MybatisSqlSessionFactoryBean;
|
||||
import com.zyplayer.doc.manage.repository.support.interceptor.SqlLogInterceptor;
|
||||
import org.apache.ibatis.plugin.Interceptor;
|
||||
import org.mybatis.spring.annotation.MapperScan;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.boot.jta.atomikos.AtomikosDataSourceBean;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.core.io.support.PathMatchingResourcePatternResolver;
|
||||
import org.springframework.transaction.PlatformTransactionManager;
|
||||
import org.springframework.transaction.annotation.EnableTransactionManagement;
|
||||
import org.springframework.transaction.jta.JtaTransactionManager;
|
||||
|
||||
import javax.sql.DataSource;
|
||||
import javax.transaction.TransactionManager;
|
||||
import javax.transaction.UserTransaction;
|
||||
import java.util.Properties;
|
||||
|
||||
/**
|
||||
* mybatis plus数据库配置
|
||||
*/
|
||||
@Configuration
|
||||
public class MybatisPlusConfig {
|
||||
|
||||
/**
|
||||
* sql日志
|
||||
**/
|
||||
private static final SqlLogInterceptor SQL_LOG_INTERCEPTOR;
|
||||
|
||||
static {
|
||||
SQL_LOG_INTERCEPTOR = new SqlLogInterceptor();
|
||||
Properties properties = new Properties();
|
||||
SQL_LOG_INTERCEPTOR.setProperties(properties);
|
||||
}
|
||||
|
||||
/**
|
||||
* 分布式事务配置
|
||||
*/
|
||||
@Configuration
|
||||
static class JTATransactionManagerConfig {
|
||||
|
||||
@Bean(name = "userTransaction")
|
||||
public UserTransaction userTransaction() throws Throwable {
|
||||
UserTransactionImp userTransactionImp = new UserTransactionImp();
|
||||
userTransactionImp.setTransactionTimeout(300);
|
||||
return userTransactionImp;
|
||||
}
|
||||
|
||||
@Bean(name = "atomikosTransactionManager")
|
||||
public TransactionManager atomikosTransactionManager() {
|
||||
UserTransactionManager userTransactionManager = new UserTransactionManager();
|
||||
userTransactionManager.setForceShutdown(true);
|
||||
return userTransactionManager;
|
||||
}
|
||||
|
||||
@Bean(name = "transactionManager")
|
||||
public PlatformTransactionManager transactionManager() throws Throwable {
|
||||
UserTransaction userTransaction = userTransaction();
|
||||
TransactionManager atomikosTransactionManager = atomikosTransactionManager();
|
||||
|
||||
JtaTransactionManager jtaTransactionManager = new JtaTransactionManager(userTransaction, atomikosTransactionManager);
|
||||
jtaTransactionManager.setAllowCustomIsolationLevels(true);
|
||||
jtaTransactionManager.setGlobalRollbackOnParticipationFailure(true);
|
||||
jtaTransactionManager.setDefaultTimeout(30);
|
||||
|
||||
return jtaTransactionManager;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 数据库配置
|
||||
*/
|
||||
@Configuration
|
||||
@EnableTransactionManagement
|
||||
@MapperScan(value = "com.zyplayer.doc.manage.repository.manage.mapper", sqlSessionFactoryRef = "manageSqlSessionFactory")
|
||||
static class ManageMybatisDbConfig {
|
||||
|
||||
@Value("${zyplayer.datasource.manage.driverClassName}")
|
||||
private String driverClassName;
|
||||
@Value("${zyplayer.datasource.manage.url}")
|
||||
private String url;
|
||||
@Value("${zyplayer.datasource.manage.username}")
|
||||
private String username;
|
||||
@Value("${zyplayer.datasource.manage.password}")
|
||||
private String password;
|
||||
|
||||
@Bean(name = "manageDatasource")
|
||||
public DataSource manageDatasource() {
|
||||
Properties xaProperties = new Properties();
|
||||
xaProperties.setProperty("driverClassName", driverClassName);
|
||||
xaProperties.setProperty("url", url);
|
||||
xaProperties.setProperty("username", username);
|
||||
xaProperties.setProperty("password", password);
|
||||
xaProperties.setProperty("maxActive", "500");
|
||||
xaProperties.setProperty("testOnBorrow", "true");
|
||||
xaProperties.setProperty("testWhileIdle", "true");
|
||||
xaProperties.setProperty("validationQuery", "select 'x'");
|
||||
|
||||
AtomikosDataSourceBean xaDataSource = new AtomikosDataSourceBean();
|
||||
xaDataSource.setXaProperties(xaProperties);
|
||||
xaDataSource.setXaDataSourceClassName("com.alibaba.druid.pool.xa.DruidXADataSource");
|
||||
xaDataSource.setUniqueResourceName("manageDatasource");
|
||||
xaDataSource.setMaxPoolSize(500);
|
||||
xaDataSource.setMinPoolSize(1);
|
||||
xaDataSource.setMaxLifetime(60);
|
||||
return xaDataSource;
|
||||
}
|
||||
|
||||
@Bean(name = "manageSqlSessionFactory")
|
||||
public MybatisSqlSessionFactoryBean manageSqlSessionFactory() throws Exception {
|
||||
MybatisSqlSessionFactoryBean sqlSessionFactoryBean = new MybatisSqlSessionFactoryBean();
|
||||
sqlSessionFactoryBean.setDataSource(manageDatasource());
|
||||
sqlSessionFactoryBean.setPlugins(new Interceptor[]{SQL_LOG_INTERCEPTOR});
|
||||
|
||||
PathMatchingResourcePatternResolver resolver = new PathMatchingResourcePatternResolver();
|
||||
sqlSessionFactoryBean.setMapperLocations(resolver.getResources("classpath:/mapper/manage/*Mapper.xml"));
|
||||
return sqlSessionFactoryBean;
|
||||
}
|
||||
}
|
||||
|
||||
@Bean
|
||||
public PerformanceInterceptor performanceInterceptor() {
|
||||
PerformanceInterceptor performanceInterceptor = new PerformanceInterceptor();
|
||||
/* <!-- SQL 执行性能分析,开发环境使用,线上不推荐。 maxTime 指的是 sql 最大执行时长 --> */
|
||||
performanceInterceptor.setMaxTime(1000);
|
||||
/* <!--SQL是否格式化 默认false--> */
|
||||
performanceInterceptor.setFormat(true);
|
||||
return performanceInterceptor;
|
||||
}
|
||||
|
||||
@Bean
|
||||
public PaginationInterceptor paginationInterceptor() {
|
||||
return new PaginationInterceptor();
|
||||
}
|
||||
package com.zyplayer.doc.manage.framework.config;
|
||||
|
||||
import com.atomikos.icatch.jta.UserTransactionImp;
|
||||
import com.atomikos.icatch.jta.UserTransactionManager;
|
||||
import com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor;
|
||||
import com.baomidou.mybatisplus.extension.plugins.PerformanceInterceptor;
|
||||
import com.baomidou.mybatisplus.extension.spring.MybatisSqlSessionFactoryBean;
|
||||
import com.zyplayer.doc.manage.repository.support.interceptor.SqlLogInterceptor;
|
||||
import org.apache.ibatis.plugin.Interceptor;
|
||||
import org.mybatis.spring.annotation.MapperScan;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.boot.jta.atomikos.AtomikosDataSourceBean;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.core.io.support.PathMatchingResourcePatternResolver;
|
||||
import org.springframework.transaction.PlatformTransactionManager;
|
||||
import org.springframework.transaction.annotation.EnableTransactionManagement;
|
||||
import org.springframework.transaction.jta.JtaTransactionManager;
|
||||
|
||||
import javax.sql.DataSource;
|
||||
import javax.transaction.TransactionManager;
|
||||
import javax.transaction.UserTransaction;
|
||||
import java.util.Properties;
|
||||
|
||||
/**
|
||||
* mybatis plus数据库配置
|
||||
*/
|
||||
@Configuration
|
||||
public class MybatisPlusConfig {
|
||||
|
||||
/**
|
||||
* sql日志
|
||||
**/
|
||||
private static final SqlLogInterceptor SQL_LOG_INTERCEPTOR;
|
||||
|
||||
static {
|
||||
SQL_LOG_INTERCEPTOR = new SqlLogInterceptor();
|
||||
Properties properties = new Properties();
|
||||
SQL_LOG_INTERCEPTOR.setProperties(properties);
|
||||
}
|
||||
|
||||
/**
|
||||
* 分布式事务配置
|
||||
*/
|
||||
@Configuration
|
||||
static class JTATransactionManagerConfig {
|
||||
|
||||
@Bean(name = "userTransaction")
|
||||
public UserTransaction userTransaction() throws Throwable {
|
||||
UserTransactionImp userTransactionImp = new UserTransactionImp();
|
||||
userTransactionImp.setTransactionTimeout(300);
|
||||
return userTransactionImp;
|
||||
}
|
||||
|
||||
@Bean(name = "atomikosTransactionManager")
|
||||
public TransactionManager atomikosTransactionManager() {
|
||||
UserTransactionManager userTransactionManager = new UserTransactionManager();
|
||||
userTransactionManager.setForceShutdown(true);
|
||||
return userTransactionManager;
|
||||
}
|
||||
|
||||
@Bean(name = "transactionManager")
|
||||
public PlatformTransactionManager transactionManager() throws Throwable {
|
||||
UserTransaction userTransaction = userTransaction();
|
||||
TransactionManager atomikosTransactionManager = atomikosTransactionManager();
|
||||
|
||||
JtaTransactionManager jtaTransactionManager = new JtaTransactionManager(userTransaction, atomikosTransactionManager);
|
||||
jtaTransactionManager.setAllowCustomIsolationLevels(true);
|
||||
jtaTransactionManager.setGlobalRollbackOnParticipationFailure(true);
|
||||
jtaTransactionManager.setDefaultTimeout(30);
|
||||
|
||||
return jtaTransactionManager;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 数据库配置
|
||||
*/
|
||||
@Configuration
|
||||
@EnableTransactionManagement
|
||||
@MapperScan(value = "com.zyplayer.doc.manage.repository.manage.mapper", sqlSessionFactoryRef = "manageSqlSessionFactory")
|
||||
static class ManageMybatisDbConfig {
|
||||
|
||||
@Value("${zyplayer.doc.manage.datasource.driverClassName}")
|
||||
private String driverClassName;
|
||||
@Value("${zyplayer.doc.manage.datasource.url}")
|
||||
private String url;
|
||||
@Value("${zyplayer.doc.manage.datasource.username}")
|
||||
private String username;
|
||||
@Value("${zyplayer.doc.manage.datasource.password}")
|
||||
private String password;
|
||||
|
||||
@Bean(name = "manageDatasource")
|
||||
public DataSource manageDatasource() {
|
||||
Properties xaProperties = new Properties();
|
||||
xaProperties.setProperty("driverClassName", driverClassName);
|
||||
xaProperties.setProperty("url", url);
|
||||
xaProperties.setProperty("username", username);
|
||||
xaProperties.setProperty("password", password);
|
||||
xaProperties.setProperty("maxActive", "500");
|
||||
xaProperties.setProperty("testOnBorrow", "true");
|
||||
xaProperties.setProperty("testWhileIdle", "true");
|
||||
xaProperties.setProperty("validationQuery", "select 'x'");
|
||||
|
||||
AtomikosDataSourceBean xaDataSource = new AtomikosDataSourceBean();
|
||||
xaDataSource.setXaProperties(xaProperties);
|
||||
xaDataSource.setXaDataSourceClassName("com.alibaba.druid.pool.xa.DruidXADataSource");
|
||||
xaDataSource.setUniqueResourceName("manageDatasource");
|
||||
xaDataSource.setMaxPoolSize(500);
|
||||
xaDataSource.setMinPoolSize(1);
|
||||
xaDataSource.setMaxLifetime(60);
|
||||
return xaDataSource;
|
||||
}
|
||||
|
||||
@Bean(name = "manageSqlSessionFactory")
|
||||
public MybatisSqlSessionFactoryBean manageSqlSessionFactory() throws Exception {
|
||||
MybatisSqlSessionFactoryBean sqlSessionFactoryBean = new MybatisSqlSessionFactoryBean();
|
||||
sqlSessionFactoryBean.setDataSource(manageDatasource());
|
||||
sqlSessionFactoryBean.setPlugins(new Interceptor[]{SQL_LOG_INTERCEPTOR});
|
||||
|
||||
PathMatchingResourcePatternResolver resolver = new PathMatchingResourcePatternResolver();
|
||||
sqlSessionFactoryBean.setMapperLocations(resolver.getResources("classpath:/mapper/manage/*Mapper.xml"));
|
||||
return sqlSessionFactoryBean;
|
||||
}
|
||||
}
|
||||
|
||||
@Bean
|
||||
public PerformanceInterceptor performanceInterceptor() {
|
||||
PerformanceInterceptor performanceInterceptor = new PerformanceInterceptor();
|
||||
/* <!-- SQL 执行性能分析,开发环境使用,线上不推荐。 maxTime 指的是 sql 最大执行时长 --> */
|
||||
performanceInterceptor.setMaxTime(1000);
|
||||
/* <!--SQL是否格式化 默认false--> */
|
||||
performanceInterceptor.setFormat(true);
|
||||
return performanceInterceptor;
|
||||
}
|
||||
|
||||
@Bean
|
||||
public PaginationInterceptor paginationInterceptor() {
|
||||
return new PaginationInterceptor();
|
||||
}
|
||||
}
|
||||
@@ -1,72 +1,81 @@
|
||||
spring:
|
||||
application:
|
||||
name: zyplayer-doc-manage
|
||||
velocity:
|
||||
layout-url: common/default.vm
|
||||
cache: false
|
||||
suffix: .vm
|
||||
expose-spring-macro-helpers: true
|
||||
date-tool-attribute: dateTool
|
||||
number-tool-attribute: numberTool
|
||||
contentType: text/html;charset=UTF-8
|
||||
resource-loader-path: classpath:/vm/
|
||||
default-content-type: text/html
|
||||
ignore-accept-header: true
|
||||
charset: UTF-8
|
||||
properties:
|
||||
input:
|
||||
encoding: UTF-8
|
||||
output:
|
||||
encoding: UTF-8
|
||||
# datasource:
|
||||
# driver-class-name: com.mysql.jdbc.Driver
|
||||
# url: jdbc:mysql://127.0.0.1:3306/zyplayer-doc-manage?characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&autoReconnect=true
|
||||
# username: root
|
||||
# password: root
|
||||
|
||||
server:
|
||||
port: 8082
|
||||
servlet:
|
||||
context-path: /zyplayer-doc-manage
|
||||
|
||||
|
||||
|
||||
zyplayer:
|
||||
datasource:
|
||||
manage:
|
||||
driverClassName: com.mysql.jdbc.Driver
|
||||
url: jdbc:mysql://127.0.0.1:3306/zyplayer-doc-manage?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&autoReconnect=true&useSSL=false
|
||||
username: root
|
||||
password: root
|
||||
|
||||
mybatis-plus:
|
||||
mapper-locations: classpath:/mapper/**/*Mapper.xml
|
||||
#实体扫描,多个package用逗号或者分号分隔
|
||||
typeAliasesPackage: com.baomidou.springboot.entity
|
||||
typeEnumsPackage: com.baomidou.springboot.entity.enums
|
||||
global-config:
|
||||
# 数据库相关配置
|
||||
db-config:
|
||||
#主键类型 AUTO:"数据库ID自增", INPUT:"用户输入ID",ID_WORKER:"全局唯一ID (数字类型唯一ID)", UUID:"全局唯一ID UUID";
|
||||
id-type: id_worker
|
||||
#字段策略 IGNORED:"忽略判断",NOT_NULL:"非 NULL 判断"),NOT_EMPTY:"非空判断"
|
||||
field-strategy: not_empty
|
||||
#驼峰下划线转换
|
||||
column-underline: true
|
||||
#数据库大写下划线转换
|
||||
#capital-mode: true
|
||||
#逻辑删除配置
|
||||
logic-delete-value: 0
|
||||
logic-not-delete-value: 1
|
||||
db-type: mysql
|
||||
#刷新mapper 调试神器
|
||||
refresh: true
|
||||
# 原生配置
|
||||
configuration:
|
||||
map-underscore-to-camel-case: true
|
||||
cache-enabled: false
|
||||
|
||||
|
||||
#一些测试地址
|
||||
#https://gitee.com/GeekPerson/central-platform 项目的文档
|
||||
spring:
|
||||
application:
|
||||
name: zyplayer-doc-manage
|
||||
velocity:
|
||||
layout-url: common/default.vm
|
||||
cache: false
|
||||
suffix: .vm
|
||||
expose-spring-macro-helpers: true
|
||||
date-tool-attribute: dateTool
|
||||
number-tool-attribute: numberTool
|
||||
contentType: text/html;charset=UTF-8
|
||||
resource-loader-path: classpath:/vm/
|
||||
default-content-type: text/html
|
||||
ignore-accept-header: true
|
||||
charset: UTF-8
|
||||
properties:
|
||||
input:
|
||||
encoding: UTF-8
|
||||
output:
|
||||
encoding: UTF-8
|
||||
|
||||
server:
|
||||
port: 8082
|
||||
servlet:
|
||||
context-path: /zyplayer-doc-manage
|
||||
|
||||
|
||||
zyplayer:
|
||||
doc:
|
||||
# zyplayer-doc-manage管理端的数据库配置
|
||||
manage:
|
||||
datasource:
|
||||
driverClassName: com.mysql.jdbc.Driver
|
||||
url: jdbc:mysql://127.0.0.1:3306/zyplayer-doc-manage?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&autoReconnect=true&useSSL=false
|
||||
username: root
|
||||
password: root
|
||||
# 数据库文档相关
|
||||
# 打开/zyplayer-doc-manage/doc-db.html即可看到这里配置的数据库的文档
|
||||
db:
|
||||
dbConfigList:
|
||||
- driverClassName: com.mysql.jdbc.Driver
|
||||
url: jdbc:mysql://127.0.0.1:3306/zyplayer-doc-manage?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&autoReconnect=true&useSSL=false
|
||||
username: root
|
||||
password: root
|
||||
# 多个数据源直接这样累加
|
||||
# - driverClassName: com.mysql.jdbc.Driver
|
||||
# url: jdbc:mysql://127.0.0.1:3306/zyplayer-doc-manage?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&autoReconnect=true&useSSL=false
|
||||
# username: root
|
||||
# password: root
|
||||
|
||||
mybatis-plus:
|
||||
mapper-locations: classpath:/mapper/**/*Mapper.xml
|
||||
#实体扫描,多个package用逗号或者分号分隔
|
||||
typeAliasesPackage: com.baomidou.springboot.entity
|
||||
typeEnumsPackage: com.baomidou.springboot.entity.enums
|
||||
global-config:
|
||||
# 数据库相关配置
|
||||
db-config:
|
||||
#主键类型 AUTO:"数据库ID自增", INPUT:"用户输入ID",ID_WORKER:"全局唯一ID (数字类型唯一ID)", UUID:"全局唯一ID UUID";
|
||||
id-type: id_worker
|
||||
#字段策略 IGNORED:"忽略判断",NOT_NULL:"非 NULL 判断"),NOT_EMPTY:"非空判断"
|
||||
field-strategy: not_empty
|
||||
#驼峰下划线转换
|
||||
column-underline: true
|
||||
#数据库大写下划线转换
|
||||
#capital-mode: true
|
||||
#逻辑删除配置
|
||||
logic-delete-value: 0
|
||||
logic-not-delete-value: 1
|
||||
db-type: mysql
|
||||
#刷新mapper 调试神器
|
||||
refresh: true
|
||||
# 原生配置
|
||||
configuration:
|
||||
map-underscore-to-camel-case: true
|
||||
cache-enabled: false
|
||||
|
||||
|
||||
#一些测试地址
|
||||
#https://gitee.com/GeekPerson/central-platform 项目的文档
|
||||
#http://47.99.88.28:9200/swagger-resources
|
||||
@@ -2,7 +2,7 @@ body{width: 100%;height: 100%;margin: 0;padding: 0;}
|
||||
a:focus{outline:none;}
|
||||
ul{list-style: none;list-style-type: none;}
|
||||
.tree li a{white-space: nowrap;}
|
||||
.tree-menu li > ul{background-color: #f1f1f1;}
|
||||
.tree-menu li > ul{background-color: #555980;}
|
||||
.tree-menu li li li li a{padding-left: 68px;}
|
||||
.tree-menu li li li li li a{padding-left: 88px;}
|
||||
.tree-menu li li li li li li a{padding-left: 108px;}
|
||||
@@ -11,6 +11,11 @@ ul{list-style: none;list-style-type: none;}
|
||||
.tree-menu li li li li li li li li li a{padding-left: 168px;}
|
||||
.tree-menu li li li li li li li li li li a{padding-left: 188px;}
|
||||
.table td, .table th {vertical-align: middle;}
|
||||
.tree-menu li > a:active, .tree-menu li > a:focus, .tree-menu li > a:hover{color: #fff;}
|
||||
.tree-menu li > a{color: #fff;}
|
||||
.tree-menu > li > a{border-bottom-color: #555980;}
|
||||
.tree-menu > li.open + li > a{border-bottom-color: #555980;border-top-color: #555980;}
|
||||
.tree-lines ul > li::after{border-top:0;}
|
||||
|
||||
/**lable的覆盖样式*/
|
||||
.label{font-size: 100%;}
|
||||
@@ -32,7 +37,7 @@ label{font-weight: normal;}
|
||||
width: 360px; height:100%; position: fixed; top: 0; bottom: 0; left: 0;
|
||||
}
|
||||
.left-header{
|
||||
background: #3280fc;width: 100%; height:60px;line-height:60px;
|
||||
background: #464a6e;width: 100%; height:60px;line-height:60px;
|
||||
position: absolute; top: 0; bottom: 0; left: 0;text-align: center;
|
||||
}
|
||||
.left-header .logo{
|
||||
@@ -42,7 +47,7 @@ label{font-weight: normal;}
|
||||
font-size: 24px;float: right;margin: 18px 18px 0 0;color: #fff;cursor: pointer;
|
||||
}
|
||||
.left-container{
|
||||
width: 100%;position: absolute;background: #f1f1f1;color: rgba(163, 175, 183, .9);
|
||||
width: 100%;position: absolute;background: #555980;color: #fff;
|
||||
top: 60px; bottom: 0; left: 0; overflow-y: auto; padding: 10px;
|
||||
}
|
||||
.left-container .projects{border: 0px; border-radius: 0px;}
|
||||
@@ -59,7 +64,14 @@ label{font-weight: normal;}
|
||||
|
||||
#rightContentMask{background-color: rgba(0, 0, 0, 0);padding: 0;z-index:9999; height: 100%;display: none;position: absolute;top: 0;bottom: 0;left:0;right: 0;}
|
||||
#rightZpages{height: 100%;position: relative;top: 0;bottom: 0;left:0;right: 0;}
|
||||
#rightZpages .tabs-container .tab-pane{padding: 10px;}
|
||||
/*#rightZpages .tabs-container .tab-pane{padding: 10px;}*/
|
||||
|
||||
#showLeftContent{
|
||||
position: fixed;top: 250px; left: 0px;padding-top: 10px;
|
||||
width: 15px;height: 35px;z-index: 9999;cursor: pointer;
|
||||
background-color: #ccc;border-radius: 0 5px 5px 0;display: none;
|
||||
}
|
||||
#showLeftContent:hover{color: #fff;}
|
||||
|
||||
/* S-JSON展示的样式 */
|
||||
pre.json{margin-top:0px;margin-bottom:0px;}
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
|
||||
<body>
|
||||
<div id="app">
|
||||
这是一个关于页面
|
||||
这是一个关于页面,更多内容敬请关注:<a href="https://gitee.com/zyplayer/zyplayer-doc" target="_blank"> zyplayer-doc-manage</a>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
</script>
|
||||
|
||||
<style>
|
||||
|
||||
body{padding: 10px;}
|
||||
</style>
|
||||
</html>
|
||||
|
||||
|
||||
@@ -56,7 +56,7 @@
|
||||
</script>
|
||||
|
||||
<style>
|
||||
|
||||
body{padding: 10px;}
|
||||
</style>
|
||||
</html>
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
|
||||
<title>文档管理系统 - zyplayer</title>
|
||||
<title>文档管理系统</title>
|
||||
<link rel="shortcut icon" href="../lib/mg/img/api.ico"/>
|
||||
<link rel="stylesheet" href="../lib/zui/css/zui.min.css" />
|
||||
<link rel="stylesheet" href="../lib/zui/lib/dashboard/zui.dashboard.min.css" />
|
||||
@@ -11,6 +11,9 @@
|
||||
<link rel="stylesheet" href="../lib/mg/css/mg-ui.css" />
|
||||
</head>
|
||||
<body>
|
||||
<div id="showLeftContent">
|
||||
<i class="icon icon-chevron-right"></i>
|
||||
</div>
|
||||
<div class="left-body" id="leftContent">
|
||||
<div class="left-header">
|
||||
<span class="logo" id="logoText">zyplayer-doc-manage</span>
|
||||
@@ -18,12 +21,30 @@
|
||||
</div>
|
||||
<div class="scrollbar-hover left-container">
|
||||
<!-- 样式类可选:tree-menu tree-folders tree-chevrons tree-angles -->
|
||||
<ul class="tree tree-lines tree-menu projects" data-ride="tree">
|
||||
<li id="tabZpagesNavigationLi">
|
||||
<ul class="tree tree-lines tree-menu projects" data-ride="tree" id="tabZpagesNavigationUl">
|
||||
<li>
|
||||
<a href="#"><i class="icon icon-group"></i> 系统管理</a>
|
||||
<ul>
|
||||
<li><a href="#" class="page-nav" data-id="userManage" data-href="./user/manage.html" data-icon="icon-user" data-reload="0"><i class="icon-user"></i> 人员管理</a></li>
|
||||
<li><a href="#" class="page-nav" data-id="authManage" data-href="./auth/manage.html" data-icon="icon-lock" data-reload="1"><i class="icon-lock"></i> 权限列表</a></li>
|
||||
<li><a href="#" class="page-nav" data-id="user-manage" data-href="./user/manage.html" data-icon="icon-user" data-reload="0"><i class="icon-user"></i> 人员管理</a></li>
|
||||
<li><a href="#" class="page-nav" data-id="auth-manage" data-href="./auth/manage.html" data-icon="icon-lock" data-reload="1"><i class="icon-lock"></i> 权限列表</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#"><i class="icon icon-window-alt"></i> 文档查看页面</a>
|
||||
<ul>
|
||||
<li><a href="#" class="page-nav" data-id="zyplayer-doc-db" data-href="../../doc-db.html" data-icon="icon-database" data-reload="1"><i class="icon-database"></i> 数据库文档</a></li>
|
||||
<li><a href="#" class="page-nav" data-id="zyplayer-doc-swagger" data-href="../../document.html" data-icon="icon-file-code" data-reload="1"><i class="icon-file-code"></i> zyplayer-doc-swagger</a></li>
|
||||
<li><a href="#" class="page-nav" data-id="swagger-bootstrap-ui" data-href="../../doc.html" data-icon="icon-file-code" data-reload="1"><i class="icon-file-code"></i> swagger-bootstrap-ui</a></li>
|
||||
<li><a href="#" class="page-nav" data-id="springfox-swagger-ui" data-href="../../swagger-ui.html" data-icon="icon-file-code" data-reload="1"><i class="icon-file-code"></i> springfox-swagger-ui</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#"><i class="icon icon-window-alt"></i> 独立文档页面</a>
|
||||
<ul>
|
||||
<li><a target="_blank" href="../../doc-db.html"><i class="icon-window"></i> 数据库文档</a></li>
|
||||
<li><a target="_blank" href="../../document.html"><i class="icon-window"></i> zyplayer-doc-swagger</a></li>
|
||||
<li><a target="_blank" href="../../doc.html"><i class="icon-window"></i> swagger-bootstrap-ui</a></li>
|
||||
<li><a target="_blank" href="../../swagger-ui.html"><i class="icon-window"></i> springfox-swagger-ui</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
@@ -78,11 +99,26 @@
|
||||
$("#rightContentMask").hide();
|
||||
}
|
||||
});
|
||||
|
||||
/**
|
||||
* 切换导航栏的隐藏或显示
|
||||
*/
|
||||
$("#changeContentWidth").click(function(){
|
||||
$("#leftContent").hide();
|
||||
$("#showLeftContent").show();
|
||||
changeContentWidth(0);
|
||||
});
|
||||
/**
|
||||
* 切换导航栏的隐藏或显示
|
||||
*/
|
||||
$("#showLeftContent").click(function(){
|
||||
$("#leftContent").show();
|
||||
$("#showLeftContent").hide();
|
||||
changeContentWidth(360);
|
||||
});
|
||||
/**
|
||||
* 页面导航切换
|
||||
*/
|
||||
$("#tabZpagesNavigationLi").on("click", ".page-nav", function(){
|
||||
$("#tabZpagesNavigationUl").on("click", ".page-nav", function(){
|
||||
var id = $(this).data("id");
|
||||
var href = $(this).data("href");
|
||||
var icon = $(this).data("icon");
|
||||
|
||||
@@ -221,6 +221,7 @@
|
||||
</script>
|
||||
|
||||
<style>
|
||||
body{padding: 10px;}
|
||||
.modal-table-box{height: 200px;overflow-y: auto;}
|
||||
.modal-table-box ul{padding-left: 10px;list-style: none;}
|
||||
.modal-table-box li{float: left; border: 1px solid #ccc;padding: 10px 15px; margin: 0 10px 10px 0; background-color: #ccc;cursor: pointer;}
|
||||
|
||||
Reference in New Issue
Block a user