inleft
2022-01-21 b505f3648a10dd998ae9fe7a6edb1bf125d7d6a6
主页结构调整
2 files added
10 files modified
1235 ■■■■ changed files
src/App.vue 1 ●●●● patch | view | raw | blame | history
src/assets/md.less 847 ●●●● patch | view | raw | blame | history
src/components/fixed/header.vue 63 ●●●●● patch | view | raw | blame | history
src/components/group/MyModal.vue 75 ●●●●● patch | view | raw | blame | history
src/components/group/articleListScorll.vue 6 ●●●●● patch | view | raw | blame | history
src/components/group/boxRight.vue 8 ●●●● patch | view | raw | blame | history
src/components/group/tool.vue 41 ●●●●● patch | view | raw | blame | history
src/components/layouts/baseLayout.vue 12 ●●●●● patch | view | raw | blame | history
src/components/mini/mdDetail.vue 18 ●●●●● patch | view | raw | blame | history
src/components/swichLabel/main1-show.vue 141 ●●●● patch | view | raw | blame | history
src/config/router.config.js 12 ●●●●● patch | view | raw | blame | history
src/router/router.js 11 ●●●●● patch | view | raw | blame | history
src/App.vue
@@ -32,6 +32,7 @@
    ::-webkit-scrollbar {
        /*滚动条整体样式*/
        width: 8px;
        height: 8px;
        /*高宽分别对应横竖滚动条的尺寸*/
    }
src/assets/md.less
@@ -1,422 +1,425 @@
 body{
     margin: 0 auto;
     font-family: "Microsoft YaHei", arial,sans-serif;
     color: #444444;
     line-height: 1;
     padding: 30px;
 }
 @media screen and (min-width: 768px) {
     body {
         width: 748px;
         margin: 10px auto;
     }
 }
