Commit 1058ef21 authored by ms group dev's avatar ms group dev
Browse files

Merge remote-tracking branch 'origin/4.7.2'

Conflicts:
	pom.xml
	src/main/java/net/mingsoft/config/WebConfig.java
parents f56bed37 25f194bb
UPDATE `model` SET `model_icon` = 'icon-neirongguanli' WHERE `model_id` = 1;
UPDATE `model` SET `model_icon` = 'icon-huiyuanzhongxin' WHERE `model_id` = 22;
UPDATE `model` SET `model_icon` = 'icon-quanxianguanli' WHERE `model_id` = 23;
UPDATE `model` SET `model_icon` = 'icon-xitongguanli' WHERE `model_id` = 84;
UPDATE `model` SET `model_icon` = 'icon-zidingyiguanli' WHERE `model_id` = 104;
UPDATE `mdiy_tag_sql` SET `tag_sql`='<#assign _typeid=\"\"/>\r\n<#if column?? && column.categoryId gt 0>\r\n <#assign _typeid=\"${column.categoryId}\">\r\n</#if>\r\n<#if typeid??>\r\n <#assign _typeid=\"${typeid}\">\r\n</#if>\r\nselect \r\n @rownum := @rownum + 1 AS typeindex,\r\n category_id as id,\r\n category_id as typeid,\r\n category_title as typetitle,\r\n (select count(*) from category c where c.category_categoryid=typeid and c.del=0) as childsize,\r\n <#--返回父id集合-->\r\n category_parent_id as pids,\r\n <#--栏目选中的样式-->\r\n IF(<#if column?? && column.categoryId gt 0>${column.categoryId}<#else>${_typeid}</#if> = category_id ,\"${class!\'\'}\",\"\") as class,\r\n <#--动态链接-->\r\n <#if isDo?? && isDo>\r\n CONCAT(\"/${modelName}/list.do?typeid=\", category_id) as typelink,\r\n <#else>\r\n CONCAT(column_path,\"/index.html\") as typelink,\r\n </#if>\r\n column_keyword as typekeyword,\r\n column_diy_url as typeurl,\r\n column_flag as flag,\r\n column_descrip as typedescrip,\r\n category_smallimg as typelitpic \r\n from (SELECT @rownum := 0) r,category \r\n LEFT JOIN basic_column bc on bc.column_category_id=category.category_id where \r\n category.del=0 \r\n <#--根据站点编号查询-->\r\n <#if appId?? >\r\n and category.category_appid=${appId}\r\n </#if>\r\n <#--根据模块编号查询分类-->\r\n <#if column?? && column.categoryModelId?has_content>\r\n and category_modelid=${column.categoryModelId}\r\n </#if>\r\n <#--栏目属性-->\r\n <#if flag?? && flag != \'\'>\r\n and bc.column_flag like CONCAT(\'%\',\'${flag}\',\'%\') \r\n </#if>\r\n <#if noflag?? && noflag != \'\'>\r\n and bc.column_flag not like CONCAT(\'%\',\'${noflag}\',\'%\') \r\n </#if>\r\n<#if type?has_content>\r\n <#--顶级栏目(单个)-->\r\n <#if type==\"top\">\r\n and category_id=(select left(category_parent_id,LOCATE(\",\",category_parent_id)-1) from category where category_id = ${_typeid})\r\n <#elseif type==\"nav\">\r\n and(category_categoryid=0 or category_categoryid is null)\r\n <#--同级栏目(多个)-->\r\n <#elseif type==\"level\">\r\n and\r\n <#if _typeid?has_content>\r\n category_categoryid=(select category_categoryid from category where category_id=${_typeid})\r\n <#else>\r\n 1=1\r\n </#if>\r\n <#--当前栏目(单个)-->\r\n <#elseif type==\"self\">\r\n and \r\n <#if _typeid?has_content>\r\n category_id=${_typeid}\r\n <#else>\r\n 1=1\r\n </#if>\r\n <#--当前栏目的所属栏目(多个)-->\r\n <#elseif type==\"path\">\r\n and \r\n <#if _typeid?has_content>\r\n category_id in (<#if column?? && column.categoryParentId??>${column.categoryParentId},</#if>${_typeid})\r\n <#else>\r\n 1=1\r\n </#if>\r\n <#--子栏目(多个)-->\r\n <#elseif type==\"son\">\r\n and \r\n <#if _typeid?has_content>\r\n category_categoryid=${_typeid}\r\n <#else>\r\n 1=1\r\n </#if>\r\n <#--上一级栏目没有则取当前栏目(单个)-->\r\n <#elseif type==\"parent\">\r\n and \r\n <#if _typeid?has_content>\r\n <#if column?? && column.categoryCategoryId?? && column.categoryCategoryId!=0>\r\n category_id=${column.categoryCategoryId}\r\n <#else>\r\n category_id=${_typeid}\r\n </#if>\r\n <#else>\r\n 1=1\r\n </#if>\r\n <#--子栏目或同级栏目(多个)-->\r\n <#elseif type==\"sonOrLevel\">\r\n and \r\n <#if _typeid?has_content>\r\n category_categoryid= if((SELECT count(*) FROM category\r\n LEFT JOIN basic_column bc ON bc.column_category_id = category.category_id \r\n WHERE category_categoryid=${_typeid})>0,${_typeid},(select category_categoryid from category where category_id=${_typeid}))\r\n <#else>\r\n 1=1\r\n </#if>\r\n </#if>\r\n<#else> <#--默认son-->\r\n and\r\n <#if _typeid?has_content>\r\n category_categoryid=${_typeid}\r\n <#else>\r\n (category_categoryid=0 or category_categoryid is null)\r\n </#if>\r\n</#if>\r\n<#if order?? >\r\n <#if order==\"desc\"> desc</#if>\r\n <#if order==\"asc\"> asc</#if>\r\n </#if>' WHERE (`id`='6')
\ No newline at end of file
This source diff could not be displayed because it is too large. You can view the blob instead.
......@@ -5,7 +5,7 @@
<modelVersion>4.0.0</modelVersion>
<groupId>net.mingsoft</groupId>
<artifactId>mcms</artifactId>
<version>4.7.1</version>
<version>4.7.2</version>
<name>ms-mcms</name>
<properties>
<java.version>1.8</java.version>
......@@ -38,12 +38,12 @@
<dependency>
<groupId>net.mingsoft</groupId>
<artifactId>ms-basic</artifactId>
<version>1.0.11</version>
<version>1.0.16</version>
</dependency>
<dependency>
<groupId>net.mingsoft</groupId>
<artifactId>ms-mpeople</artifactId>
<version>1.0.8</version>
<version>1.0.11</version>
</dependency>
<!-- 此部分是铭飞平台MStroe的客户端(MStore不在铭飞开源产品范围),如果不需要使用MStore可以删除掉 -->
<dependency>
......
......@@ -535,6 +535,7 @@ public class ArticleAction extends BaseAction {
}
model.addAttribute("columnType", columnType);
model.addAttribute("categoryId", column.getCategoryId());// 编辑封面
model.addAttribute("websiteId", BasicUtil.getAppId());
return "/cms/article/article_form";
} else {// 非法
// return "/cms/article/article_form");
......
......@@ -93,6 +93,8 @@ public class ColumnAction extends BaseAction{
model.addAttribute("column",new ColumnEntity());
model.addAttribute("listColumn", JSONArray.toJSONString(list));
model.addAttribute("model", "cms");
model.addAttribute("websiteId", appId);
return "/basic/column/form";
}
......@@ -216,6 +218,7 @@ public class ColumnAction extends BaseAction{
model.addAttribute("columnSuper", columnSuper);
model.addAttribute("listColumn", JSONArray.toJSONString(list));
model.addAttribute("model", "cms");
model.addAttribute("websiteId", appId);
return "/basic/column/form";
}
......
package net.mingsoft.config;
import java.io.File;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import org.springframework.aop.Advisor;
import net.mingsoft.basic.filter.XSSEscapeFilter;
import org.springframework.aop.support.DefaultPointcutAdvisor;
import org.springframework.aop.support.JdkRegexpMethodPointcut;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.web.servlet.FilterRegistrationBean;
import org.springframework.boot.web.servlet.ServletListenerRegistrationBean;
import org.springframework.boot.web.servlet.ServletRegistrationBean;
......@@ -31,6 +34,16 @@ import net.mingsoft.basic.util.BasicUtil;
@Configuration
public class WebConfig implements WebMvcConfigurer {
/**
* 上传路径
*/
@Value("${ms.upload.path}")
private String uploadFloderPath;
/**
* 上传路径映射
*/
@Value("${ms.upload.mapping}")
private String uploadMapping;
@Bean
public ActionInterceptor actionInterceptor() {
return new ActionInterceptor();
......@@ -54,14 +67,21 @@ public class WebConfig implements WebMvcConfigurer {
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("/upload/**").addResourceLocations("/upload/","file:upload/");
registry.addResourceHandler("/templets/**").addResourceLocations("/templets/","file:templets/");
registry.addResourceHandler("/html/**").addResourceLocations("/html/","file:html/");
//三种映射方式 webapp下、当前目录下、jar内
registry.addResourceHandler("/app/**").addResourceLocations("/app/","file:app/", "classpath:/app/");
registry.addResourceHandler("/static/**","/**").addResourceLocations("/static/","file:static/","classpath:/static/");
registry.addResourceHandler("/static/**","/**").addResourceLocations("/static/","file:static/","classpath:/static/","classpath:/META-INF/resources/");
registry.addResourceHandler("/api/**").addResourceLocations("/api/","file:api/", "classpath:/api/");
if(new File(uploadFloderPath).isAbsolute()){
//如果指定了绝对路径,上传的文件都映射到uploadMapping下
registry.addResourceHandler(uploadMapping).addResourceLocations("file:"+uploadFloderPath+ File.separator
//映射其他路径文件
//,file:F://images
);
}
}
/**
* druidServlet注册
......@@ -127,16 +147,17 @@ public class WebConfig implements WebMvcConfigurer {
return new DefaultPointcutAdvisor(druidStatPointcut(), druidStatInterceptor());
}
/**
* xssFilter注册
*/
// @Bean
// public FilterRegistrationBean xssFilterRegistration() {
// XSSEscapeFilter xssFilter = new XSSEscapeFilter();
// FilterRegistrationBean registration = new FilterRegistrationBean(xssFilter);
// registration.addUrlPatterns("/*");
// return registration;
// }
@Bean
public FilterRegistrationBean xssFilterRegistration() {
XSSEscapeFilter xssFilter = new XSSEscapeFilter();
FilterRegistrationBean registration = new FilterRegistrationBean(xssFilter);
xssFilter.excludes.add(".*file/upload.do");
xssFilter.excludes.add(".*/jsp/editor.do");
xssFilter.excludes.add(".*/?(jpg|js|css|gif|png|ico)$");
xssFilter.excludes.add("/");
registration.addUrlPatterns("/*");
return registration;
}
/**
* RequestContextListener注册
......@@ -151,7 +172,7 @@ public class WebConfig implements WebMvcConfigurer {
@Override
public void addViewControllers(ViewControllerRegistry registry) {
registry.addViewController("/").setViewName("forward:/index");
registry.setOrder(Ordered.HIGHEST_PRECEDENCE);
registry.setOrder(Ordered.HIGHEST_PRECEDENCE);
WebMvcConfigurer.super.addViewControllers(registry);
}
}
server:
port: 8080
servlet.context-path: /ms-mcms
servlet.session.timeout: 60M
logging:
level:
net.mingsoft: trace
ms:
manager:
path: /ms
view-path: /WEB-INF/manager
upload:
path: /upload
denied: .exe,.jsp
allowed: jpg
max-size: 1
memory-size: 4096
spring:
http.multipart.enabled: false
profiles:
active: dev
mvc:
pathmatch:
use-suffix-pattern: true
devtools:
restart:
enabled: true
additional-paths: src/main/java
exclude: static/**,WEB-INF/**
servlet:
multipart:
max-request-size: 100MB
enabled: false
freemarker:
suffix: .ftl
charset: UTF-8
content-type: text/html
allow-request-override: true
allow-session-override: true
expose-request-attributes: true
expose-session-attributes: true
expose-spring-macro-helpers: true
prefer-file-system-access: false
template-loader-path: classpath:/WEB-INF/manager,classpath:/WEB-INF
settings:
template_update_delay: 1
default_encoding: UTF-8
classic_compatible: true
date_format: yyyy-MM-dd
time_format: HH:mm:ss
datetime_format: yyyy-MM-dd HH:mm:ss
auto_import: /include/macro.ftl as ms
mybatis:
mapper-locations: classpath*:**/dao/*.xml
configuration:
server:
port: 8080
servlet.context-path: /ms-mcms
servlet.session.timeout: 60M
logging:
level:
net.mingsoft: trace
ms:
manager:
path: /ms
view-path: /WEB-INF/manager
upload:
path: upload
mapping: /upload/**
denied: .exe,.jsp
multipart:
#最大上传文件大小 单位:KB
max-file-size: 10240
#文件暂存临时目录
upload-temp-dir: temp
#临时文件大小
max-in-memory-size: 10240
#总上传最大大小 单位:KB -1禁用
max-request-size: -1
spring:
profiles:
active: dev
mvc:
pathmatch:
use-suffix-pattern: true
devtools:
restart:
enabled: true
additional-paths: src/main/java
exclude: static/**,WEB-INF/**
servlet:
multipart:
max-request-size: 100MB
enabled: false
freemarker:
suffix: .ftl
charset: UTF-8
content-type: text/html
allow-request-override: true
allow-session-override: true
expose-request-attributes: true
expose-session-attributes: true
expose-spring-macro-helpers: true
prefer-file-system-access: false
template-loader-path: classpath:/WEB-INF/manager,classpath:/WEB-INF
settings:
template_update_delay: 1
default_encoding: UTF-8
classic_compatible: true
date_format: yyyy-MM-dd
time_format: HH:mm:ss
datetime_format: yyyy-MM-dd HH:mm:ss
auto_import: /include/macro.ftl as ms
number_format: 0.##
mybatis:
mapper-locations: classpath*:**/dao/*.xml
configuration:
database-id: mysql
\ No newline at end of file
......@@ -18,7 +18,7 @@
listKey="id" listValue="value" label="是否显示" help="选择否后前端将不显示,需要重新生成才有效果"
/>
<@ms.formRow colSm="2" label="文章缩略图" width="400" >
<@ms.uploadImg path="article" uploadFloderPath="${articleImagesUrl?default('')}" inputName="basicThumbnails" size="1" msg="提示:文章缩略图,支持jpg格式" imgs="${article.basicThumbnails?default('')}" />
<@ms.uploadImg path="${websiteId}/article" inputName="basicThumbnails" size="1" msg="提示:文章缩略图,支持jpg格式" imgs="${article.basicThumbnails?default('')}" />
</@ms.formRow>
<@ms.text name="articleSource" colSm="2" width="200" label="文章来源" title="文章来源" size="5" placeholder="请输入文章来源" value="${article.articleSource?default('')}" validation={"maxlength":"300", "data-bv-stringlength-message":"文章来源在300个字符以内!"} />
<@ms.text name="articleAuthor" colSm="2" width="200" label="文章作者" title="文章作者" size="5" placeholder="请输入文章作者" value="${article.articleAuthor?default('')}" validation={"maxlength":"12", "data-bv-stringlength-message":"文章作者在12个字符以内!"} />
......
This diff is collapsed.
This diff is collapsed.
body {
margin: 0;
padding: 0;
background: #eee !important;
}
a:link,a:visited,a:active{text-decoration: none; color:#409EFF;}
.ms-container {
margin: 12px;
height: 100%;
padding: 14px 14px 0 14px;
background: #fff;
}
.ms-header {
padding: 10px;
margin: 0;
border-bottom: 1px solid #ddd;
background: #fff;
height: 50px
}
.ms-pagination {
padding: 20px 0;
text-align: right;
}
.ms-fr {
float: right;
}
.ms-tr {
text-align: right;
}
.el-button+.el-button {
margin-left: 0
}
.ms-select{
display: block;
}
.ms-datetimerange{
width: 100% !important;
}
#index .ms-search{
padding: 20px 0;
background: #fff;
}
#index .ms-search .ms-search-footer{
line-height: 60px;
text-align: center;
}
#index .ms-table-pagination {
height: calc(100% - 75px);
}
#myPageTop {
width: 252px;
}
#myPageTop input {
width: 242px;
}
#form .iconfont {
font-size: 12px;
margin-right: 5px;
}
#form .ms-container{
height:calc(100vh - 74px);
}
#index .ms-container{
height: calc(100vh - 74px);
}
[v-cloak]{
display: none;
}
\ No newline at end of file
/*
*这里的值严格按照UI设计图标注值来进行设置
*/
/*
*颜色
*/
/*
*页面的边距
*/
/*
*字体
*/
/*
*头像
*/
/*
* 按钮
*/
/*
*对常见的多行样式进行了方法封装,方便调用,加快开发效率
*/
html,
body {
min-height: 100vh;
width: 100vw;
background-color: #eee;
margin: 0;
display: flex;
font-weight: initial !important;
font-size: 14px !important;
color: #333 !important;
}
html *,
body * {
text-decoration: none !important;
font-family: Verdana, Arial, Helvetica, sans-serif;
box-sizing: border-box;
}
.ms-ellipsis {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
display: block;
}
.ms-align-center {
display: flex;
align-items: center;
}
input::-webkit-input-placeholder,
textarea::-webkit-input-placeholder {
font-weight: initial;
font-size: 12px;
color: #999;
resize: none;
}
*::-webkit-scrollbar {
width: 8px;
height: 8px;
}
/*定义滚动条轨道 内阴影+圆角*/
*::-webkit-scrollbar-track {
border-radius: 10px;
/*滚动条的背景区域的圆角*/
background-color: #eee;
/*滚动条的背景颜色*/
}
/*定义滑块 内阴影+圆角*/
*::-webkit-scrollbar-thumb {
border-radius: 10px;
/*滚动条的圆角*/
background-color: #e6e6e6;
/*滚动条的背景颜色*/
}
.ms-container {
margin: 12px;
height: calc(100% - 24px);
padding: 14px;
background: #fff;
}
.ms-header {
padding: 10px;
margin: 0;
border-bottom: 1px solid #ddd;
background: #fff;
height: 50px;
}
.ms-header button {
height: 30px;
}
.ms-pagination {
padding: 20px 0;
text-align: right;
}
.ms-fr {
float: right;
}
.ms-tr {
text-align: right;
}
.ms-weixin-content {
width: calc(100% - 140px);
}
.ms-weixin-dialog .el-dialog__header {
height: 55px;
box-sizing: border-box;
padding: 10px 10px 25px 10px;
border-bottom: 1px solid #e6e6e6;
}
.ms-weixin-dialog .el-dialog__header .el-dialog__title {
font-weight: bold;
font-size: 14px;
color: #333;
}
.ms-weixin-dialog .el-dialog__footer {
border-top: 1px solid #e6e6e6;
padding: 15px !important;
}
.ms-hover {
cursor: pointer;
}
.ms-hover:hover {
color: #0099ff;
background: #fff;
border-color: #0099ff;
}
.ms-header-select {
font-size: 0;
}
.ms-header-select > .el-select:nth-of-type(2) {
margin: 0 10px;
}
.el-submenu .el-menu-item.is-active {
border-radius: 4px;
}
.el-card,
.el-message {
border-radius: 0 !important;
}
.sortable-ghost {
opacity: .3;
background: #ccc !important;
border-color: transparent !important;
color: transparent !important;
}
.sortable-ghost * {
background: #ccc !important;
border-color: transparent !important;
color: transparent !important;
}
.index {
width: 100%;
display: flex;
}
.ms-admin-header {
display: flex;
padding: 0;
background-color: #0099ff;
height: 50px !important;
}
.ms-admin-header .ms-admin-header-menu {
background-color: #0099ff;
border-bottom: none;
position: relative;
}
.ms-admin-header .ms-admin-header-menu > .ms-admin-menu-item > *,
.ms-admin-header .ms-admin-header-menu > .ms-admin-menu-item {
height: 50px !important;
line-height: 50px !important;
background-color: #0099ff !important;
color: rgba(255, 255, 255, 0.65) !important;
border-bottom: none !important;
font-size: 1em;
}
.ms-admin-header .ms-admin-header-menu > .ms-admin-menu-item > *:hover,
.ms-admin-header .ms-admin-header-menu > .ms-admin-menu-item:hover {
color: #fff !important;
}
.ms-admin-header .ms-admin-header-menu > .ms-admin-menu-item > *.is-active,
.ms-admin-header .ms-admin-header-menu > .ms-admin-menu-item.is-active {
color: #fff !important;
}
.ms-admin-header .ms-admin-header-menu .ms-admin-shortcut-menu {
padding: 0;
user-select: none;
outline: none;
width: 100%;
min-width: 500px;
min-height: 200px;
background-color: #fff !important;
height: auto;
flex-wrap: wrap;
position: absolute;
right: 0;
top: 0;
z-index: 9;
background: #ffffff;
border: 1px solid #e6e6e6;
box-shadow: 2px 3px 5px 0.1px rgba(0, 0, 0, 0.1);
}
.ms-admin-header .ms-admin-header-menu .ms-admin-shortcut-menu > li {
margin: 0;
padding: 0 20px;
text-align: left;
display: -webkit-inline-box;
display: inline-block;
height: 50px;
line-height: 50px;
font-weight: normal;
font-size: 14px;
color: #333;
}
.ms-admin-header .ms-admin-header-menu .ms-admin-shortcut-menu > li:hover {
cursor: pointer;
color: #0099ff;
}
.ms-admin-header .ms-admin-header-menu .ms-admin-shortcut-menu i {
position: absolute;
top: 18px;
right: 19px;
font-weight: normal;
font-size: 14px;
color: #333;
}
.ms-admin-header .ms-admin-header-menu .ms-admin-shortcut-menu i:hover {
cursor: pointer;
}
.ms-admin-logo {
min-width: 200px;
width: 200px;
display: flex;
align-items: center;
overflow: hidden;
}
.ms-admin-logo > img {
padding: 20px 0 20px 20px;
width: 80px;
}
.ms-admin-logo > div {
display: flex;
align-items: center;
}
.ms-admin-logo > div img {
margin-top: -10px;
margin-left: 3px;
}
.ms-admin-logo > div span {
margin-top: -6px;
position: absolute;
margin-left: 10px;
font-size: 12px;
}
.ms-admin-logo .iconfont {
color: #fff;
margin-left: auto;
margin-right: 20px;
cursor: pointer;
}
.ms-admin-mstore {
margin-left: auto;
min-width: 200px;
display: flex;
align-items: center;
justify-content: flex-end;
padding: 0;
line-height: 1;
}
.ms-admin-mstore .ms-admin-people-head {
width: 30px !important;
height: 30px !important;
margin-right: 10px;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
background: #fff;
color: #0099ff;
}
.ms-admin-mstore .ms-admin-mstore-icon {
min-width: 50px;
width: 50px;
height: 50px;
background-color: #0080FF;
display: flex;
justify-content: center;
cursor: pointer;
}
.ms-admin-mstore .ms-admin-mstore-icon span {
border-radius: 50%;
font-weight: initial;
font-size: 12px;
color: #fff;
background: #f00;
position: absolute;
width: 1.2em;
height: 1.2em;
display: flex;
align-items: center;
justify-content: center;
top: 0.6em;
right: 0.6em;
z-index: 2;
}
.ms-admin-mstore .ms-admin-mstore-icon .iconfont {
color: #fff;
animation: rubberBand 1.4s 1s both infinite;
font-size: 1.5em;
}
.ms-admin-login {
display: flex;
align-items: center;
}
.ms-admin-login > span {
width: 130px;
padding: 0 15px;
height: 50px;
display: flex;
align-items: center;
cursor: pointer;
outline: none;
}
.ms-admin-login > span img {
border-radius: 50%;
width: 20px;
height: 20px;
margin-right: 8px;
}
.ms-admin-login > span span {
color: #fff;
}
.ms-admin-login .active {
background: #fff;
}
.ms-admin-login .active .ms-admin-people-head {
background: #0099ff;
color: #fff;
}
.ms-admin-login .active span {
color: #333;
}
.ms-admin-login-down {
width: 130px;
padding: 0 15px;
border: none;
margin: 0 !important;
padding: 0 !important;
border-radius: 0;
box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.1);
}
.ms-admin-login-down > .popper__arrow {
display: none;
}
.ms-admin-menu-aside {
width: 200px !important;
height: 100%;
position: relative;
overflow: visible;
}
.ms-admin-menu-aside .ms-admin-menu {
width: 200px;
height: 100%;
position: relative;
}
.ms-admin-menu-aside .ms-admin-menu .el-menu--inline .is-active {
border-left: 2px solid #0099ff;
}
.ms-admin-menu-aside .ms-admin-menu .ms-admin-icon {
font-weight: initial;
font-size: 1.5em;
color: #999;
}
.ms-admin-menu-aside .ms-menu-expand {
transform: rotate(270deg);
position: absolute;
right: -34px;
top: 50%;
z-index: 999;
cursor: pointer;
display: flex;
flex-direction: column;
}
.ms-admin-menu-aside .ms-menu-expand i {
font-weight: bolder;
font-size: 14px;
color: #333;
position: absolute;
transform: rotate(90deg);
right: 40%;
}
.ms-admin-menu-aside .ms-menu-expand::before {
border-color: transparent transparent #eee;
border-style: none solid solid;
border-width: 0 30px 22px;
content: "";
display: block;
height: 0;
left: -10px;
width: 30px;
}
.ms-admin-menu-aside .ms-menu-expand {
transition: right .3s;
}
.ms-admin-menu-aside .ms-menu-expand-active {
transform: rotate(90deg);
right: -56px;
}
.ms-admin-menu-aside .ms-admin-menu-active {
width: 60px;
height: 100%;
}
.ms-admin-menu-aside-active {
width: 60px !important;
}
.ms-admin-container {
height: calc(100vh - 60px);
}
.ms-admin-container > .ms-admin-main {
padding: 0;
background-color: #fff;
}
.ms-admin-container > .ms-admin-main .ms-admin-tabs {
height: 100%;
display: flex;
flex-direction: column;
}
.ms-admin-container > .ms-admin-main .ms-admin-tabs .el-tabs__content {
height: 100%;
}
.ms-admin-container > .ms-admin-main .ms-admin-tabs .el-tabs__content .el-tab-pane {
height: 100%;
}
.ms-admin-container > .ms-admin-main .ms-admin-tabs .el-tabs__header {
background: #fafafa;
margin-bottom: 0;
}
.ms-admin-container > .ms-admin-main .ms-admin-tabs .el-tabs__header .el-tabs__nav-scroll .el-tabs__nav {
border-left: none;
border-radius: 0;
}
.ms-admin-container > .ms-admin-main .ms-admin-tabs .ms-admin-refresh {
float: right;
width: 40px;
height: 40px;
text-align: center;
border-left: 1px solid #e6e6e6;
cursor: pointer;
position: relative;
}
.ms-admin-container > .ms-admin-main .ms-admin-tabs .ms-admin-refresh::before {
position: absolute;
left: 34%;
top: 50%;
transform: translateY(-50%);
color: #999;
}
.ms-admin-container > .ms-admin-main .ms-admin-tabs .el-tabs__nav-next,
.ms-admin-container > .ms-admin-main .ms-admin-tabs .el-tabs__nav-prev {
width: 40px;
height: 40px;
display: flex;
justify-content: center;
align-items: center;
}
.ms-admin-container > .ms-admin-main .ms-admin-tabs .el-tabs__nav-next {
border-left: 1px solid #e6e6e6;
}
.ms-admin-container > .ms-admin-main .ms-admin-tabs .el-tabs__nav-prev {
border-right: 1px solid #e6e6e6;
}
.ms-admin-container > .ms-admin-main iframe {
width: 100%;
height: 100%;
border: none !important;
}
@keyframes rubberBand {
0 {
-webkit-transform: scale3d(1, 1, 1);
transform: scale3d(1, 1, 1);
}
10% {
-webkit-transform: scale3d(1.25, 0.75, 1);
transform: scale3d(1.25, 0.75, 1);
}
20% {
-webkit-transform: scale3d(0.75, 1.25, 1);
transform: scale3d(0.75, 1.25, 1);
}
30% {
-webkit-transform: scale3d(1.15, 0.85, 1);
transform: scale3d(1.15, 0.85, 1);
}
40% {
-webkit-transform: scale3d(0.95, 1.05, 1);
transform: scale3d(0.95, 1.05, 1);
}
50% {
-webkit-transform: scale3d(1.05, 0.95, 1);
transform: scale3d(1.05, 0.95, 1);
}
51% {
-webkit-transform: scale3d(1, 1, 1);
transform: scale3d(1, 1, 1);
}
}
.el-scrollbar__wrap{overflow-x:hidden;}
.el-scrollbar {
position: static;
}
[v-cloak] {
display: none;
}
\ No newline at end of file
/*
*这里的值严格按照UI设计图标注值来进行设置
*/
/*
*颜色
*/
/*
*页面的边距
*/
/*
*字体
*/
/*
*头像
*/
/*
* 按钮
*/
/*
*对常见的多行样式进行了方法封装,方便调用,加快开发效率
*/
html,
body {
min-height: 100vh;
width: 100vw;
background-color: #eee;
margin: 0;
display: flex;
font-weight: initial !important;
font-size: 14px !important;
color: #333 !important;
}
html *,
body * {
text-decoration: none !important;
font-family: Verdana, Arial, Helvetica, sans-serif;
box-sizing: border-box;
}
.ms-ellipsis {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
display: block;
}
.ms-align-center {
display: flex;
align-items: center;
}
input::-webkit-input-placeholder,
textarea::-webkit-input-placeholder {
font-weight: initial;
font-size: 12px;
color: #aaa;
resize: none;
}
*::-webkit-scrollbar {
width: 8px;
height: 8px;
}
/*定义滚动条轨道 内阴影+圆角*/
*::-webkit-scrollbar-track {
border-radius: 10px;
/*滚动条的背景区域的圆角*/
background-color: #eee;
/*滚动条的背景颜色*/
}
/*定义滑块 内阴影+圆角*/
*::-webkit-scrollbar-thumb {
border-radius: 10px;
/*滚动条的圆角*/
background-color: #ddd;
/*滚动条的背景颜色*/
}
.ms-container {
margin: 12px;
height: calc(100% - 24px);
padding: 14px 14px 0 14px;
background: #fff;
}
.ms-header {
padding: 10px;
margin: 0;
border-bottom: 1px solid #ddd;
background: #fff;
height: 50px;
}
.ms-pagination {
padding: 20px 0;
text-align: right;
}
.ms-fr {
float: right;
}
.ms-tr {
text-align: right;
}
.ms-weixin-content {
width: calc(100% - 140px);
}
.ms-weixin-dialog .el-dialog__header {
height: 55px;
box-sizing: border-box;
padding: 10px 10px 25px 10px;
border-bottom: 1px solid #ddd;
}
.ms-weixin-dialog .el-dialog__header .el-dialog__title {
font-weight: bold;
font-size: 14px;
color: #333;
}
.ms-weixin-dialog .el-dialog__footer {
border-top: 1px solid #ddd;
padding: 15px !important;
}
.login {
width: 100vw;
height: 100vh;
}
.login .ms-admin-login-container {
height: 100%;
background: url('../images/login-bg.jpg') center no-repeat;
background-size: cover;
}
.login .ms-admin-login-container .ms-admin-login-main {
display: flex;
justify-content: center;
align-items: center;
}
.login .ms-admin-login-container .ms-admin-login-main .ms-admin-login-warp {
display: flex;
justify-content: center;
align-items: center;
width: 680px;
height: 320px;
}
.login .ms-admin-login-container .ms-admin-login-main .ms-admin-login-warp > img {
flex: 1;
display: inline-block;
}
.login .ms-admin-login-container .ms-admin-login-main .ms-admin-login-warp .ms-admin-login-form {
flex: 1;
height: 320px;
background: #fff;
padding: 20px 54px;
}
.login .ms-admin-login-container .ms-admin-login-main .ms-admin-login-warp .ms-admin-login-form h1 {
line-height: 1;
font-weight: initial;
font-size: 12px;
color: #999999;
margin: 0 0 20px 0;
}
.login .ms-admin-login-container .ms-admin-login-main .ms-admin-login-warp .ms-admin-login-form h1 span {
font-weight: initial;
font-size: 16px;
color: #0099ff;
}
.login .ms-admin-login-container .ms-admin-login-main .ms-admin-login-warp .ms-admin-login-form .ms-admin-form-item {
margin-bottom: 20px;
}
.login .ms-admin-login-container .ms-admin-login-main .ms-admin-login-warp .ms-admin-login-form .ms-admin-form-item > div {
margin-left: 0 !important;
}
.login .ms-admin-login-container .ms-admin-login-main .ms-admin-login-warp .ms-admin-login-form .ms-admin-form-item .el-form-item__content,
.login .ms-admin-login-container .ms-admin-login-main .ms-admin-login-warp .ms-admin-login-form .ms-admin-form-item .el-input,
.login .ms-admin-login-container .ms-admin-login-main .ms-admin-login-warp .ms-admin-login-form .ms-admin-form-item input {
height: 34px !important;
line-height: 34px !important;
}
.login .ms-admin-login-container .ms-admin-login-main .ms-admin-login-warp .ms-admin-login-form .ms-admin-form-item-code .el-form-item__content {
display: flex;
justify-content: space-between;
}
.login .ms-admin-login-container .ms-admin-login-main .ms-admin-login-warp .ms-admin-login-form .ms-admin-form-item-code .el-form-item__content .el-input__inner,
.login .ms-admin-login-container .ms-admin-login-main .ms-admin-login-warp .ms-admin-login-form .ms-admin-form-item-code .el-form-item__content .el-input {
width: 110px;
}
.login .ms-admin-login-container .ms-admin-login-main .ms-admin-login-warp .ms-admin-login-form .ms-admin-form-item-code .el-form-item__content > img {
width: 66px;
height: 34px;
margin: 0 6px;
}
.login .ms-admin-login-container .ms-admin-login-main .ms-admin-login-warp .ms-admin-login-form .ms-admin-form-item-code .el-form-item__content p {
display: flex;
justify-content: space-between;
line-height: 1;
flex-direction: column;
margin: 0;
}
.login .ms-admin-login-container .ms-admin-login-main .ms-admin-login-warp .ms-admin-login-form .ms-admin-form-item-code .el-form-item__content p span:nth-of-type(1) {
font-weight: initial;
font-size: 10px;
color: #999999;
}
.login .ms-admin-login-container .ms-admin-login-main .ms-admin-login-warp .ms-admin-login-form .ms-admin-form-item-code .el-form-item__content p span:nth-of-type(2) {
font-weight: initial;
font-size: 10px;
color: #0099ff;
cursor: pointer;
}
.login .ms-admin-login-container .ms-admin-login-main .ms-admin-login-warp .ms-admin-login-form .ms-admin-form-item-checkout .el-form-item__content,
.login .ms-admin-login-container .ms-admin-login-main .ms-admin-login-warp .ms-admin-login-form .ms-admin-form-item-checkout .el-input,
.login .ms-admin-login-container .ms-admin-login-main .ms-admin-login-warp .ms-admin-login-form .ms-admin-form-item-checkout input {
height: auto !important;
line-height: 1px !important;
}
.login .ms-admin-login-container .ms-admin-login-main .ms-admin-login-warp .ms-admin-login-form .ms-admin-login-btn {
width: 100%;
height: 34px;
line-height: 5px;
}
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment