xiaoxian521 3 years ago
parent
commit
b77ba43572
  1. 6
      .eslintrc.js
  2. 1
      .gitignore
  3. 1
      .prettierrc.js
  4. 30
      package.json
  5. 1828
      pnpm-lock.yaml
  6. 18
      src/layout/components/sidebar/horizontal.vue
  7. 37
      src/layout/components/tag/index.scss
  8. 2
      src/layout/theme/default-vars.scss
  9. 2
      src/layout/theme/dusk-vars.scss
  10. 2
      src/layout/theme/volcano-vars.scss
  11. 2
      src/layout/theme/yellow-vars.scss
  12. 2
      src/style/dark.scss
  13. 2
      src/style/element-plus.scss
  14. 10
      src/style/index.scss
  15. 5
      src/style/sidebar.scss
  16. 29
      stylelint.config.js

6
.eslintrc.js

@ -37,7 +37,7 @@ module.exports = {
"eslint:recommended", "eslint:recommended",
"@vue/typescript/recommended", "@vue/typescript/recommended",
"@vue/prettier", "@vue/prettier",
"@vue/prettier/@typescript-eslint"
"@vue/eslint-config-typescript"
], ],
parser: "vue-eslint-parser", parser: "vue-eslint-parser",
parserOptions: { parserOptions: {
@ -50,6 +50,10 @@ module.exports = {
} }
}, },
rules: { rules: {
"vue/no-v-html": "off",
"vue/require-default-prop": "off",
"vue/require-explicit-emits": "off",
"vue/multi-word-component-names": "off",
"@typescript-eslint/no-explicit-any": "off", // any "@typescript-eslint/no-explicit-any": "off", // any
"no-debugger": "off", "no-debugger": "off",
"@typescript-eslint/explicit-module-boundary-types": "off", // setup() "@typescript-eslint/explicit-module-boundary-types": "off", // setup()

1
.gitignore

@ -4,6 +4,7 @@ dist
dist-ssr dist-ssr
*.local *.local
.eslintcache .eslintcache
.stylelintcache
yarn.lock yarn.lock
npm-debug.log* npm-debug.log*

1
.prettierrc.js

@ -1,6 +1,5 @@
module.exports = { module.exports = {
bracketSpacing: true, bracketSpacing: true,
jsxBracketSameLine: true,
singleQuote: false, singleQuote: false,
arrowParens: "avoid", arrowParens: "avoid",
trailingComma: "none" trailingComma: "none"

30
package.json

@ -68,33 +68,37 @@
"@types/node": "14.14.14", "@types/node": "14.14.14",
"@types/nprogress": "0.2.0", "@types/nprogress": "0.2.0",
"@types/qs": "^6.9.7", "@types/qs": "^6.9.7",
"@typescript-eslint/eslint-plugin": "4.31.0",
"@typescript-eslint/parser": "4.31.0",
"@typescript-eslint/eslint-plugin": "^5.10.2",
"@typescript-eslint/parser": "^5.10.2",
"@vitejs/plugin-legacy": "^1.6.4", "@vitejs/plugin-legacy": "^1.6.4",
"@vitejs/plugin-vue": "^2.1.0", "@vitejs/plugin-vue": "^2.1.0",
"@vitejs/plugin-vue-jsx": "^1.3.3", "@vitejs/plugin-vue-jsx": "^1.3.3",
"@vue/eslint-config-prettier": "6.0.0",
"@vue/eslint-config-typescript": "7.0.0",
"@vue/eslint-config-prettier": "^7.0.0",
"@vue/eslint-config-typescript": "^10.0.0",
"@zougt/vite-plugin-theme-preprocessor": "^1.4.4", "@zougt/vite-plugin-theme-preprocessor": "^1.4.4",
"autoprefixer": "^10.4.2", "autoprefixer": "^10.4.2",
"cross-env": "7.0.3", "cross-env": "7.0.3",
"eslint": "7.30.0",
"eslint-plugin-prettier": "3.4.0",
"eslint-plugin-vue": "7.17.0",
"eslint": "^8.8.0",
"eslint-plugin-prettier": "^4.0.0",
"eslint-plugin-vue": "^8.4.1",
"husky": "7.0.2", "husky": "7.0.2",
"lint-staged": "11.1.2", "lint-staged": "11.1.2",
"postcss": "8.2.6", "postcss": "8.2.6",
"postcss-html": "^1.3.0",
"postcss-import": "14.0.0", "postcss-import": "14.0.0",
"prettier": "2.3.2",
"postcss-scss": "^4.0.3",
"prettier": "^2.5.1",
"pretty-quick": "3.1.1", "pretty-quick": "3.1.1",
"rimraf": "3.0.2", "rimraf": "3.0.2",
"rollup-plugin-visualizer": "^5.5.4", "rollup-plugin-visualizer": "^5.5.4",
"sass": "^1.49.0", "sass": "^1.49.0",
"sass-loader": "^12.4.0", "sass-loader": "^12.4.0",
"stylelint": "13.13.1",
"stylelint-config-prettier": "8.0.2",
"stylelint-config-standard": "22.0.0",
"stylelint-order": "4.1.0",
"stylelint": "^14.3.0",
"stylelint-config-html": "^1.0.0",
"stylelint-config-prettier": "^9.0.3",
"stylelint-config-recommended": "^6.0.0",
"stylelint-config-standard": "^24.0.0",
"stylelint-order": "^5.0.0",
"typescript": "^4.5.5", "typescript": "^4.5.5",
"unplugin-element-plus": "^0.2.0", "unplugin-element-plus": "^0.2.0",
"vite": "^2.7.13", "vite": "^2.7.13",
@ -104,7 +108,7 @@
"vite-plugin-style-import": "^1.4.1", "vite-plugin-style-import": "^1.4.1",
"vite-plugin-windicss": "^1.6.3", "vite-plugin-windicss": "^1.6.3",
"vite-svg-loader": "2.2.0", "vite-svg-loader": "2.2.0",
"vue-eslint-parser": "7.10.0",
"vue-eslint-parser": "^8.2.0",
"windicss": "^3.4.3" "windicss": "^3.4.3"
}, },
"repository": "[email protected]:xiaoxian521/vue-pure-admin.git", "repository": "[email protected]:xiaoxian521/vue-pure-admin.git",

1828
pnpm-lock.yaml
File diff suppressed because it is too large
View File

18
src/layout/components/sidebar/horizontal.vue

@ -207,14 +207,8 @@ onMounted(() => {
<style lang="scss" scoped> <style lang="scss" scoped>
.translation { .translation {
.el-dropdown-menu__item {
padding: 5px 40px !important;
}
.el-dropdown-menu__item:focus,
.el-dropdown-menu__item:not(.is-disabled):hover {
color: #606266;
background: #f0f0f0;
::v-deep(.el-dropdown-menu__item) {
padding: 5px 40px;
} }
.check-zh { .check-zh {
@ -231,16 +225,10 @@ onMounted(() => {
.logout { .logout {
max-width: 120px; max-width: 120px;
.el-dropdown-menu__item {
::v-deep(.el-dropdown-menu__item) {
min-width: 100%; min-width: 100%;
display: inline-flex; display: inline-flex;
flex-wrap: wrap; flex-wrap: wrap;
} }
.el-dropdown-menu__item:focus,
.el-dropdown-menu__item:not(.is-disabled):hover {
color: #606266;
background: #f0f0f0;
}
} }
</style> </style>

37
src/layout/components/tag/index.scss

@ -18,36 +18,6 @@
} }
} }
@-webkit-keyframes rotate {
from {
-webkit-transform: rotate(0deg);
}
to {
-webkit-transform: rotate(360deg);
}
}
@-moz-keyframes rotate {
from {
-moz-transform: rotate(0deg);
}
to {
-moz-transform: rotate(360deg);
}
}
@-o-keyframes rotate {
from {
-o-transform: rotate(0deg);
}
to {
-o-transform: rotate(360deg);
}
}
@keyframes rotate { @keyframes rotate {
from { from {
transform: rotate(0deg); transform: rotate(0deg);
@ -80,7 +50,7 @@
.scroll-item { .scroll-item {
border-radius: 3px 3px 0 0; border-radius: 3px 3px 0 0;
padding: 0 6px 0 6px;
padding: 0 6px;
box-shadow: 0 0 1px #888; box-shadow: 0 0 1px #888;
position: relative; position: relative;
margin-right: 4px; margin-right: 4px;
@ -123,7 +93,7 @@
a { a {
text-decoration: none; text-decoration: none;
color: #666; color: #666;
padding: 0 4px 0 4px;
padding: 0 4px;
} }
.scroll-container { .scroll-container {
@ -340,8 +310,5 @@
/* 刷新按钮动画效果 */ /* 刷新按钮动画效果 */
.refresh-button { .refresh-button {
-webkit-animation: rotate 600ms linear infinite;
-moz-animation: rotate 600ms linear infinite;
-o-animation: rotate 600ms linear infinite;
animation: rotate 600ms linear infinite; animation: rotate 600ms linear infinite;
} }

2
src/layout/theme/default-vars.scss

@ -19,7 +19,7 @@ $subMenuBg: #0f0303 !default;
/* 有无子集的激活菜单背景 */ /* 有无子集的激活菜单背景 */
$subMenuActiveBg: #4091f7 !default; $subMenuActiveBg: #4091f7 !default;
$navTextColor: #fff !default; $navTextColor: #fff !default;
$menuText: rgba(254, 254, 254, 0.65) !default;
$menuText: rgb(254 254 254 / 65%) !default;
/* logo背景颜色 */ /* logo背景颜色 */
$sidebarLogo: #002140 !default; $sidebarLogo: #002140 !default;

2
src/layout/theme/dusk-vars.scss

@ -5,7 +5,7 @@ $menuHover: #e13c39;
$subMenuBg: #000; $subMenuBg: #000;
$subMenuActiveBg: #e13c39; $subMenuActiveBg: #e13c39;
$navTextColor: red; $navTextColor: red;
$menuText: rgba(254, 254, 254, 0.651);
$menuText: rgb(254 254 254 / 65.1%);
$sidebarLogo: #42090c; $sidebarLogo: #42090c;
$menuTitleHover: #fff; $menuTitleHover: #fff;
$menuActiveBefore: #e13c39; $menuActiveBefore: #e13c39;

2
src/layout/theme/volcano-vars.scss

@ -5,7 +5,7 @@ $menuHover: #e85f33;
$subMenuBg: #0f0603; $subMenuBg: #0f0603;
$subMenuActiveBg: #e85f33; $subMenuActiveBg: #e85f33;
$navTextColor: #fff; $navTextColor: #fff;
$menuText: rgba(254, 254, 254, 0.65);
$menuText: rgb(254 254 254 / 65%);
$sidebarLogo: #441708; $sidebarLogo: #441708;
$menuTitleHover: #fff; $menuTitleHover: #fff;
$menuActiveBefore: #e85f33; $menuActiveBefore: #e85f33;

2
src/layout/theme/yellow-vars.scss

@ -5,7 +5,7 @@ $menuHover: #f6da4d;
$subMenuBg: #0f0603; $subMenuBg: #0f0603;
$subMenuActiveBg: #f6da4d; $subMenuActiveBg: #f6da4d;
$navTextColor: #fff; $navTextColor: #fff;
$menuText: rgba(254, 254, 254, 0.65);
$menuText: rgb(254 254 254 / 65%);
$sidebarLogo: #443b05; $sidebarLogo: #443b05;
$menuTitleHover: #fff; $menuTitleHover: #fff;
$menuActiveBefore: #f6da4d; $menuActiveBefore: #f6da4d;

2
src/style/dark.scss

@ -18,7 +18,7 @@
} }
.el-overlay { .el-overlay {
background-color: rgba(0, 0, 0, 0.05) !important;
background-color: rgb(0 0 0 / 5%) !important;
} }
.el-drawer { .el-drawer {

2
src/style/element-plus.scss

@ -25,7 +25,7 @@
} }
.el-dropdown-menu { .el-dropdown-menu {
padding: 2px 0 2px 0 !important;
padding: 2px 0 !important;
} }
.el-range-separator { .el-range-separator {

10
src/style/index.scss

@ -11,7 +11,7 @@ body {
padding: 0; padding: 0;
-moz-osx-font-smoothing: grayscale; -moz-osx-font-smoothing: grayscale;
-webkit-font-smoothing: antialiased; -webkit-font-smoothing: antialiased;
text-rendering: optimizeLegibility;
text-rendering: optimizelegibility;
font-family: Helvetica Neue, Helvetica, PingFang SC, Hiragino Sans GB, font-family: Helvetica Neue, Helvetica, PingFang SC, Hiragino Sans GB,
Microsoft YaHei, Arial, sans-serif; Microsoft YaHei, Arial, sans-serif;
} }
@ -74,19 +74,11 @@ ul {
/* 灰色模式 */ /* 灰色模式 */
.html-grey { .html-grey {
filter: grayscale(100%); filter: grayscale(100%);
-webkit-filter: grayscale(100%);
-moz-filter: grayscale(100%);
-ms-filter: grayscale(100%);
-o-filter: grayscale(100%);
} }
/* 色弱模式 */ /* 色弱模式 */
.html-weakness { .html-weakness {
filter: invert(80%); filter: invert(80%);
-webkit-filter: invert(80%);
-moz-filter: invert(80%);
-ms-filter: invert(80%);
-o-filter: invert(80%);
} }
.pc-spacing { .pc-spacing {

5
src/style/sidebar.scss

@ -502,9 +502,7 @@
background-color: $menuActiveBefore; background-color: $menuActiveBefore;
content: ""; content: "";
clear: both; clear: both;
-webkit-transition: all 0.2s ease-in-out;
transition: all 0.2s ease-in-out; transition: all 0.2s ease-in-out;
-webkit-transform: translateY(0);
transform: translateY(0); transform: translateY(0);
} }
@ -517,9 +515,7 @@
background-color: $menuActiveBefore; background-color: $menuActiveBefore;
content: ""; content: "";
clear: both; clear: both;
-webkit-transition: all 0.2s ease-in-out;
transition: all 0.2s ease-in-out; transition: all 0.2s ease-in-out;
-webkit-transform: translateY(0);
transform: translateY(0); transform: translateY(0);
} }
@ -530,7 +526,6 @@
position: absolute; position: absolute;
height: 0; height: 0;
width: 3px; width: 3px;
-webkit-transform: translateY(-50%);
transform: translateY(-50%); transform: translateY(-50%);
top: 50%; top: 50%;
} }

29
stylelint.config.js

@ -1,18 +1,20 @@
module.exports = { module.exports = {
root: true, root: true,
plugins: ["stylelint-order"], plugins: ["stylelint-order"],
customSyntax: "postcss-html",
extends: ["stylelint-config-standard", "stylelint-config-prettier"], extends: ["stylelint-config-standard", "stylelint-config-prettier"],
rules: { rules: {
"selector-class-pattern": null,
"selector-pseudo-class-no-unknown": [ "selector-pseudo-class-no-unknown": [
true, true,
{ {
ignorePseudoClasses: ["deep"]
ignorePseudoClasses: ["global"]
} }
], ],
"selector-pseudo-element-no-unknown": [ "selector-pseudo-element-no-unknown": [
true, true,
{ {
ignorePseudoElements: ["v-deep", ":deep"]
ignorePseudoElements: ["v-deep"]
} }
], ],
"at-rule-no-unknown": [ "at-rule-no-unknown": [
@ -65,5 +67,26 @@ module.exports = {
{ severity: "warning" } { severity: "warning" }
] ]
}, },
ignoreFiles: ["**/*.js", "**/*.jsx", "**/*.tsx", "**/*.ts", "**/*.json"]
ignoreFiles: ["**/*.js", "**/*.jsx", "**/*.tsx", "**/*.ts", "**/*.json"],
overrides: [
{
files: ["*.vue", "**/*.vue", "*.html", "**/*.html"],
extends: ["stylelint-config-recommended", "stylelint-config-html"],
rules: {
"keyframes-name-pattern": null,
"selector-pseudo-class-no-unknown": [
true,
{
ignorePseudoClasses: ["deep", "global"]
}
],
"selector-pseudo-element-no-unknown": [
true,
{
ignorePseudoElements: ["v-deep", "v-global", "v-slotted"]
}
]
}
}
]
}; };
Loading…
Cancel
Save