h1, h2, h3, h4 {
    color: #111111;
    font-weight: 400;
    margin-top: 1em;
}
h1, h2, h3, h4, h5 {
    font-family: Georgia, Palatino, serif;
}
h1, h2, h3, h4, h5, p , dl{
    margin-bottom: 16px;
    padding: 0;
}
h1 {
    font-size: 48px;
    line-height: 54px;
}
h2 {
    font-size: 36px;
    line-height: 42px;
}
h1, h2 {
    border-bottom: 1px solid #EFEAEA;
    padding-bottom: 10px;
}
h3 {
    font-size: 24px;
    line-height: 30px;
}
h4 {
    font-size: 21px;
    line-height: 26px;
}
h5 {
    font-size: 18px;
    list-style: 23px;
}
a {
    color: #0099ff;
    margin: 0;
    padding: 0;
    vertical-align: baseline;
}
a:hover {
    text-decoration: none;
    color: #ff6600;
}
a:visited {
    /*color: purple;*/
}
ul, ol {
    padding: 0;
    padding-left: 24px;
    margin: 0;
}
li {
    line-height: 24px;
}
p, ul, ol {
    font-size: 16px;
    line-height: 24px;
}
ol ol, ul ol {
    list-style-type: lower-roman;
}
/*pre {
    padding: 0px 24px;
    max-width: 800px;
    white-space: pre-wrap;
}
code {
    font-family: Consolas, Monaco, Andale Mono, monospace;
    line-height: 1.5;
    font-size: 13px;
}*/
code, pre {
    border-radius: 3px;
    background-color:#f7f7f7;
    color: inherit;
}
code {
    font-family: Consolas, Monaco, Andale Mono, monospace;
    margin: 0 2px;
}
pre {
    line-height: 1.7em;
    overflow: auto;
    padding: 6px 10px;
    border-left: 5px solid #6CE26C;
}
pre > code {
    border: 0;
    display: inline;
    max-width: initial;
    padding: 0;
    margin: 0;
    overflow: initial;
    line-height: inherit;
    font-size: .85em;
    white-space: pre;
    background: 0 0;
}
code {
    color: #666555;
}
/** markdown preview plus 对于代码块的处理有些问题, 所以使用统一的颜色 */
/*code .keyword {
  color: #8959a8;
}
code .number {
  color: #f5871f;
}
code .comment {
  color: #998
}*/
aside {
    display: block;
    float: right;
    width: 390px;
}
blockquote {
    border-left:.5em solid #eee;
    padding: 0 0 0 2em;
    margin-left:0;
}
blockquote  cite {
    font-size:14px;
    line-height:20px;
    color:#bfbfbf;
}
blockquote cite:before {
    content: '\2014 \00A0';
}
blockquote p {
    color: #666;
}
hr {
    text-align: left;
    color: #999;
    height: 2px;
    padding: 0;
    margin: 16px 0;
    background-color: #e7e7e7;
    border: 0 none;
}
dl {
    padding: 0;
}
dl dt {
    padding: 10px 0;
    margin-top: 16px;
    font-size: 1em;
    font-style: italic;
    font-weight: bold;
}
dl dd {
    padding: 0 16px;
    margin-bottom: 16px;
}
dd {
    margin-left: 0;
}
/* Code below this line is copyright Twitter Inc. */
button,
input,
select,
textarea {
    font-size: 100%;
    margin: 0;
    vertical-align: baseline;
    *vertical-align: middle;
}
button, input {
    line-height: normal;
    *overflow: visible;
}
button::-moz-focus-inner, input::-moz-focus-inner {
    border: 0;
    padding: 0;
}
button,
input[type="button"],
input[type="reset"],
input[type="submit"] {
    cursor: pointer;
    -webkit-appearance: button;
}
input[type=checkbox], input[type=radio] {
    cursor: pointer;
}
/* override default chrome & firefox settings */
input:not([type="image"]), textarea {
    -webkit-box-sizing: content-box;
    -moz-box-sizing: content-box;
    box-sizing: content-box;
}
input[type="search"] {
    -webkit-appearance: textfield;
    -webkit-box-sizing: content-box;
    -moz-box-sizing: content-box;
    box-sizing: content-box;
}
input[type="search"]::-webkit-search-decoration {
    -webkit-appearance: none;
}
label,
input,
select,
textarea {
    font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-size: 13px;
    font-weight: normal;
    line-height: normal;
    margin-bottom: 18px;
}
input[type=checkbox], input[type=radio] {
    cursor: pointer;
    margin-bottom: 0;
}
input[type=text],
input[type=password],
textarea,
select {
    display: inline-block;
    width: 210px;
    padding: 4px;
    font-size: 13px;
    font-weight: normal;
    line-height: 18px;
    height: 18px;
    color: #808080;
    border: 1px solid #ccc;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    border-radius: 3px;
}
select, input[type=file] {
    height: 27px;
    line-height: 27px;
}
textarea {
    height: auto;
}
/* grey out placeholders */
:-moz-placeholder {
    color: #bfbfbf;
}
::-webkit-input-placeholder {
    color: #bfbfbf;
}
input[type=text],
input[type=password],
select,
textarea {
    -webkit-transition: border linear 0.2s, box-shadow linear 0.2s;
    -moz-transition: border linear 0.2s, box-shadow linear 0.2s;
    transition: border linear 0.2s, box-shadow linear 0.2s;
    -webkit-box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.1);
    -moz-box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.1);
    box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.1);
}
input[type=text]:focus, input[type=password]:focus, textarea:focus {
    outline: none;
    border-color: rgba(82, 168, 236, 0.8);
    -webkit-box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.1), 0 0 8px rgba(82, 168, 236, 0.6);
    -moz-box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.1), 0 0 8px rgba(82, 168, 236, 0.6);
    box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.1), 0 0 8px rgba(82, 168, 236, 0.6);
}
/* buttons */
button {
    display: inline-block;
    padding: 4px 14px;
    font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-size: 13px;
    line-height: 18px;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    border-radius: 4px;
    -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
    -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
    background-color: #0064cd;
    background-repeat: repeat-x;
    background-image: -khtml-gradient(linear, left top, left bottom, from(#049cdb), to(#0064cd));
    background-image: -moz-linear-gradient(top, #049cdb, #0064cd);
    background-image: -ms-linear-gradient(top, #049cdb, #0064cd);
    background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #049cdb), color-stop(100%, #0064cd));
    background-image: -webkit-linear-gradient(top, #049cdb, #0064cd);
    background-image: -o-linear-gradient(top, #049cdb, #0064cd);
    background-image: linear-gradient(top, #049cdb, #0064cd);
    color: #fff;
    text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
    border: 1px solid #004b9a;
    border-bottom-color: #003f81;
    -webkit-transition: 0.1s linear all;
    -moz-transition: 0.1s linear all;
    transition: 0.1s linear all;
    border-color: #0064cd #0064cd #003f81;
    border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
}
button:hover {
    color: #fff;
    background-position: 0 -15px;
    text-decoration: none;
}
button:active {
    -webkit-box-shadow: inset 0 3px 7px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);
    -moz-box-shadow: inset 0 3px 7px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);
    box-shadow: inset 0 3px 7px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);
}
button::-moz-focus-inner {
    padding: 0;
    border: 0;
}
table {
    *border-collapse: collapse; /* IE7 and lower */
    border-spacing: 0;
    width: 100%;
}
table {
    border: solid #ccc 1px;
    -moz-border-radius: 6px;
    -webkit-border-radius: 6px;
    border-radius: 6px;
    /*-webkit-box-shadow: 0 1px 1px #ccc;
    -moz-box-shadow: 0 1px 1px #ccc;
    box-shadow: 0 1px 1px #ccc;   */
}
table tr:hover {
    background: #fbf8e9;
    -o-transition: all 0.1s ease-in-out;
    -webkit-transition: all 0.1s ease-in-out;
    -moz-transition: all 0.1s ease-in-out;
    -ms-transition: all 0.1s ease-in-out;
    transition: all 0.1s ease-in-out;
}
table td, .table th {
    border-left: 1px solid #ccc;
    border-top: 1px solid #ccc;
    padding: 10px;
    text-align: left;
}
table th {
    background-color: #dce9f9;
    background-image: -webkit-gradient(linear, left top, left bottom, from(#ebf3fc), to(#dce9f9));
    background-image: -webkit-linear-gradient(top, #ebf3fc, #dce9f9);
    background-image:    -moz-linear-gradient(top, #ebf3fc, #dce9f9);
    background-image:     -ms-linear-gradient(top, #ebf3fc, #dce9f9);
    background-image:      -o-linear-gradient(top, #ebf3fc, #dce9f9);
    background-image:         linear-gradient(top, #ebf3fc, #dce9f9);
    /*-webkit-box-shadow: 0 1px 0 rgba(255,255,255,.8) inset;
    -moz-box-shadow:0 1px 0 rgba(255,255,255,.8) inset;
    box-shadow: 0 1px 0 rgba(255,255,255,.8) inset;*/
    border-top: none;
    text-shadow: 0 1px 0 rgba(255,255,255,.5);
    padding: 5px;
}
table td:first-child, table th:first-child {
    border-left: none;
}
table th:first-child {
    -moz-border-radius: 6px 0 0 0;
    -webkit-border-radius: 6px 0 0 0;
    border-radius: 6px 0 0 0;
}
table th:last-child {
    -moz-border-radius: 0 6px 0 0;
    -webkit-border-radius: 0 6px 0 0;
    border-radius: 0 6px 0 0;
}
table th:only-child{
    -moz-border-radius: 6px 6px 0 0;
    -webkit-border-radius: 6px 6px 0 0;
    border-radius: 6px 6px 0 0;
}
table tr:last-child td:first-child {
    -moz-border-radius: 0 0 0 6px;
    -webkit-border-radius: 0 0 0 6px;
    border-radius: 0 0 0 6px;
}
table tr:last-child td:last-child {
    -moz-border-radius: 0 0 6px 0;
    -webkit-border-radius: 0 0 6px 0;
    border-radius: 0 0 6px 0;
}
.markdown-body{
    body{
         margin: 0 auto;
         font-family: "Microsoft YaHei", arial,sans-serif;
         color: #444444;
         line-height: 1;
         padding: 30px;
     }
     @media screen and (min-width: 768px) {
         body {
             width: 748px;
             margin: 10px auto;
         }
     }
    h1, h2, h3, h4 {
        color: #111111;
        font-weight: 400;
        margin-top: 1em;
    }
    h1, h2, h3, h4, h5 {
        font-family: Georgia, Palatino, serif;
    }
    h1, h2, h3, h4, h5, p , dl{
        margin-bottom: 16px;
        padding: 0;
    }
    h1 {
        font-size: 38px;
        line-height: 54px;
    }
    h2 {
        font-size: 36px;
        line-height: 42px;
    }
    h1, h2 {
        border-bottom: 1px solid #EFEAEA;
        padding-bottom: 10px;
    }
    h3 {
        font-size: 24px;
        line-height: 30px;
    }
    h4 {
        font-size: 21px;
        line-height: 26px;
    }
    h5 {
        font-size: 18px;
        list-style: 23px;
    }
    a {
        color: #0099ff;
        margin: 0;
        padding: 0;
        vertical-align: baseline;
    }
    a:hover {
        text-decoration: none;
        color: #ff6600;
    }
    a:visited {
        /*color: purple;*/
    }
    ul, ol {
        padding: 0;
        padding-left: 24px;
        margin: 0;
    }
    li {
        line-height: 24px;
    }
    p, ul, ol {
        font-size: 16px;
        line-height: 24px;
    }
    ol ol, ul ol {
        list-style-type: lower-roman;
    }
    /*pre {
        padding: 0px 24px;
        max-width: 800px;
        white-space: pre-wrap;
    }
    code {
        font-family: Consolas, Monaco, Andale Mono, monospace;
        line-height: 1.5;
        font-size: 13px;
    }*/
    code, pre {
        border-radius: 3px;
        background-color:#f7f7f7;
        color: inherit;
    }
    code {
        font-family: Consolas, Monaco, Andale Mono, monospace;
        margin: 0 2px;
    }
    pre {
        line-height: 1.7em;
        overflow: auto;
        padding: 6px 10px;
        border-left: 5px solid #6CE26C;
    }
    pre > code {
        border: 0;
        display: inline;
        max-width: initial;
        padding: 0;
        margin: 0;
        overflow: initial;
        line-height: inherit;
        font-size: .85em;
        white-space: pre;
        background: 0 0;
    }
    code {
        color: #666555;
    }
    /** markdown preview plus 对于代码块的处理有些问题, 所以使用统一的颜色 */
    /*code .keyword {
      color: #8959a8;
    }
    code .number {
      color: #f5871f;
    }
    code .comment {
      color: #998
    }*/
    aside {
        display: block;
        float: right;
        width: 390px;
    }
    blockquote {
        border-left:.5em solid #eee;
        padding: 0 0 0 2em;
        margin-left:0;
    }
    blockquote  cite {
        font-size:14px;
        line-height:20px;
        color:#bfbfbf;
    }
    blockquote cite:before {
        content: '\2014 \00A0';
    }
    blockquote p {
        color: #666;
    }
    hr {
        text-align: left;
        color: #999;
        height: 2px;
        padding: 0;
        margin: 16px 0;
        background-color: #e7e7e7;
        border: 0 none;
    }
    dl {
        padding: 0;
    }
    dl dt {
        padding: 10px 0;
        margin-top: 16px;
        font-size: 1em;
        font-style: italic;
        font-weight: bold;
    }
    dl dd {
        padding: 0 16px;
        margin-bottom: 16px;
    }
    dd {
        margin-left: 0;
    }
    /* Code below this line is copyright Twitter Inc. */
    button,
    input,
    select,
    textarea {
        font-size: 100%;
        margin: 0;
        vertical-align: baseline;
        *vertical-align: middle;
    }
    button, input {
        line-height: normal;
        *overflow: visible;
    }
    button::-moz-focus-inner, input::-moz-focus-inner {
        border: 0;
        padding: 0;
    }
    button,
    input[type="button"],
    input[type="reset"],
    input[type="submit"] {
        cursor: pointer;
        -webkit-appearance: button;
    }
    input[type=checkbox], input[type=radio] {
        cursor: pointer;
    }
    /* override default chrome & firefox settings */
    input:not([type="image"]), textarea {
        -webkit-box-sizing: content-box;
        -moz-box-sizing: content-box;
        box-sizing: content-box;
    }
    input[type="search"] {
        -webkit-appearance: textfield;
        -webkit-box-sizing: content-box;
        -moz-box-sizing: content-box;
        box-sizing: content-box;
    }
    input[type="search"]::-webkit-search-decoration {
        -webkit-appearance: none;
    }
    label,
    input,
    select,
    textarea {
        font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
        font-size: 13px;
        font-weight: normal;
        line-height: normal;
        margin-bottom: 18px;
    }
    input[type=checkbox], input[type=radio] {
        cursor: pointer;
        margin-bottom: 0;
    }
    input[type=text],
    input[type=password],
    textarea,
    select {
        display: inline-block;
        width: 210px;
        padding: 4px;
        font-size: 13px;
        font-weight: normal;
        line-height: 18px;
        height: 18px;
        color: #808080;
        border: 1px solid #ccc;
        -webkit-border-radius: 3px;
        -moz-border-radius: 3px;
        border-radius: 3px;
    }
    select, input[type=file] {
        height: 27px;
        line-height: 27px;
    }
    textarea {
        height: auto;
    }
    /* grey out placeholders */
    :-moz-placeholder {
        color: #bfbfbf;
    }
    ::-webkit-input-placeholder {
        color: #bfbfbf;
    }
    input[type=text],
    input[type=password],
    select,
    textarea {
        -webkit-transition: border linear 0.2s, box-shadow linear 0.2s;
        -moz-transition: border linear 0.2s, box-shadow linear 0.2s;
        transition: border linear 0.2s, box-shadow linear 0.2s;
        -webkit-box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.1);
        -moz-box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.1);
        box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.1);
    }
    input[type=text]:focus, input[type=password]:focus, textarea:focus {
        outline: none;
        border-color: rgba(82, 168, 236, 0.8);
        -webkit-box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.1), 0 0 8px rgba(82, 168, 236, 0.6);
        -moz-box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.1), 0 0 8px rgba(82, 168, 236, 0.6);
        box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.1), 0 0 8px rgba(82, 168, 236, 0.6);
    }
    /* buttons */
    button {
        display: inline-block;
        padding: 4px 14px;
        font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
        font-size: 13px;
        line-height: 18px;
        -webkit-border-radius: 4px;
        -moz-border-radius: 4px;
        border-radius: 4px;
        -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
        -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
        box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
        background-color: #0064cd;
        background-repeat: repeat-x;
        background-image: -khtml-gradient(linear, left top, left bottom, from(#049cdb), to(#0064cd));
        background-image: -moz-linear-gradient(top, #049cdb, #0064cd);
        background-image: -ms-linear-gradient(top, #049cdb, #0064cd);
        background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #049cdb), color-stop(100%, #0064cd));
        background-image: -webkit-linear-gradient(top, #049cdb, #0064cd);
        background-image: -o-linear-gradient(top, #049cdb, #0064cd);
        background-image: linear-gradient(top, #049cdb, #0064cd);
        color: #fff;
        text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
        border: 1px solid #004b9a;
        border-bottom-color: #003f81;
        -webkit-transition: 0.1s linear all;
        -moz-transition: 0.1s linear all;
        transition: 0.1s linear all;
        border-color: #0064cd #0064cd #003f81;
        border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
    }
    button:hover {
        color: #fff;
        background-position: 0 -15px;
        text-decoration: none;
    }
    button:active {
        -webkit-box-shadow: inset 0 3px 7px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);
        -moz-box-shadow: inset 0 3px 7px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);
        box-shadow: inset 0 3px 7px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);
    }
    button::-moz-focus-inner {
        padding: 0;
        border: 0;
    }
    table {
        *border-collapse: collapse; /* IE7 and lower */
        border-spacing: 0;
        width: 100%;
    }
    table {
        border: solid #ccc 1px;
        -moz-border-radius: 6px;
        -webkit-border-radius: 6px;
        border-radius: 6px;
        /*-webkit-box-shadow: 0 1px 1px #ccc;
        -moz-box-shadow: 0 1px 1px #ccc;
        box-shadow: 0 1px 1px #ccc;   */
    }
    table tr:hover {
        background: #fbf8e9;
        -o-transition: all 0.1s ease-in-out;
        -webkit-transition: all 0.1s ease-in-out;
        -moz-transition: all 0.1s ease-in-out;
        -ms-transition: all 0.1s ease-in-out;
        transition: all 0.1s ease-in-out;
    }
    table td, .table th {
        border-left: 1px solid #ccc;
        border-top: 1px solid #ccc;
        padding: 10px;
        text-align: left;
    }
    table th {
        background-color: #dce9f9;
        background-image: -webkit-gradient(linear, left top, left bottom, from(#ebf3fc), to(#dce9f9));
        background-image: -webkit-linear-gradient(top, #ebf3fc, #dce9f9);
        background-image:    -moz-linear-gradient(top, #ebf3fc, #dce9f9);
        background-image:     -ms-linear-gradient(top, #ebf3fc, #dce9f9);
        background-image:      -o-linear-gradient(top, #ebf3fc, #dce9f9);
        background-image:         linear-gradient(top, #ebf3fc, #dce9f9);
        /*-webkit-box-shadow: 0 1px 0 rgba(255,255,255,.8) inset;
        -moz-box-shadow:0 1px 0 rgba(255,255,255,.8) inset;
        box-shadow: 0 1px 0 rgba(255,255,255,.8) inset;*/
        border-top: none;
        text-shadow: 0 1px 0 rgba(255,255,255,.5);
        padding: 5px;
    }
    table td:first-child, table th:first-child {
        border-left: none;
    }
    table th:first-child {
        -moz-border-radius: 6px 0 0 0;
        -webkit-border-radius: 6px 0 0 0;
        border-radius: 6px 0 0 0;
    }
    table th:last-child {
        -moz-border-radius: 0 6px 0 0;
        -webkit-border-radius: 0 6px 0 0;
        border-radius: 0 6px 0 0;
    }
    table th:only-child{
        -moz-border-radius: 6px 6px 0 0;
        -webkit-border-radius: 6px 6px 0 0;
        border-radius: 6px 6px 0 0;
    }
    table tr:last-child td:first-child {
        -moz-border-radius: 0 0 0 6px;
        -webkit-border-radius: 0 0 0 6px;
        border-radius: 0 0 0 6px;
    }
    table tr:last-child td:last-child {
        -moz-border-radius: 0 0 6px 0;
        -webkit-border-radius: 0 0 6px 0;
        border-radius: 0 0 6px 0;
    }
}
src/components/fixed/header.vue
@@ -1,19 +1,16 @@
<template>
    <a-row type="flex" justify="start">
        <a-col v-bind="showSmall">
            <router-link to="/main1">Home »</router-link>
        </a-col>
        <a-col v-bind="showSmall">
            <router-link to="/main2">乐谱搜索 »</router-link>
        </a-col>
        <a-col v-bind="showSmall">
            <router-link to="/main3">我的网盘 »</router-link>
        </a-col>
        <a-col v-bind="showSmall">
            <router-link to="/main4">友人帐 »</router-link>
            <div class="menu">
                <router-link to="/main1">Home »</router-link>
                <router-link to="/main2">乐谱搜索 »</router-link>
                <router-link to="/main3">我的网盘 »</router-link>
                <router-link to="/main4">友人帐 »</router-link>
            </div>
        </a-col>
        <a-col v-bind="showMain">
            <a-auto-complete ref="mySearch" v-bind="search" @select="onSelect" @search="onSearch" @change="onChange">
            <a-auto-complete v-model="search.value" :data-source="search.dataSource" ref="mySearch" v-bind="search"
                @select="onSelect" @search="onSearch" @change="onChange">
                <a-input @keydown.enter="onSelect">
                    <a-icon slot="suffix" type="search" class="certain-category-icon" />
                </a-input>
@@ -71,23 +68,33 @@
                    allowClear: true,
                    // autoFocus: true,
                    backfill: true,
                    value: '',
                    dataSource: [],
                },
                showSmall: {
                    xs: 6,
                    sm: 4,
                    md: 4,
                    lg: 4,
                    xl: 4,
                    xxl: 4,
                    xs: 24,
                    sm: 18,
                    md: 18,
                    lg: 18,
                    xl: 18,
                    xxl: 18,
                },
                showMain: {
                    xs: 0,
                    sm: 0,
                    md: 2,
                    lg: 2,
                    xl: 2,
                    xxl: 2,
                    sm: 6,
                    md: 6,
                    lg: {
                        span: 3,
                        offset: 3
                    },
                    xl: {
                        span: 3,
                        offset: 3
                    },
                    xxl: {
                        span: 3,
                        offset: 3
                    },
                }
            }
@@ -103,12 +110,12 @@
                console.log(e);
            },
            onSearch(searchText) {
                this.dataSource = !searchText ? [] : [searchText, searchText.repeat(2), searchText.repeat(3)];
                this.search.dataSource = !searchText ? [] : [searchText, searchText.repeat(2), searchText.repeat(3)];
                console.log("补全..");
            },
            onSelect(value) {
                console.log('回车', value);
                this.$message.info("回车")
                this.$message.info("回车,内容为" + value)
            },
            onChange(value) {
                console.log('修改', value);
@@ -120,3 +127,11 @@
        },
    }
</script>
<style lang="less" scoped>
    .menu {
        a {
            margin-left: 10px;
        }
    }
</style>
src/components/group/MyModal.vue
New file
@@ -0,0 +1,75 @@
<template>
    <div class="myModal">
        <a-modal v-model="visible" title="日志添加" on-ok="handleOk"
            :bodyStyle="{'overflow':'overlay','maxHeight': '550px'}">
            <template slot="footer">
                <a-button key="reset" @click="reset" type="danger">
                    擦掉重来
                </a-button>
                <a-button key="back" @click="handleCancel">
                    歇会
                </a-button>
                <a-button key="submit" type="primary" :loading="loading" @click="handleOk">
                    完事<span style="font-size: 10px;">儿</span>..
                </a-button>
            </template>
            <box10 ref="modalBox"></box10>
        </a-modal>
    </div>
</template>
<script>
    import box10 from "../mini/box10-add.vue"
    export default {
        components: {
            box10
        },
        data() {
            return {
                visible: false,
                loading: false,
            }
        },
        methods: {
            getCalendarContainer(trigger) {
                return this.$refs.myModal;
            },
            showModal() {
                this.visible = true;
            },
            handleOk(e) {
                console.log(this.$refs.modalBox.form);
                var res = this.$refs.modalBox.$refs.myForm.validate(valid => {
                    if (valid) {
                        this.$message.info("校验通过")
                    } else {
                        this.$message.info("校验失败")
                        return false;
                    }
                });
                if (!res) return;
                this.$message.info("提交表单")
                this.loading = true;
                setTimeout(() => {
                    this.visible = false;
                    this.loading = false;
                }, 3000);
            },
            reset(e) {
                var res = this.$refs.modalBox.$refs.myForm.resetFields()
            },
            handleCancel(e) {
                this.visible = false;
            },
        },
    }
</script>
<style>
</style>
src/components/group/articleListScorll.vue
@@ -15,9 +15,7 @@
                    :defaultPageSize="pageSize" :total="total" />
            </div>
        </a-row>
        <a-back-top>
            <a-icon type="up" />回到顶部
        </a-back-top>
    </div>
</template>
<script>
@@ -88,7 +86,7 @@
                console.log(this.current);
                console.log(this.busy);
                if (data.length > 15) {
                if (data.length > 3) {
                    this.$message.warning('没有更多了');
                    this.busy = true;
                    this.loading = false;
src/components/group/boxRight.vue
@@ -1,18 +1,18 @@
<template>
    <div class="blog-right-side fadeInRight">
        <div class="blog-cell ">
            <box4 v-bind="vo4"></box4>
        </div>
        <!-- <div class="blog-cell ">
            <box4 v-bind="vo1"></box4>
        </div>
        <div class="blog-cell  ">
            <box4 v-bind="vo2"></box4>
        </div>
        </div> -->
        <div class="blog-cell ">
            <box4 v-bind="vo3"></box4>
            <div class="blog-right-side-exchange">
            </div>
        </div>
        <div class="blog-cell ">
            <box4 v-bind="vo4"></box4>
        </div>
    </div>
src/components/group/tool.vue
New file
@@ -0,0 +1,41 @@
<template>
    <a-affix :offset-top="600">
        <div style="padding-left:5px;">
            <a-button @click="showDrawer1">
                抽屉1
            </a-button>
            <!-- <a-button @click="showDrawer2">
                抽屉2
            </a-button> -->
            <a-button @click="showModal">
                日志
                <a-icon type="plus-circle" style="margin-left: 0px;" />
            </a-button>
            <a-button>
                工具
                <a-icon type="tool" style="margin-left: 0px;" />
            </a-button>
        </div>
    </a-affix>
</template>
<script>
    export default {
        data() {
            return {}
        },
        methods: {
            showDrawer1() {
                this.$emit('showDrawer1')
            },
            showModal() {
                this.$emit('showModal')
            }
        },
    }
</script>
<style>
</style>
src/components/layouts/baseLayout.vue
@@ -5,12 +5,17 @@
            <tag-Header />
        </a-layout-header>
        <router-view ></router-view>
        <router-view></router-view>
        <a-layout-footer>
            <AplayerBox />
            <tagFooter />
        </a-layout-footer>
        <a-back-top>
            <a-icon type="up" />回到顶部
        </a-back-top>
    </a-layout>
</template>
@@ -30,7 +35,7 @@
            }
        },
        methods: {
            // 下载文件
            down: function() {
                console.log(111);
@@ -64,11 +69,8 @@
        .ant-layout {}
        .ant-layout-header {
            // background-color: #ffffff;
            backdrop-filter: saturate(180%) blur(1em);
            -webkit-backdrop-filter: blur(5px);
            background: linear-gradient(90deg, rgba(247, 149, 51, 0.101961) 0, rgba(243, 112, 85, 0.101961) 15%, rgba(239, 78, 123, 0.101961) 30%, rgba(161, 102, 171, 0.101961) 44%, rgba(80, 115, 184, 0.101961) 58%, rgba(16, 152, 173, 0.101961) 72%, rgba(7, 179, 155, 0.101961) 86%, rgba(109, 186, 130, 0.101961) 100%);
        }
src/components/mini/mdDetail.vue
@@ -1,11 +1,11 @@
<template>
    <div class="article-meta">
        <a-button @click="back">
    <div class="article-meta ">
        <a-button @click="back" style="position: absolute;">
            <a-icon type="left" />
        </a-button>
        <a-divider orientation="left">
        <!-- <a-divider orientation="left">
            文章详情
        </a-divider>
        </a-divider> -->
        <div class="markdown-body article-detail">
            <vue-markdown :source="source"></vue-markdown>
        </div>
@@ -40,10 +40,14 @@
    }
</script>
<style scoped  >
    /* @import '../../assets/md.less'; */
<style lang="less">
    @import '../../assets/md.less';
    .markdown-body {
        padding: 10px 20px 10px 20px;
        box-shadow: 8px 8px 18px rgba(0, 0, 0, 0.1),
            -8px -8px 18px #ffffff;
    }
    /* #test{
        padding-left: 25%;
src/components/swichLabel/main1-show.vue
@@ -1,61 +1,40 @@
<template>
    <div>
        <MyModal ref="myModal"></MyModal>
        <div class="blog-drawer">
            <a-drawer placement="left" :closable="false" :visible="visible1" :getContainer="'body'"
                :after-visible-change="afterVisibleChange" @close="onClose1" :zIndex="90" :width=270
                :bodyStyle="{padding:'0px'}" :wrapStyle="{padding:'0px',top:'60px'}">
                :bodyStyle="{padding:'0px'}"
                :wrapStyle="{padding:'0px',top:'60px !important','height':'calc(100% - 60px) !important'}">
                <boxLeft></boxLeft>
            </a-drawer>
            <a-drawer placement="right" :closable="false" :visible="visible2" :getContainer="'body'"
                :after-visible-change="afterVisibleChange" @close="onClose2" :zIndex="90" :width=270
                :bodyStyle="{padding:'0px'}" :wrapStyle="{padding:'0px',top:'60px'}">
                <boxRight></boxRight>
            </a-drawer>
            <a-row>
                <a-col v-bind="colApiLeft">
                    <div class="myModal">
                        <a-modal v-model="visible" title="日志添加" on-ok="handleOk">
                            <template slot="footer">
                                <a-button key="reset" @click="reset" type="danger">
                                    擦掉重来
                                </a-button>
                                <a-button key="back" @click="handleCancel">
                                    歇会
                                </a-button>
                                <a-button key="submit" type="primary" :loading="loading" @click="handleOk">
                                    完事<span style="font-size: 10px;">儿</span>..
                                </a-button>
                            </template>
                            <box10 ref="modalBox"></box10>
                        </a-modal>
                    </div>
                </a-col>
            </a-row>
        </div>
        <div class="blog-main">
            <a-row>
                <a-col v-bind="colApiLeft">
                    <boxLeft></boxLeft>
                    <boxRight></boxRight>
                </a-col>
                <a-col v-bind="colApiMain ">
                    <a-button @click="showDrawer1">
                        小抽屉1
                    </a-button>
                    <a-button @click="showDrawer2">
                        小抽屉2
                    </a-button>
                    <a-button @click="showModal">
                        日志
                        <a-icon type="plus-circle" style="margin-left: 0px;" />
                    </a-button>
                    <tempFriendBox></tempFriendBox>
                <a-col v-bind="colApiMain ">
                    <a-col v-bind="colMini" :style="{'position':'absolute','right':'30px'}">
                        <a-affix :offset-top="550">
                            <a-button @click="showDrawer1">
                                抽屉1
                            </a-button>
                        </a-affix>
                    </a-col>
                    <router-view class="fade"></router-view>
                </a-col>
                <a-col v-bind="colApiRight" ref="myDrawer">
                    <boxRight></boxRight>
                    <!-- <boxRight></boxRight> -->
                    <tool @showModal="showModal" @showDrawer1="showDrawer1"></tool>
                </a-col>
            </a-row>
        </div>
@@ -65,75 +44,47 @@
<script>
    import tempFriendBox from "../group/tempFriendBox.vue"
    import box10 from "../mini/box10-add.vue"
    import boxLeft from "../group/boxLeft.vue"
    import boxRight from "../group/boxRight.vue"
    import articleListScorll from "../group/articleListScorll.vue"
    import tool from "../group/tool.vue"
    import MyModal from "../group/MyModal.vue"
    export default {
        components: {
            tempFriendBox,
            box10,
            boxLeft,
            boxRight,
            articleListScorll,
            tool,
            MyModal,
        },
        methods: {
            getCalendarContainer(trigger) {
                return this.$refs.myModal;
            },
            showModal() {
                this.visible = true;
            },
            handleOk(e) {
                console.log(this.$refs.modalBox.form);
                var res = this.$refs.modalBox.$refs.myForm.validate(valid => {
                    if (valid) {
                        this.$message.info("校验通过")
                    } else {
                        this.$message.info("校验失败")
                        return false;
                    }
                });
                if (!res) return;
                this.$message.info("提交表单")
                this.loading = true;
                setTimeout(() => {
                    this.visible = false;
                    this.loading = false;
                }, 3000);
            },
            reset(e) {
                var res = this.$refs.modalBox.$refs.myForm.resetFields()
            },
            handleCancel(e) {
                this.visible = false;
                this.$refs.myModal.showModal();
            },
            afterVisibleChange(val) {},
            showDrawer1() {
                this.visible1 = true;
            },
            showDrawer2() {
                this.visible2 = true;
            },
            onClose1() {
                this.visible1 = false;
            },
            onClose2() {
                this.visible2 = false;
            },
        },
        data() {
            return {
                loading: false,
                visible: false,
                visible1: false,
                visible2: false,
                colMini: {
                    xs: 1,
                    sm: 1,
                    md: 1,
                    lg: 0,
                    xl: 0,
                    xxl: 0
                },
                colApiLeft: {
                    xs: 0,
                    sm: 0,
@@ -157,15 +108,9 @@
                    xs: 0,
                    sm: 0,
                    md: 0,
                    lg: 0,
                    xl: {
                        span: 5,
                        offset: 1,
                    },
                    xxl: {
                        span: 4,
                        offset: 1,
                    },
                    lg: 1,
                    xl: 1,
                    xxl: 1,
                },
                colApiMain: {
                    xs: 24,
@@ -174,7 +119,7 @@
                        offset: 2,
                    },
                    md: {
                        span: 14,
                        span: 15,
                        offset: 1,
                    },
                    lg: {
@@ -182,12 +127,12 @@
                        offset: 2,
                    },
                    xl: {
                        span: 9,
                        offset: 1,
                        span: 13,
                        offset: 2,
                    },
                    xxl: {
                        span: 8,
                        offset: 1,
                        span: 11,
                        offset: 2,
                    },
                }
@@ -208,10 +153,6 @@
        min-height: 780px;
    }
    .article-detail {
        max-height: 750px;
        overflow: overlay;
    }
    .blog-main {
        margin-top: 80px;
@@ -284,7 +225,7 @@
        padding-bottom: 20px;
        overflow: hidden;
        // box-shadow: 1px 1px 1px 2px #00000059;
        // -webkit-box-shadow: 0 12px 15px 0 rgba(0, 0, 0, 0.24), 0 17px 50px 0 rgba(0, 0, 0, 0.19);
        // box-shadow: 0 12px 15px 0 rgba(0, 0, 0, 0.24), 0 17px 50px 0 rgba(0, 0, 0, 0.19);
src/config/router.config.js
@@ -10,6 +10,7 @@
import box1 from '../components/mini/box1-info.vue'
import tagTime from '../components/mini/tagTime.vue'
import tagInfo from '../components/mini/tagInfo.vue'
import boxFriend from '../components/mini/box-friend.vue'
import mdDetail from '../components/mini/mdDetail.vue'
@@ -28,7 +29,7 @@
                children: [{
                        path: '/',
                        component: articleList,
                        props:true
                        props: true
                    },
                    {
                        path: '/box1',
@@ -37,7 +38,7 @@
                    {
                        path: '/tagTime',
                        component: tagTime,
                        props:true
                        props: true
                    },
                    {
                        path: '/tagInfo',
@@ -46,6 +47,9 @@
                    {
                        path: '/mdDetail',
                        component: mdDetail,
                    }, {
                        path: '/main4',
                        component: boxFriend,
                    }
                ]
            },
@@ -57,7 +61,7 @@
                    component: articleList,
                }]
            },
            {
                path: '/main2',
                component: main2,
@@ -70,7 +74,7 @@
                path: '/main4',
                component: main4,
            },
        ]
    },
src/router/router.js
@@ -12,7 +12,16 @@
/*实例化路由*/
const router = new Router({
    mode: "history", //模式修改  
    routes: asyncRouterMap
    routes: asyncRouterMap,
    scrollBehavior (to, from, savedPosition) {
        //路由切换是否滚动到顶部
       if (savedPosition) {
         return savedPosition
        } else {
         return { x: 0, y: 0 }
        }
    }
})
router.beforeEach((to, from, next) => {