-
-
-
-
-
-
-
-
-
-
+
+
-
加载中
-
初次加载会比较慢,请耐心等待
+
加载中
+
初次加载会比较慢,请耐心等待
diff --git a/package.json b/package.json
index d66deac3..84dbbf7b 100755
--- a/package.json
+++ b/package.json
@@ -23,10 +23,12 @@
"github-markdown-css": "^2.10.0",
"highlight.js": "^9.12.0",
"js-cookie": "^2.2.0",
+ "lodash.get": "^4.4.2",
"marked": "^0.3.9",
"mockjs": "^1.0.1-beta3",
"papaparse": "^4.3.6",
"particles.js": "^2.0.0",
+ "path-posix": "^1.0.0",
"quill": "^1.3.4",
"simplemde": "^1.11.2",
"timeago.js": "^3.0.2",
diff --git a/src/assets/style/fixed/element.scss b/src/assets/style/fixed/element.scss
index 185cadd1..be34caca 100644
--- a/src/assets/style/fixed/element.scss
+++ b/src/assets/style/fixed/element.scss
@@ -1 +1,13 @@
-// element 样式补丁
\ No newline at end of file
+// element 样式补丁
+
+.el-card {
+ box-shadow: none;
+ &:hover {
+ // box-shadow: 0 0 8px 0 rgba(232,237,250,.6), 0 2px 4px 0 rgba(232,237,250,.5);
+ box-shadow: none;
+ }
+}
+
+.el-menu--horizontal {
+ border-bottom: none;
+}
\ No newline at end of file
diff --git a/src/assets/style/theme/classic.scss b/src/assets/style/theme/classic.scss
deleted file mode 100644
index f1631be3..00000000
--- a/src/assets/style/theme/classic.scss
+++ /dev/null
@@ -1,129 +0,0 @@
-@import '~@/assets/style/public.scss';
-
-// 默认主题
-.layout-main {
- &.classic {
- height: 100vh;
- width: 100vw;
- background-color: #EFF4F8;
- // [全局设置]
- // 关闭所有卡片的阴影
- .el-card {
- box-shadow: none;
- &:hover {
- box-shadow: 0 0 8px 0 rgba(232,237,250,.6), 0 2px 4px 0 rgba(232,237,250,.5);
- }
- }
- // [布局]
- .el-header {
- padding: 0px;
- .logo-group {
- transition: width .3s;
- float: left;
- text-align: center;
- img {
- height: 60px;
- }
- }
- .toggle-sidemenu-btn {
- float: left;
- height: 60px;
- width: 60px;
- display: flex;
- justify-content: center;
- align-items: center;
- user-select: none;
- cursor: pointer;
- i {
- font-size: 20px;
- color: $color-text-normal;
- margin-top: 4px;
- &:hover {
- color: $color-primary;
- }
- }
- }
- // 顶栏菜单
- .el-menu {
- float: left;
- border-bottom: none;
- background-color: transparent;
- .el-menu-item {
- border-bottom: none;
- border-top: 2px solid #EFF4F8;
- &:hover {
- background-color: transparent;
- }
- &.is-active {
- border-bottom: none;
- border-top: 2px solid $color-primary;
- background-color: transparent;
- }
- }
- }
- // 顶栏右侧的按钮
- .btn-group {
- float: right;
- height: 60px;
- display: flex;
- align-items: center;
- .btn-text {
- color: $color-text-normal;
- }
- .el-dropdown {
- user-select: none;
- cursor: pointer;
- }
- }
- }
- // 顶栏下面
- .el-container {
- // 侧边栏
- .el-aside {
- transition: width .3s;
- overflow: inherit;
- .dd-side-menu-empty {
- background-color: rgba(#000, .03);
- margin: $margin;
- margin-top: 0px;
- border-radius: 4px;
- line-height: 100px;
- text-align: center;
- color: $color-text-sub;
- }
- .el-menu {
- background-color: transparent;
- border-right: none;
- &.el-menu--collapse {
- .el-submenu {
- .el-menu {
- background-color: transparent;
- }
- }
- .el-submenu__title {
- text-align: center;
- }
- }
- .el-menu-item {
- &:focus {
- background-color: rgba(#000, .05);
- }
- &:hover {
- background-color: rgba(#000, .05);
- }
- }
- .el-submenu__title {
- &:hover {
- background-color: rgba(#000, .05);
- }
- }
- }
- }
- .el-main {
- padding: 0px;
- position: relative;
- overflow: hidden;
- }
- }
- }
-}
diff --git a/src/assets/style/theme/star/index.scss b/src/assets/style/theme/star/index.scss
new file mode 100644
index 00000000..b8c4c0df
--- /dev/null
+++ b/src/assets/style/theme/star/index.scss
@@ -0,0 +1,132 @@
+@import '../theme.scss';
+
+$theme-name: 'star';
+$theme-bg-color: #EFF4F8;
+$theme-bg-image: '/static/image/bg/star.jpg';
+$theme-container-full-border-color: #d8dfea;
+
+.theme-#{$theme-name} {
+ .theme {
+ background-color: $theme-bg-color;
+ background-image: url($theme-bg-image);
+ background-size: cover;
+ background-position: center;
+ }
+ // 菜单项目
+ @mixin theme-menu-hover-style {
+ background-color: #eff4f8;
+ }
+ .el-submenu__title:hover {
+ @include theme-menu-hover-style;
+ }
+ .el-menu-item:hover {
+ @include theme-menu-hover-style;
+ }
+ .el-menu--horizontal .el-menu-item:not(.is-disabled):hover {
+ @include theme-menu-hover-style;
+ }
+ .el-menu--horizontal .el-menu .el-submenu__title:hover {
+ @include theme-menu-hover-style;
+ }
+ // [组件] dd-container-full
+ .dd-container-full {
+ .dd-container-full__header {
+ border-bottom: 1px solid $theme-container-full-border-color;
+ }
+ .dd-container-full__footer {
+ border-top: 1px solid $theme-container-full-border-color;
+ }
+ }
+ // 顶栏
+ .el-header {
+ // 切换按钮
+ .toggle-aside-btn {
+ i {
+ color: #FFF;
+ &:hover {
+ color: #FFF;
+ }
+ }
+ }
+ // 顶栏菜单
+ .el-menu {
+ .el-menu-item {
+ transition: border-top-color 0s;
+ color: #FFF;
+ &:hover {
+ background-color: rgba(#FFF, .3);
+ }
+ &:focus {
+ background-color: rgba(#FFF, .3);
+ }
+ &.is-active {
+ background-color: rgba(#000, .3);
+ }
+ }
+ .el-submenu {
+ .el-submenu__title {
+ transition: border-top-color 0s;
+ color: #FFF;
+ &:hover {
+ background-color: rgba(#FFF, .3);
+ }
+ &:focus {
+ background-color: rgba(#FFF, .3);
+ }
+ .el-submenu__icon-arrow {
+ color: #FFF;
+ }
+ }
+ }
+ }
+ // 顶栏右侧
+ .dd-header-right {
+ .btn-text {
+ color: #FFF;
+ }
+ .el-dropdown {
+ .el-dropdown-link {
+ color: #FFF;
+ }
+ }
+ }
+ }
+ // [布局] 顶栏下面
+ .el-container {
+ // 侧边栏
+ .el-aside {
+ // [菜单] 正常状态
+ .el-menu {
+ .el-menu-item {
+ color: #FFF;
+ &:hover {
+ background-color: rgba(#FFF, .3);
+ }
+ &:focus {
+ background-color: rgba(#FFF, .3);
+ }
+ i {
+ color: #FFF;
+ }
+ &.is-active {
+ background-color: rgba(#000, .3);
+ }
+ }
+ }
+ .el-submenu {
+ .el-submenu__title {
+ color: #FFF;
+ &:hover {
+ background-color: rgba(#FFF, .3);
+ }
+ i {
+ color: #FFF;
+ }
+ .el-submenu__icon-arrow {
+ color: #FFF;
+ }
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/src/assets/style/theme/theme.scss b/src/assets/style/theme/theme.scss
new file mode 100644
index 00000000..aa74877c
--- /dev/null
+++ b/src/assets/style/theme/theme.scss
@@ -0,0 +1,148 @@
+@import '~@/assets/style/public.scss';
+
+// 主题公用
+.theme {
+ height: 100vh;
+ width: 100vw;
+ // [布局] 顶栏
+ .el-header {
+ padding: 0px;
+ // logo区域
+ .logo-group {
+ transition: width .3s;
+ float: left;
+ text-align: center;
+ img {
+ height: 60px;
+ }
+ }
+ // 折叠侧边栏切换按钮
+ .toggle-aside-btn {
+ float: left;
+ height: 60px;
+ width: 60px;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ user-select: none;
+ cursor: pointer;
+ i {
+ font-size: 20px;
+ margin-top: 4px;
+ }
+ }
+ // [菜单] 顶栏
+ .el-menu {
+ float: left;
+ border-bottom: none;
+ background-color: transparent;
+ .el-menu-item {
+ border-bottom: none;
+ }
+ .el-submenu {
+ .el-submenu__title {
+ border-bottom: none;
+ }
+ }
+ }
+ // 顶栏右侧的按钮
+ .dd-header-right {
+ float: right;
+ height: 60px;
+ display: flex;
+ align-items: center;
+ .el-dropdown {
+ user-select: none;
+ cursor: pointer;
+ }
+ }
+ }
+ // [布局] 顶栏下面
+ .el-container {
+ // 侧边栏
+ .el-aside {
+ transition: width .3s;
+ overflow: inherit;
+ // 空菜单
+ .dd-side-menu-empty {
+ background-color: rgba(#000, .03);
+ margin: $margin;
+ margin-top: 0px;
+ border-radius: 4px;
+ line-height: 100px;
+ text-align: center;
+ color: $color-text-sub;
+ }
+ // [菜单] 正常状态
+ .el-menu {
+ background-color: transparent;
+ border-right: none;
+ .el-menu-item {
+ i {
+ margin-right: 5px;
+ font-size: 20px;
+ }
+ }
+ }
+ .el-submenu {
+ .el-submenu__title {
+ i {
+ margin-right: 5px;
+ font-size: 20px;
+ }
+ .el-submenu__icon-arrow {
+ margin-top: -10px;
+ }
+ }
+ }
+ // [菜单] 折叠状态
+ .el-menu--collapse {
+ background-color: transparent;
+ .el-submenu__title {
+ text-align: center;
+ }
+ }
+ }
+ .el-main {
+ padding: 0px;
+ position: relative;
+ overflow: hidden;
+ }
+ }
+ // [组件] dd-container-full
+ .dd-container-full {
+ position: absolute;
+ border-top-left-radius: 4px;
+ border-top-right-radius: 4px;
+ background-color: #FFF;
+ overflow: hidden;
+ color: #303133;
+ &:hover {
+ box-shadow: none;
+ }
+ .dd-container-full__header {
+ position: absolute;
+ top: 0px;
+ left: 0px;
+ width: 100%;
+ padding: 18px 20px;
+ box-sizing: border-box;
+ }
+ .dd-container-full__body {
+ position: absolute;
+ padding: 20px;
+ left: 0px;
+ right: 0px;
+ bottom: 0px;
+ overflow: auto;
+ }
+ .dd-container-full__footer {
+ position: absolute;
+ bottom: 0px;
+ left: 0px;
+ width: 100%;
+ padding: 18px 20px;
+ box-sizing: border-box;
+ }
+ }
+}
diff --git a/src/components/core/CardFull/index.vue b/src/components/core/CardFull/index.vue
deleted file mode 100644
index 76cf9ea6..00000000
--- a/src/components/core/CardFull/index.vue
+++ /dev/null
@@ -1,112 +0,0 @@
-
-
-
-
-
-
-
-
diff --git a/src/components/core/Container/index.vue b/src/components/core/Container/index.vue
index 1c19a0b0..39e5a90a 100644
--- a/src/components/core/Container/index.vue
+++ b/src/components/core/Container/index.vue
@@ -10,12 +10,12 @@