diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000000000000000000000000000000000000..00ee2de469cb37b1203c263276c4f99629ed0de7 --- /dev/null +++ b/.editorconfig @@ -0,0 +1,15 @@ +# http://editorconfig.org +root = true + +# 表示所有文件适用 +[*] +charset = utf-8 # 设置文件字符集为 utf-8 +end_of_line = lf # 控制换行类型(lf | cr | crlf) +indent_style = space # 缩进风格(tab | space) +indent_size = 2 # 缩进大小 +insert_final_newline = true # 始终在文件末尾插入一个新行 + +# 表示仅 md 文件适用以下规则 +[*.md] +max_line_length = off # 关闭最大行长度限制 +trim_trailing_whitespace = false # 关闭末尾空格修剪 diff --git a/.env.development b/.env.development index 0c92b764be29441d2fd89022b0ed23a04e2188de..1d34584a43a0a670805a0194242bb0c45644b721 100644 --- a/.env.development +++ b/.env.development @@ -5,4 +5,12 @@ NODE_ENV='development' VITE_APP_TITLE = 'vue3-element-admin' VITE_APP_PORT = 3000 + +# API请求前缀 VITE_APP_BASE_API = '/dev-api' + +# proxy代理配置 +VITE_APP_TARGET_URL = 'http://vapi.youlai.tech' # 线上接口 +# VITE_APP_TARGET_URL = 'http://localhost:8989' # 本地接口,本地启动后端:https://gitee.com/youlaiorg/youlai-boot +# VITE_APP_TARGET_URL = 'http://localhost:3000' # 本地Mock +VITE_APP_TARGET_BASE_API = '' diff --git a/.env.production b/.env.production index bc89fec3ee419e99c13a3568e8b76c2dea800ce3..ad781c0809b9152bd9876375b812d6a4ec4092de 100644 --- a/.env.production +++ b/.env.production @@ -1,6 +1,11 @@ ## 生产环境 -NODE_ENV='production' VITE_APP_TITLE = 'vue3-element-admin' VITE_APP_PORT = 3000 + +# API请求前缀 VITE_APP_BASE_API = '/prod-api' + +# proxy代理配置 +VITE_APP_TARGET_URL = "http://vapi.youlai.tech" +VITE_APP_TARGET_BASE_API = '' diff --git a/.env.staging b/.env.staging index 7a0b3d37ac8c6b96be79600d35e8dbe41166f164..7b5894bb357747c1b466b7a92bea7ab316cd4e38 100644 --- a/.env.staging +++ b/.env.staging @@ -3,4 +3,6 @@ NODE_ENV='staging' VITE_APP_TITLE = 'vue3-element-admin' VITE_APP_PORT = 3000 -VITE_APP_BASE_API = '/prod--api' + +VITE_APP_TARGET_URL = 'http://localhost:3000'; +VITE_APP_BASE_API = '/prod-api' diff --git a/.eslintignore b/.eslintignore new file mode 100644 index 0000000000000000000000000000000000000000..43af40f40b04b72962b5d6356f00441a8e606838 --- /dev/null +++ b/.eslintignore @@ -0,0 +1,14 @@ +dist +node_modules +public +.husky +.vscode +.idea +*.sh +*.md + +src/assets + +.eslintrc.cjs +.prettierrc.cjs +.stylelintrc.cjs diff --git a/.eslintrc-auto-import.json b/.eslintrc-auto-import.json new file mode 100644 index 0000000000000000000000000000000000000000..f4738bfcc31d71c19b21c58d72bd25f0705f09d4 --- /dev/null +++ b/.eslintrc-auto-import.json @@ -0,0 +1,284 @@ +{ + "globals": { + "Component": true, + "ComponentPublicInstance": true, + "ComputedRef": true, + "EffectScope": true, + "ElMessage": true, + "ElMessageBox": true, + "ElNotification": true, + "InjectionKey": true, + "PropType": true, + "Ref": true, + "VNode": true, + "asyncComputed": true, + "autoResetRef": true, + "computed": true, + "computedAsync": true, + "computedEager": true, + "computedInject": true, + "computedWithControl": true, + "controlledComputed": true, + "controlledRef": true, + "createApp": true, + "createEventHook": true, + "createGlobalState": true, + "createInjectionState": true, + "createReactiveFn": true, + "createReusableTemplate": true, + "createSharedComposable": true, + "createTemplatePromise": true, + "createUnrefFn": true, + "customRef": true, + "debouncedRef": true, + "debouncedWatch": true, + "defineAsyncComponent": true, + "defineComponent": true, + "eagerComputed": true, + "effectScope": true, + "extendRef": true, + "getCurrentInstance": true, + "getCurrentScope": true, + "h": true, + "ignorableWatch": true, + "inject": true, + "isDefined": true, + "isProxy": true, + "isReactive": true, + "isReadonly": true, + "isRef": true, + "makeDestructurable": true, + "markRaw": true, + "nextTick": true, + "onActivated": true, + "onBeforeMount": true, + "onBeforeUnmount": true, + "onBeforeUpdate": true, + "onClickOutside": true, + "onDeactivated": true, + "onErrorCaptured": true, + "onKeyStroke": true, + "onLongPress": true, + "onMounted": true, + "onRenderTracked": true, + "onRenderTriggered": true, + "onScopeDispose": true, + "onServerPrefetch": true, + "onStartTyping": true, + "onUnmounted": true, + "onUpdated": true, + "pausableWatch": true, + "provide": true, + "reactify": true, + "reactifyObject": true, + "reactive": true, + "reactiveComputed": true, + "reactiveOmit": true, + "reactivePick": true, + "readonly": true, + "ref": true, + "refAutoReset": true, + "refDebounced": true, + "refDefault": true, + "refThrottled": true, + "refWithControl": true, + "resolveComponent": true, + "resolveRef": true, + "resolveUnref": true, + "shallowReactive": true, + "shallowReadonly": true, + "shallowRef": true, + "syncRef": true, + "syncRefs": true, + "templateRef": true, + "throttledRef": true, + "throttledWatch": true, + "toRaw": true, + "toReactive": true, + "toRef": true, + "toRefs": true, + "toValue": true, + "triggerRef": true, + "tryOnBeforeMount": true, + "tryOnBeforeUnmount": true, + "tryOnMounted": true, + "tryOnScopeDispose": true, + "tryOnUnmounted": true, + "unref": true, + "unrefElement": true, + "until": true, + "useActiveElement": true, + "useAnimate": true, + "useArrayDifference": true, + "useArrayEvery": true, + "useArrayFilter": true, + "useArrayFind": true, + "useArrayFindIndex": true, + "useArrayFindLast": true, + "useArrayIncludes": true, + "useArrayJoin": true, + "useArrayMap": true, + "useArrayReduce": true, + "useArraySome": true, + "useArrayUnique": true, + "useAsyncQueue": true, + "useAsyncState": true, + "useAttrs": true, + "useBase64": true, + "useBattery": true, + "useBluetooth": true, + "useBreakpoints": true, + "useBroadcastChannel": true, + "useBrowserLocation": true, + "useCached": true, + "useClipboard": true, + "useCloned": true, + "useColorMode": true, + "useConfirmDialog": true, + "useCounter": true, + "useCssModule": true, + "useCssVar": true, + "useCssVars": true, + "useCurrentElement": true, + "useCycleList": true, + "useDark": true, + "useDateFormat": true, + "useDebounce": true, + "useDebounceFn": true, + "useDebouncedRefHistory": true, + "useDeviceMotion": true, + "useDeviceOrientation": true, + "useDevicePixelRatio": true, + "useDevicesList": true, + "useDisplayMedia": true, + "useDocumentVisibility": true, + "useDraggable": true, + "useDropZone": true, + "useElementBounding": true, + "useElementByPoint": true, + "useElementHover": true, + "useElementSize": true, + "useElementVisibility": true, + "useEventBus": true, + "useEventListener": true, + "useEventSource": true, + "useEyeDropper": true, + "useFavicon": true, + "useFetch": true, + "useFileDialog": true, + "useFileSystemAccess": true, + "useFocus": true, + "useFocusWithin": true, + "useFps": true, + "useFullscreen": true, + "useGamepad": true, + "useGeolocation": true, + "useIdle": true, + "useImage": true, + "useInfiniteScroll": true, + "useIntersectionObserver": true, + "useInterval": true, + "useIntervalFn": true, + "useKeyModifier": true, + "useLastChanged": true, + "useLocalStorage": true, + "useMagicKeys": true, + "useManualRefHistory": true, + "useMediaControls": true, + "useMediaQuery": true, + "useMemoize": true, + "useMemory": true, + "useMounted": true, + "useMouse": true, + "useMouseInElement": true, + "useMousePressed": true, + "useMutationObserver": true, + "useNavigatorLanguage": true, + "useNetwork": true, + "useNow": true, + "useObjectUrl": true, + "useOffsetPagination": true, + "useOnline": true, + "usePageLeave": true, + "useParallax": true, + "useParentElement": true, + "usePerformanceObserver": true, + "usePermission": true, + "usePointer": true, + "usePointerLock": true, + "usePointerSwipe": true, + "usePreferredColorScheme": true, + "usePreferredContrast": true, + "usePreferredDark": true, + "usePreferredLanguages": true, + "usePreferredReducedMotion": true, + "usePrevious": true, + "useRafFn": true, + "useRefHistory": true, + "useResizeObserver": true, + "useScreenOrientation": true, + "useScreenSafeArea": true, + "useScriptTag": true, + "useScroll": true, + "useScrollLock": true, + "useSessionStorage": true, + "useShare": true, + "useSlots": true, + "useSorted": true, + "useSpeechRecognition": true, + "useSpeechSynthesis": true, + "useStepper": true, + "useStorage": true, + "useStorageAsync": true, + "useStyleTag": true, + "useSupported": true, + "useSwipe": true, + "useTemplateRefsList": true, + "useTextDirection": true, + "useTextSelection": true, + "useTextareaAutosize": true, + "useThrottle": true, + "useThrottleFn": true, + "useThrottledRefHistory": true, + "useTimeAgo": true, + "useTimeout": true, + "useTimeoutFn": true, + "useTimeoutPoll": true, + "useTimestamp": true, + "useTitle": true, + "useToNumber": true, + "useToString": true, + "useToggle": true, + "useTransition": true, + "useUrlSearchParams": true, + "useUserMedia": true, + "useVModel": true, + "useVModels": true, + "useVibrate": true, + "useVirtualList": true, + "useWakeLock": true, + "useWebNotification": true, + "useWebSocket": true, + "useWebWorker": true, + "useWebWorkerFn": true, + "useWindowFocus": true, + "useWindowScroll": true, + "useWindowSize": true, + "watch": true, + "watchArray": true, + "watchAtMost": true, + "watchDebounced": true, + "watchDeep": true, + "watchEffect": true, + "watchIgnorable": true, + "watchImmediate": true, + "watchOnce": true, + "watchPausable": true, + "watchPostEffect": true, + "watchSyncEffect": true, + "watchThrottled": true, + "watchTriggerable": true, + "watchWithFilter": true, + "whenever": true + } +} diff --git a/.eslintrc.cjs b/.eslintrc.cjs new file mode 100644 index 0000000000000000000000000000000000000000..69c2fc75ce98f9af62ef65ac480f2ce1e8a49399 --- /dev/null +++ b/.eslintrc.cjs @@ -0,0 +1,86 @@ +module.exports = { + root: true, + env: { + browser: true, + es2021: true, + node: true, + }, + parser: "vue-eslint-parser", + extends: [ + // 参考vuejs官方的eslint配置: https://eslint.vuejs.org/user-guide/#usage + "plugin:vue/vue3-recommended", + "./.eslintrc-auto-import.json", + "prettier", + "plugin:@typescript-eslint/recommended", + "plugin:prettier/recommended", + ], + parserOptions: { + ecmaVersion: "latest", + sourceType: "module", + parser: "@typescript-eslint/parser", + project: "./tsconfig.*?.json", + createDefaultProgram: false, + extraFileExtensions: [".vue"], + }, + plugins: ["vue", "@typescript-eslint"], + rules: { + "vue/multi-word-component-names": "off", // 关闭组件名必须多字: https://eslint.vuejs.org/rules/multi-word-component-names.html + "@typescript-eslint/no-empty-function": "off", // 关闭空方法检查 + "@typescript-eslint/no-explicit-any": "off", // 关闭any类型的警告 + "vue/no-v-model-argument": "off", + "@typescript-eslint/no-non-null-assertion": "off", + "@typescript-eslint/ban-ts-ignore": "off", + "@typescript-eslint/ban-ts-comment": "off", + "@typescript-eslint/ban-types": "off", + "@typescript-eslint/explicit-function-return-type": "off", + "@typescript-eslint/no-explicit-any": "off", + "@typescript-eslint/no-var-requires": "off", + "@typescript-eslint/no-empty-function": "off", + "@typescript-eslint/no-use-before-define": "off", + "@typescript-eslint/no-non-null-assertion": "off", + "@typescript-eslint/explicit-module-boundary-types": "off", + "vue/script-setup-uses-vars": "error", + "vue/no-reserved-component-names": "off", + "vue/custom-event-name-casing": "off", + "vue/attributes-order": "off", + "vue/one-component-per-file": "off", + "vue/html-closing-bracket-newline": "off", + "vue/max-attributes-per-line": "off", + "vue/multiline-html-element-content-newline": "off", + "vue/singleline-html-element-content-newline": "off", + "vue/attribute-hyphenation": "off", + "vue/require-default-prop": "off", + "vue/require-explicit-emits": "off", + "vue/html-self-closing": [ + "error", + { + html: { + void: "always", + normal: "never", + component: "always", + }, + svg: "always", + math: "always", + }, + ], + "vue/multi-word-component-names": "off", + "prettier/prettier": [ + "error", + { + useTabs: false, // 不使用制表符 + }, + ], + }, + // eslint不能对html文件生效 + overrides: [ + { + files: ["*.html"], + processor: "vue/.vue", + }, + ], + // https://eslint.org/docs/latest/use/configure/language-options#specifying-globals + globals: { + DialogOption: "readonly", + OptionType: "readonly", + }, +}; diff --git a/.gitignore b/.gitignore index 1da66c1e9a35adf6d08ff4f687dea3c9860a0c59..1fd449a71e4486e3776d184cf894fc1a23a3ba05 100644 --- a/.gitignore +++ b/.gitignore @@ -6,7 +6,6 @@ dist-ssr # Editor directories and files .idea -.vscode *.suo *.ntvs* *.njsproj @@ -14,4 +13,5 @@ dist-ssr *.local package-lock.json -yarn.lock \ No newline at end of file +pnpm-lock.yaml +stats.html diff --git a/.husky/commit-msg b/.husky/commit-msg new file mode 100755 index 0000000000000000000000000000000000000000..e8511eaeaf61dd7e09c3e9f35cdee6c636568f1c --- /dev/null +++ b/.husky/commit-msg @@ -0,0 +1,4 @@ +#!/bin/sh +. "$(dirname "$0")/_/husky.sh" + +npx --no-install commitlint --edit $1 diff --git a/.husky/pre-commit b/.husky/pre-commit new file mode 100755 index 0000000000000000000000000000000000000000..37568d10abfa3b19c2e1a3d1ad6a59b13f4f2fc3 --- /dev/null +++ b/.husky/pre-commit @@ -0,0 +1,4 @@ +#!/bin/sh +. "$(dirname "$0")/_/husky.sh" + +npm run lint:lint-staged diff --git a/.prettierignore b/.prettierignore new file mode 100644 index 0000000000000000000000000000000000000000..f3e9850f460c163870500fe21e4671dca1805640 --- /dev/null +++ b/.prettierignore @@ -0,0 +1,11 @@ +dist +node_modules +public +.husky +.vscode +.idea +*.sh +*.md + +src/assets +stats.html diff --git a/.prettierrc.cjs b/.prettierrc.cjs new file mode 100644 index 0000000000000000000000000000000000000000..347fb32e916c99606c414e698418d8689aef29c0 --- /dev/null +++ b/.prettierrc.cjs @@ -0,0 +1,46 @@ +module.exports = { + // (x)=>{},单个参数箭头函数是否显示小括号。(always:始终显示;avoid:省略括号。默认:always) + arrowParens: "always", + // 开始标签的右尖括号是否跟随在最后一行属性末尾,默认false + bracketSameLine: false, + // 对象字面量的括号之间打印空格 (true - Example: { foo: bar } ; false - Example: {foo:bar}) + bracketSpacing: true, + // 是否格式化一些文件中被嵌入的代码片段的风格(auto|off;默认auto) + embeddedLanguageFormatting: "auto", + // 指定 HTML 文件的空格敏感度 (css|strict|ignore;默认css) + htmlWhitespaceSensitivity: "css", + // 当文件已经被 Prettier 格式化之后,是否会在文件顶部插入一个特殊的 @format 标记,默认false + insertPragma: false, + // 在 JSX 中使用单引号替代双引号,默认false + jsxSingleQuote: false, + // 每行最多字符数量,超出换行(默认80) + printWidth: 80, + // 超出打印宽度 (always | never | preserve ) + proseWrap: "preserve", + // 对象属性是否使用引号(as-needed | consistent | preserve;默认as-needed:对象的属性需要加引号才添加;) + quoteProps: "as-needed", + // 是否只格式化在文件顶部包含特定注释(@prettier| @format)的文件,默认false + requirePragma: false, + // 结尾添加分号 + semi: true, + // 使用单引号 (true:单引号;false:双引号) + singleQuote: false, + // 缩进空格数,默认2个空格 + tabWidth: 2, + // 元素末尾是否加逗号,默认es5: ES5中的 objects, arrays 等会添加逗号,TypeScript 中的 type 后不加逗号 + trailingComma: "es5", + // 指定缩进方式,空格或tab,默认false,即使用空格 + useTabs: false, + // vue 文件中是否缩进 \ No newline at end of file diff --git a/src/assets/icons/checkbox.svg b/src/assets/icons/checkbox.svg deleted file mode 100644 index 013fd3a273eec2b45ea72843d7b3334c5d750530..0000000000000000000000000000000000000000 --- a/src/assets/icons/checkbox.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/assets/icons/client.svg b/src/assets/icons/client.svg new file mode 100644 index 0000000000000000000000000000000000000000..ad4bc15a914565522a92dde6f13153b21df3ff64 --- /dev/null +++ b/src/assets/icons/client.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/clipboard.svg b/src/assets/icons/clipboard.svg deleted file mode 100644 index 90923ff6282ec6aa403936bbe44b68e134cb9bcf..0000000000000000000000000000000000000000 --- a/src/assets/icons/clipboard.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/assets/icons/close.svg b/src/assets/icons/close.svg new file mode 100644 index 0000000000000000000000000000000000000000..5b5057f27e91ef29be61d8863a408c97bc7f08c3 --- /dev/null +++ b/src/assets/icons/close.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/close_all.svg b/src/assets/icons/close_all.svg new file mode 100644 index 0000000000000000000000000000000000000000..aa13cd755c1a2be7b7f1760bf34768588b7e59d3 --- /dev/null +++ b/src/assets/icons/close_all.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/close_left.svg b/src/assets/icons/close_left.svg new file mode 100644 index 0000000000000000000000000000000000000000..e5708ea5c5c32eb0225f8a68bcfe03f268b71e18 --- /dev/null +++ b/src/assets/icons/close_left.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/close_other.svg b/src/assets/icons/close_other.svg new file mode 100644 index 0000000000000000000000000000000000000000..212e6c283f442230763e4c14bfacb27862f1baf3 --- /dev/null +++ b/src/assets/icons/close_other.svg @@ -0,0 +1 @@ + diff --git a/src/assets/icons/close_right.svg b/src/assets/icons/close_right.svg new file mode 100644 index 0000000000000000000000000000000000000000..14d3cf39a11bf0674c3150f46508104eb827ef0d --- /dev/null +++ b/src/assets/icons/close_right.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/code.svg b/src/assets/icons/code.svg deleted file mode 100644 index ed4d23cf4021f72022fa8f99ff89154c3741b3d6..0000000000000000000000000000000000000000 --- a/src/assets/icons/code.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/assets/icons/color.svg b/src/assets/icons/color.svg deleted file mode 100644 index 44a81aab1bb9de3907ec9fadaf2d9e616979390f..0000000000000000000000000000000000000000 --- a/src/assets/icons/color.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/assets/icons/component.svg b/src/assets/icons/component.svg deleted file mode 100644 index 29c345809974665d96ed42e261734bc56c37b826..0000000000000000000000000000000000000000 --- a/src/assets/icons/component.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/assets/icons/coupon.svg b/src/assets/icons/coupon.svg new file mode 100644 index 0000000000000000000000000000000000000000..2f952b240dc8dbe902c07f1fe197184530fbf5dc --- /dev/null +++ b/src/assets/icons/coupon.svg @@ -0,0 +1 @@ + diff --git a/src/assets/icons/date-range.svg b/src/assets/icons/date-range.svg deleted file mode 100644 index fda571e700372418697293910f77957c07290cfe..0000000000000000000000000000000000000000 --- a/src/assets/icons/date-range.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/assets/icons/date.svg b/src/assets/icons/date.svg deleted file mode 100644 index 52dc73eecfaca2c315b54d99ba7030a79e549f36..0000000000000000000000000000000000000000 --- a/src/assets/icons/date.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/assets/icons/dict.svg b/src/assets/icons/dict.svg index 484937730750b9adb201df69abef2503760f7229..22a8278119da47dcc7ed727d277e9afc9dd664b3 100644 --- a/src/assets/icons/dict.svg +++ b/src/assets/icons/dict.svg @@ -1 +1,18 @@ - \ No newline at end of file + + + + + + + diff --git a/src/assets/icons/dict_item.svg b/src/assets/icons/dict_item.svg new file mode 100644 index 0000000000000000000000000000000000000000..903109a7fe810f8915bc52ec4c7a7dc0b65f0a34 --- /dev/null +++ b/src/assets/icons/dict_item.svg @@ -0,0 +1,12 @@ + + + + + + + + + diff --git a/src/assets/icons/document.svg b/src/assets/icons/document.svg new file mode 100644 index 0000000000000000000000000000000000000000..918ae33dca2316c16f5cc2ae866f9f5c1390f7b8 --- /dev/null +++ b/src/assets/icons/document.svg @@ -0,0 +1 @@ + diff --git a/src/assets/icons/documentation.svg b/src/assets/icons/documentation.svg deleted file mode 100644 index 704312289e6ad2f65a3ace229e73fb5c7f3e94e9..0000000000000000000000000000000000000000 --- a/src/assets/icons/documentation.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/assets/icons/download.svg b/src/assets/icons/download.svg index c8969513493e7ac96725dcf2f01400e7c2c63df6..61ec1f9fffdf145470cc16ff9f8c01c9caaf26a8 100644 --- a/src/assets/icons/download.svg +++ b/src/assets/icons/download.svg @@ -1 +1 @@ - \ No newline at end of file + diff --git a/src/assets/icons/druid.svg b/src/assets/icons/druid.svg deleted file mode 100644 index a2b4b4ed2481975a127506a9516e5c12417ac93e..0000000000000000000000000000000000000000 --- a/src/assets/icons/druid.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/assets/icons/education.svg b/src/assets/icons/education.svg deleted file mode 100644 index 7bfb01d180f9ac9cf45429412129a7b7be4d8daf..0000000000000000000000000000000000000000 --- a/src/assets/icons/education.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/assets/icons/email.svg b/src/assets/icons/email.svg deleted file mode 100644 index 74d25e21a6f98b90b34b2b8d2ce2dd90b38eb000..0000000000000000000000000000000000000000 --- a/src/assets/icons/email.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/assets/icons/example.svg b/src/assets/icons/example.svg deleted file mode 100644 index 46f42b5323d11686c44b573729db0df115343d5c..0000000000000000000000000000000000000000 --- a/src/assets/icons/example.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/assets/icons/excel.svg b/src/assets/icons/excel.svg deleted file mode 100644 index 74d97b802f8bf84caf4c623e77f890f74516d50f..0000000000000000000000000000000000000000 --- a/src/assets/icons/excel.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/assets/icons/form.svg b/src/assets/icons/form.svg deleted file mode 100644 index 9ab55a03f73575b6be0ee71fcd93630d7888bcbc..0000000000000000000000000000000000000000 --- a/src/assets/icons/form.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/src/assets/icons/goods-list.svg b/src/assets/icons/goods-list.svg new file mode 100644 index 0000000000000000000000000000000000000000..fcb971edc6ec3c436f5eb4afc5e11fe34440caf0 --- /dev/null +++ b/src/assets/icons/goods-list.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/goods.svg b/src/assets/icons/goods.svg new file mode 100644 index 0000000000000000000000000000000000000000..60c1c734fcf451ef711e9fde5d3745c95f66664a --- /dev/null +++ b/src/assets/icons/goods.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/homepage.svg b/src/assets/icons/homepage.svg new file mode 100644 index 0000000000000000000000000000000000000000..48f4e2490b3bcee52b1221064b0ad906351276bc --- /dev/null +++ b/src/assets/icons/homepage.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/input.svg b/src/assets/icons/input.svg deleted file mode 100644 index ab91381e6df0ec6307d677f0dce75b9c9d95e5d5..0000000000000000000000000000000000000000 --- a/src/assets/icons/input.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/assets/icons/international.svg b/src/assets/icons/international.svg deleted file mode 100644 index e9b56eee2c59774f0431186b9af2ba7593bffcc0..0000000000000000000000000000000000000000 --- a/src/assets/icons/international.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/assets/icons/ip.svg b/src/assets/icons/ip.svg deleted file mode 100644 index e59f29b35f9919adca8ab2e295a51569f2e55182..0000000000000000000000000000000000000000 --- a/src/assets/icons/ip.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/src/assets/icons/job.svg b/src/assets/icons/job.svg deleted file mode 100644 index 2a93a25195e29eba9c76d7ce5bdd6f1a71f9aee4..0000000000000000000000000000000000000000 --- a/src/assets/icons/job.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/assets/icons/lab.svg b/src/assets/icons/lab.svg new file mode 100644 index 0000000000000000000000000000000000000000..d4d60aacf28a6373c50729d6aff2c2f1051eb3df --- /dev/null +++ b/src/assets/icons/lab.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/language.svg b/src/assets/icons/language.svg index 0082b577ab28523f353fa71c00cb338446b2bb9c..d2dd693ddfecd05d079a287498fa70d1719787e8 100644 --- a/src/assets/icons/language.svg +++ b/src/assets/icons/language.svg @@ -1 +1 @@ - \ No newline at end of file + diff --git a/src/assets/icons/link.svg b/src/assets/icons/link.svg index 48197ba4da7b4314a16a19a698fe96c1b2a7ad0b..9748d5303a495fb3ea7f260e48a7137e5774bc63 100644 --- a/src/assets/icons/link.svg +++ b/src/assets/icons/link.svg @@ -1 +1 @@ - \ No newline at end of file + diff --git a/src/assets/icons/list.svg b/src/assets/icons/list.svg deleted file mode 100644 index 20259eddb7c0cf77efe9cb1c561d2df8961094f5..0000000000000000000000000000000000000000 --- a/src/assets/icons/list.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/assets/icons/lock.svg b/src/assets/icons/lock.svg deleted file mode 100644 index 74fee543dd1d9bc0ceb3310cc87bf65e268bf364..0000000000000000000000000000000000000000 --- a/src/assets/icons/lock.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/assets/icons/log.svg b/src/assets/icons/log.svg deleted file mode 100644 index d879d33b6cd96ae370e104d58589915441e1bcb3..0000000000000000000000000000000000000000 --- a/src/assets/icons/log.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/assets/icons/logininfor.svg b/src/assets/icons/logininfor.svg deleted file mode 100644 index 267f84474266c8ebe6ae61925a7c1cb4e3814079..0000000000000000000000000000000000000000 --- a/src/assets/icons/logininfor.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/assets/icons/menu.svg b/src/assets/icons/menu.svg index 719c78dc699b5378b718677b4b276fde634ae1f5..92c364c2317c7eba477fa1cb9748a8b36b033108 100644 --- a/src/assets/icons/menu.svg +++ b/src/assets/icons/menu.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/src/assets/icons/message.svg b/src/assets/icons/message.svg index 14ca81728a3de16e103a858b4ce31f8e0f550bce..ea1ddef10f911417c4aeee02b7dc091312eb3e08 100644 --- a/src/assets/icons/message.svg +++ b/src/assets/icons/message.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/src/assets/icons/money.svg b/src/assets/icons/money.svg index c1580de10e1f1c504f7bfcaba4f41b24d816d8f2..60f7acf4c53650e424b46924b48279e555b7b153 100644 --- a/src/assets/icons/money.svg +++ b/src/assets/icons/money.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/src/assets/icons/multi_level.svg b/src/assets/icons/multi_level.svg new file mode 100644 index 0000000000000000000000000000000000000000..a1a2792144f6252a02d48d673e203e96be125b22 --- /dev/null +++ b/src/assets/icons/multi_level.svg @@ -0,0 +1 @@ + diff --git a/src/assets/icons/offline.svg b/src/assets/icons/offline.svg deleted file mode 100644 index d09cb16c5da6653b30010393bc52bddf131f647a..0000000000000000000000000000000000000000 --- a/src/assets/icons/offline.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/src/assets/icons/online.svg b/src/assets/icons/online.svg deleted file mode 100644 index 330a202935b887236b34200b163f6a421bad592f..0000000000000000000000000000000000000000 --- a/src/assets/icons/online.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/assets/icons/order.svg b/src/assets/icons/order.svg new file mode 100644 index 0000000000000000000000000000000000000000..8f2107ec41dfe129b3528e3dab30105f1a5a0bce --- /dev/null +++ b/src/assets/icons/order.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/pdf.svg b/src/assets/icons/pdf.svg deleted file mode 100644 index 957aa0cc3597c1277ded6367716067c9874552e0..0000000000000000000000000000000000000000 --- a/src/assets/icons/pdf.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/assets/icons/people.svg b/src/assets/icons/people.svg deleted file mode 100644 index 2bd54aeb728197066e987e8d8d98364f50ed5be6..0000000000000000000000000000000000000000 --- a/src/assets/icons/people.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/assets/icons/peoples.svg b/src/assets/icons/peoples.svg index 907404cd05694a9ae1095ec0edaceb1328500a9d..383b82d2729dd57d953dfbb01bfa01a9256ad60a 100644 --- a/src/assets/icons/peoples.svg +++ b/src/assets/icons/peoples.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/src/assets/icons/perm.svg b/src/assets/icons/perm.svg index 8ed624b9d1bf2f737048926f0cd425d9d633ad1c..b38d0657e4637e9136aec5254cf68f38b69c0697 100644 --- a/src/assets/icons/perm.svg +++ b/src/assets/icons/perm.svg @@ -1 +1 @@ - \ No newline at end of file + diff --git a/src/assets/icons/phone.svg b/src/assets/icons/phone.svg deleted file mode 100644 index ab8e8c4e5b3765c92e98fd2ecfeeda892661ac17..0000000000000000000000000000000000000000 --- a/src/assets/icons/phone.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/assets/icons/post.svg b/src/assets/icons/post.svg deleted file mode 100644 index 2922c613bddb847c6f411e27b5ad874f577a633f..0000000000000000000000000000000000000000 --- a/src/assets/icons/post.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/assets/icons/publish.svg b/src/assets/icons/publish.svg new file mode 100644 index 0000000000000000000000000000000000000000..e9b489c323cff056fd6fdc1cc7da08a6b5cfb435 --- /dev/null +++ b/src/assets/icons/publish.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/qq.svg b/src/assets/icons/qq.svg deleted file mode 100644 index ee13d4ec2e54dbbe64009db689c502b05629721a..0000000000000000000000000000000000000000 --- a/src/assets/icons/qq.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/assets/icons/question.svg b/src/assets/icons/question.svg deleted file mode 100644 index cf75bd4bea55c98003ca97828fcb3e37d5c4450e..0000000000000000000000000000000000000000 --- a/src/assets/icons/question.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/assets/icons/rabbitmq.svg b/src/assets/icons/rabbitmq.svg new file mode 100644 index 0000000000000000000000000000000000000000..65aa19854a39a632bc72f364c606bb0db0e62921 --- /dev/null +++ b/src/assets/icons/rabbitmq.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/radio.svg b/src/assets/icons/radio.svg deleted file mode 100644 index 0cde34521ae7b5bddaaa2372a4472fc05f9135a4..0000000000000000000000000000000000000000 --- a/src/assets/icons/radio.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/assets/icons/refresh.svg b/src/assets/icons/refresh.svg new file mode 100644 index 0000000000000000000000000000000000000000..1f549f1ada0d5dff0f5c5f2a91f75da3a646fb34 --- /dev/null +++ b/src/assets/icons/refresh.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/route.svg b/src/assets/icons/route.svg deleted file mode 100644 index b207124471f937772bb7aec1039fdd2b8aac9c36..0000000000000000000000000000000000000000 --- a/src/assets/icons/route.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/src/assets/icons/row.svg b/src/assets/icons/row.svg deleted file mode 100644 index 07809922264539672115e4866d65c3e1e6032df9..0000000000000000000000000000000000000000 --- a/src/assets/icons/row.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/assets/icons/search.svg b/src/assets/icons/search.svg deleted file mode 100644 index 84233ddaa98a45d407cacdc869d9b7634f72d390..0000000000000000000000000000000000000000 --- a/src/assets/icons/search.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/assets/icons/security.svg b/src/assets/icons/security.svg new file mode 100644 index 0000000000000000000000000000000000000000..bcd9d2e6f64bed30b1b085eb504d5f875e386ee5 --- /dev/null +++ b/src/assets/icons/security.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/select.svg b/src/assets/icons/select.svg deleted file mode 100644 index d6283828bac413d2a10d4f6e267d7ba2f5f10aea..0000000000000000000000000000000000000000 --- a/src/assets/icons/select.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/assets/icons/server.svg b/src/assets/icons/server.svg deleted file mode 100644 index ca37b001e93c40a81dc3f9302795edc70e502457..0000000000000000000000000000000000000000 --- a/src/assets/icons/server.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/assets/icons/shopping.svg b/src/assets/icons/shopping.svg index 87513e7c5fdd4260e48f7ead3501e0b9f9798c2a..8d2b4bf95d5eedc397572bbb95e81e7b0ad7f5de 100644 --- a/src/assets/icons/shopping.svg +++ b/src/assets/icons/shopping.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/src/assets/icons/slider.svg b/src/assets/icons/slider.svg deleted file mode 100644 index fbe4f39f004ef8415e039234eaf4bf11b4d9985a..0000000000000000000000000000000000000000 --- a/src/assets/icons/slider.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/assets/icons/swagger.svg b/src/assets/icons/swagger.svg deleted file mode 100644 index 05d4e7bcee9829539a977c51c36560c4aad98c80..0000000000000000000000000000000000000000 --- a/src/assets/icons/swagger.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/assets/icons/switch.svg b/src/assets/icons/switch.svg deleted file mode 100644 index 0ba61e38d72b9af4c6e5a400baa0561f06d8d0c0..0000000000000000000000000000000000000000 --- a/src/assets/icons/switch.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/assets/icons/system.svg b/src/assets/icons/system.svg index dba28cf6fd1ad6992421638659003fdb0e07c032..e3b7e2d49f493919156e3e0e3aa23b5b04949634 100644 --- a/src/assets/icons/system.svg +++ b/src/assets/icons/system.svg @@ -1,2 +1 @@ - \ No newline at end of file + diff --git a/src/assets/icons/tab.svg b/src/assets/icons/tab.svg deleted file mode 100644 index b4b48e48085bb21b18da5386a6d4692a70301977..0000000000000000000000000000000000000000 --- a/src/assets/icons/tab.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/assets/icons/textarea.svg b/src/assets/icons/textarea.svg deleted file mode 100644 index 2709f292ea23aa87ba87d5ee2622c94994c1fbfb..0000000000000000000000000000000000000000 --- a/src/assets/icons/textarea.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/assets/icons/time-range.svg b/src/assets/icons/time-range.svg deleted file mode 100644 index 13c1202bdafa11c73c89ee472f3c810e834dfeca..0000000000000000000000000000000000000000 --- a/src/assets/icons/time-range.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/assets/icons/time.svg b/src/assets/icons/time.svg deleted file mode 100644 index b376e32a608f33f906cda57da3df809c0413a44e..0000000000000000000000000000000000000000 --- a/src/assets/icons/time.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/assets/icons/tool.svg b/src/assets/icons/tool.svg deleted file mode 100644 index c813067ef74945d7fcd48c7092131abd20375168..0000000000000000000000000000000000000000 --- a/src/assets/icons/tool.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/assets/icons/tree-table.svg b/src/assets/icons/tree-table.svg deleted file mode 100644 index 8aafdb829ebbe289f352a533d9764c4f9395e533..0000000000000000000000000000000000000000 --- a/src/assets/icons/tree-table.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/assets/icons/tree.svg b/src/assets/icons/tree.svg index dd4b7dd22fe06076831935066592caec48e323b0..d40a414d9e6099791bd7c0b19c1f22751208720e 100644 --- a/src/assets/icons/tree.svg +++ b/src/assets/icons/tree.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/src/assets/icons/upload.svg b/src/assets/icons/upload.svg deleted file mode 100644 index bae49c0a50e7bc0683d82e3af2e0064adc4108ad..0000000000000000000000000000000000000000 --- a/src/assets/icons/upload.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/assets/icons/user.svg b/src/assets/icons/user.svg index 0ba0716a62a92f7cb2f2e6f3c745ace2be6b3b31..e4c7b389fdcdf91bdb0d8439cd4b6d1b8a58e9de 100644 --- a/src/assets/icons/user.svg +++ b/src/assets/icons/user.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/src/assets/icons/uv.svg b/src/assets/icons/uv.svg new file mode 100644 index 0000000000000000000000000000000000000000..ca4c30126c399e532f578f864b9a879051df9eb5 --- /dev/null +++ b/src/assets/icons/uv.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/validCode.svg b/src/assets/icons/validCode.svg deleted file mode 100644 index cfb10214c53ee9e021a97733c9b5b5c39e388787..0000000000000000000000000000000000000000 --- a/src/assets/icons/validCode.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/assets/icons/verify_code.svg b/src/assets/icons/verify_code.svg new file mode 100644 index 0000000000000000000000000000000000000000..39bf478384a2fef8ac6d826f811a1d0f0e7b76b2 --- /dev/null +++ b/src/assets/icons/verify_code.svg @@ -0,0 +1,9 @@ + + + + diff --git a/src/assets/icons/wechat.svg b/src/assets/icons/wechat.svg deleted file mode 100644 index c586e5511722843f9c741d7530db146dfab864a4..0000000000000000000000000000000000000000 --- a/src/assets/icons/wechat.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/assets/icons/zip.svg b/src/assets/icons/zip.svg deleted file mode 100644 index f806fc4825739224caf820e6edf54e808961b1a6..0000000000000000000000000000000000000000 --- a/src/assets/icons/zip.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/components/Breadcrumb/index.vue b/src/components/Breadcrumb/index.vue index 2c5e158b068a4e9980f52fe5d7c9c3f7730617ba..a17fc3f041a6f1c18b279de639ea32a0976d2e03 100644 --- a/src/components/Breadcrumb/index.vue +++ b/src/components/Breadcrumb/index.vue @@ -1,19 +1,16 @@ \ No newline at end of file + diff --git a/src/components/Dictionary/index.vue b/src/components/Dictionary/index.vue new file mode 100644 index 0000000000000000000000000000000000000000..01fdd5909dbded0f26174273a01bb91f7845c5c2 --- /dev/null +++ b/src/components/Dictionary/index.vue @@ -0,0 +1,87 @@ + + + diff --git a/src/components/GithubCorner/index.vue b/src/components/GithubCorner/index.vue index 2f507ca4b00b79740a7aaccad173c157b34ca366..4b0bba987a518b5153b2c1789fcf6d31a8059b24 100644 --- a/src/components/GithubCorner/index.vue +++ b/src/components/GithubCorner/index.vue @@ -1,17 +1,22 @@ - - diff --git a/src/components/IconSelect/index.vue b/src/components/IconSelect/index.vue index f4be7071d11a522afa90d649316076c134895790..e4f925fcc132802e57eb69942fb0ba2187ca3076 100644 --- a/src/components/IconSelect/index.vue +++ b/src/components/IconSelect/index.vue @@ -1,83 +1,165 @@ - + - \ No newline at end of file + diff --git a/src/components/LangSelect/index.vue b/src/components/LangSelect/index.vue index b94de2fb638ca28dad73776c6d8e6f9148939141..71979db7cc05b24d41e483ceb1b8d7ddd7fcecc9 100644 --- a/src/components/LangSelect/index.vue +++ b/src/components/LangSelect/index.vue @@ -1,49 +1,39 @@ + + - - - - \ No newline at end of file diff --git a/src/components/Pagination/index.vue b/src/components/Pagination/index.vue index e0f85f21e212df7e6f0034e6022c706453ab912e..84e8f3e03c2b9ab320da25fe8cbe6f01f667d10b 100644 --- a/src/components/Pagination/index.vue +++ b/src/components/Pagination/index.vue @@ -1,102 +1,88 @@ - - diff --git a/src/components/RightPanel/index.vue b/src/components/RightPanel/index.vue index 41e2786daaff2f188df5d74fc8a5d8367d967f13..9dc5509cf1a01e26cbe36d1c241f2731fa390b90 100644 --- a/src/components/RightPanel/index.vue +++ b/src/components/RightPanel/index.vue @@ -1,155 +1,136 @@ - - - - diff --git a/src/components/Screenfull/index.vue b/src/components/Screenfull/index.vue deleted file mode 100644 index b5b86973182f3f5bd8c721c31cce8881618b518a..0000000000000000000000000000000000000000 --- a/src/components/Screenfull/index.vue +++ /dev/null @@ -1,12 +0,0 @@ - - - \ No newline at end of file diff --git a/src/components/SizeSelect/index.vue b/src/components/SizeSelect/index.vue index 32040a5ae3e7a47293e126322f1bda447be6f56f..f0800ba22f29d1580c34d0792d32058cebab5672 100644 --- a/src/components/SizeSelect/index.vue +++ b/src/components/SizeSelect/index.vue @@ -1,14 +1,31 @@ + + - - - - \ No newline at end of file diff --git a/src/components/SvgIcon/index.vue b/src/components/SvgIcon/index.vue index 05cc3cde54eb39bc74f8fce4213ba9d1715b94de..07b65e8ddb62f744a0724db7445ed936874731fb 100644 --- a/src/components/SvgIcon/index.vue +++ b/src/components/SvgIcon/index.vue @@ -1,36 +1,45 @@ \ No newline at end of file + diff --git a/src/components/ThemePicker/index.vue b/src/components/ThemePicker/index.vue deleted file mode 100644 index 0bfb2fa0bf2b632f237df2109ea86c6f97f0438d..0000000000000000000000000000000000000000 --- a/src/components/ThemePicker/index.vue +++ /dev/null @@ -1,57 +0,0 @@ - - - - - diff --git a/src/components/TreeSelect/index.vue b/src/components/TreeSelect/index.vue deleted file mode 100644 index 18c99e40167b903d8192372da2b9bbf0e37a2023..0000000000000000000000000000000000000000 --- a/src/components/TreeSelect/index.vue +++ /dev/null @@ -1,170 +0,0 @@ - - - - - diff --git a/src/components/Upload/MultiUpload.vue b/src/components/Upload/MultiUpload.vue new file mode 100644 index 0000000000000000000000000000000000000000..735f7a3e10c0a561ae4ca9ffd62f0e7c0a818d47 --- /dev/null +++ b/src/components/Upload/MultiUpload.vue @@ -0,0 +1,139 @@ + + + + + diff --git a/src/components/Upload/SingleUpload.vue b/src/components/Upload/SingleUpload.vue index 9a81fb5b5d7dcbb9dabf76ac351fbd02fbc45241..631dc28e5293707fbca8b8fcb71f87e80284cbb8 100644 --- a/src/components/Upload/SingleUpload.vue +++ b/src/components/Upload/SingleUpload.vue @@ -1,142 +1,77 @@ - diff --git a/src/components/WangEditor/index.vue b/src/components/WangEditor/index.vue index bd53bae23ac5e1c7d2ead280b8f66e305730f613..2f4c6782383fa5971c32eba891d14e5027a7c756 100644 --- a/src/components/WangEditor/index.vue +++ b/src/components/WangEditor/index.vue @@ -1,73 +1,74 @@ - \ No newline at end of file + diff --git a/src/directive/index.ts b/src/directive/index.ts index 984b401602f542242d506752d708df726af8c00a..9c22eb69f123730bfb405a6e74c88ee538ea0dea 100644 --- a/src/directive/index.ts +++ b/src/directive/index.ts @@ -1 +1,9 @@ -export {hasPerm,hasRole} from "./permission"; \ No newline at end of file +import type { App } from "vue"; + +import { hasPerm } from "./permission"; + +// 全局注册 directive +export function setupDirective(app: App) { + // 使 v-hasPerm 在所有组件中都可用 + app.directive("hasPerm", hasPerm); +} diff --git a/src/directive/permission/index.ts b/src/directive/permission/index.ts index 7b278b7bd01f9cedeeb8bd48ef52e0b7c6842a1a..2bd2c7054f514cf74c2776fa39de656c97213584 100644 --- a/src/directive/permission/index.ts +++ b/src/directive/permission/index.ts @@ -1,55 +1,55 @@ -import useStore from "@/store"; +import { useUserStoreHook } from "@/store/modules/user"; import { Directive, DirectiveBinding } from "vue"; /** - * 按钮权限校验 + * 按钮权限 */ export const hasPerm: Directive = { - mounted(el: HTMLElement, binding: DirectiveBinding) { - // 「超级管理员」拥有所有的按钮权限 - const { user } = useStore() - const roles = user.roles; - if (roles.includes('ROOT')) { - return true - } - // 「其他角色」按钮权限校验 - const { value } = binding; - if (value) { - const requiredPerms = value; // DOM绑定需要的按钮权限标识 + mounted(el: HTMLElement, binding: DirectiveBinding) { + // 「超级管理员」拥有所有的按钮权限 + const { roles, perms } = useUserStoreHook().user; + if (roles.includes("ROOT")) { + return true; + } + // 「其他角色」按钮权限校验 + const { value } = binding; + if (value) { + const requiredPerms = value; // DOM绑定需要的按钮权限标识 - const hasPerm = user.perms.some(perm => { - return requiredPerms.includes(perm) - }) + const hasPerm = perms?.some((perm) => { + return requiredPerms.includes(perm); + }); - if (!hasPerm) { - el.parentNode && el.parentNode.removeChild(el); - } - } else { - throw new Error("need perms! Like v-has-perm=\"['sys:user:add','sys:user:edit']\""); - } + if (!hasPerm) { + el.parentNode && el.parentNode.removeChild(el); + } + } else { + throw new Error( + "need perms! Like v-has-perm=\"['sys:user:add','sys:user:edit']\"" + ); } + }, }; /** - * 角色权限校验 + * 角色权限 */ export const hasRole: Directive = { - mounted(el: HTMLElement, binding: DirectiveBinding) { - const { value } = binding; - - if (value) { - const requiredRoles = value; // DOM绑定需要的角色编码 - const { user } = useStore() - const hasRole = user.roles.some(perm => { - return requiredRoles.includes(perm) - }) + mounted(el: HTMLElement, binding: DirectiveBinding) { + const { value } = binding; + + if (value) { + const requiredRoles = value; // DOM绑定需要的角色编码 + const { roles } = useUserStoreHook().user; + const hasRole = roles.some((perm) => { + return requiredRoles.includes(perm); + }); - if (!hasRole) { - el.parentNode && el.parentNode.removeChild(el); - } - } else { - throw new Error("need roles! Like v-has-role=\"['admin','test']\""); - } + if (!hasRole) { + el.parentNode && el.parentNode.removeChild(el); + } + } else { + throw new Error("need roles! Like v-has-role=\"['admin','test']\""); } + }, }; - diff --git a/src/enums/MenuTypeEnum.ts b/src/enums/MenuTypeEnum.ts new file mode 100644 index 0000000000000000000000000000000000000000..65e591db0a1c8cd5c4a0bf91244de20d10cbc252 --- /dev/null +++ b/src/enums/MenuTypeEnum.ts @@ -0,0 +1,19 @@ +export enum MenuTypeEnum { + /** + * 目录 + */ + CATALOG = "CATALOG", + /** + * 菜单 + */ + MENU = "MENU", + + /** + * 按钮 + */ + BUTTON = "BUTTON", + /** + * 外链 + */ + EXTLINK = "EXTLINK", +} diff --git a/src/lang/en.ts b/src/lang/en.ts deleted file mode 100644 index 535a45ba882e28ef5df6b7e1cd97c143bfad5d76..0000000000000000000000000000000000000000 --- a/src/lang/en.ts +++ /dev/null @@ -1,24 +0,0 @@ -export default { - // 路由国际化 - route: { - dashboard: 'Dashboard', - document: 'Document' - }, - // 登录页面国际化 - login: { - title: 'vue3-element-admin', - username: 'Username', - password: 'Password', - login: 'Login', - code: 'Verification Code', - copyright: '', - icp: '' - }, - // 导航栏国际化 - navbar:{ - dashboard: 'Dashboard', - logout:'Logout', - document:'Document', - gitee:'Gitee' - } -} \ No newline at end of file diff --git a/src/lang/index.ts b/src/lang/index.ts index b56f979db6c0f5966bb9e70b5badabf2a4c1dceb..18c0231690481f1204637dabde7b2f9fab04bedf 100644 --- a/src/lang/index.ts +++ b/src/lang/index.ts @@ -1,46 +1,25 @@ - -// 自定义国际化配置 -import {createI18n} from 'vue-i18n' -import {localStorage} from '@/utils/storage' - +import { createI18n } from "vue-i18n"; +import { useAppStore } from "@/store/modules/app"; // 本地语言包 -import enLocale from './en' -import zhCnLocale from './zh-cn' +import enLocale from "./package/en"; +import zhCnLocale from "./package/zh-cn"; -const messages = { - 'zh-cn': { - ...zhCnLocale - }, - en: { - ...enLocale - } -} +const appStore = useAppStore(); -/** - * 获取当前系统使用语言字符串 - * - * @returns zh-cn|en ... - */ -export const getLanguage = () => { - // 本地缓存获取 - let language = localStorage.get('language') - if (language) { - return language - } - // 浏览器使用语言 - language = navigator.language.toLowerCase() - const locales = Object.keys(messages) - for (const locale of locales) { - if (language.indexOf(locale) > -1) { - return locale - } - } - return 'zh-cn' -} +const messages = { + "zh-cn": { + ...zhCnLocale, + }, + en: { + ...enLocale, + }, +}; const i18n = createI18n({ - locale: getLanguage(), - messages: messages -}) + legacy: false, + locale: appStore.language, + messages: messages, + globalInjection: true, +}); -export default i18n \ No newline at end of file +export default i18n; diff --git a/src/lang/package/en.ts b/src/lang/package/en.ts new file mode 100644 index 0000000000000000000000000000000000000000..a154742bf3b2baba177d04734fe5a28110e8d761 --- /dev/null +++ b/src/lang/package/en.ts @@ -0,0 +1,22 @@ +export default { + // 路由国际化 + route: { + dashboard: "Dashboard", + document: "Document", + }, + // 登录页面国际化 + login: { + title: "vue3-element-admin", + username: "Username", + password: "Password", + login: "Login", + verifyCode: "Verify Code", + }, + // 导航栏国际化 + navbar: { + dashboard: "Dashboard", + logout: "Logout", + document: "Document", + gitee: "Gitee", + }, +}; diff --git a/src/lang/package/zh-cn.ts b/src/lang/package/zh-cn.ts new file mode 100644 index 0000000000000000000000000000000000000000..e3bb63a13ab6fb8d1c532cddb69cd65ce76445bc --- /dev/null +++ b/src/lang/package/zh-cn.ts @@ -0,0 +1,22 @@ +export default { + // 路由国际化 + route: { + dashboard: "首页", + document: "项目文档", + }, + // 登录页面国际化 + login: { + title: "vue3-element-admin", + username: "用户名", + password: "密码", + login: "登 录", + verifyCode: "验证码", + }, + // 导航栏国际化 + navbar: { + dashboard: "首页", + logout: "注销", + document: "项目文档", + gitee: "码云", + }, +}; diff --git a/src/lang/zh-cn.ts b/src/lang/zh-cn.ts deleted file mode 100644 index f0b0017e413c87c7500e977ed41696d8b3a47226..0000000000000000000000000000000000000000 --- a/src/lang/zh-cn.ts +++ /dev/null @@ -1,23 +0,0 @@ -export default { - // 路由国际化 - route: { - dashboard: '首页', - document: '项目文档' - }, - // 登录页面国际化 - login:{ - title: 'vue3-element-admin', - username:'用户名', - password:'密码', - login:'登 录', - code:'请输入验证码', - copyright:'', - icp:'' - }, - navbar:{ - dashboard: '首页', - logout:'注销', - document:'项目文档', - gitee:'码云' - } -} \ No newline at end of file diff --git a/src/layout/components/AppMain.vue b/src/layout/components/AppMain.vue index b5ec9bc2729361cda94bf602ce124784be203bc4..14a64e9e86aa454e1ee9e0d8dbec56067e826339 100644 --- a/src/layout/components/AppMain.vue +++ b/src/layout/components/AppMain.vue @@ -1,36 +1,34 @@ + + - - - - diff --git a/src/layout/components/NavBar/NavRight.vue b/src/layout/components/NavBar/NavRight.vue new file mode 100644 index 0000000000000000000000000000000000000000..63cb1aa8b39446aeec490ccfd0717f147a64f284 --- /dev/null +++ b/src/layout/components/NavBar/NavRight.vue @@ -0,0 +1,120 @@ + + + diff --git a/src/layout/components/NavBar/index.vue b/src/layout/components/NavBar/index.vue new file mode 100644 index 0000000000000000000000000000000000000000..e935d450581faf5dfe36e772e2d54b19a73b3d6c --- /dev/null +++ b/src/layout/components/NavBar/index.vue @@ -0,0 +1,42 @@ + + + + + diff --git a/src/layout/components/Navbar.vue b/src/layout/components/Navbar.vue deleted file mode 100644 index 3e4780db70af560d916e758148ee3a634d192aaf..0000000000000000000000000000000000000000 --- a/src/layout/components/Navbar.vue +++ /dev/null @@ -1,181 +0,0 @@ - - - - diff --git a/src/layout/components/Settings/index.vue b/src/layout/components/Settings/index.vue index 5e5f5588c2d961c58a2b1d739f3b07a562c679d5..8a0dd2cf086330aef303538e3a5a451e09d9b2b3 100644 --- a/src/layout/components/Settings/index.vue +++ b/src/layout/components/Settings/index.vue @@ -1,103 +1,260 @@ + + - + &-mix div:nth-child(2) { + position: absolute; + bottom: 0; + left: 0; + width: 30%; + height: 70%; + background: #1b2a47; + box-shadow: 0 0 1px #888; + } - diff --git a/src/layout/components/Sidebar/LeftMenu.vue b/src/layout/components/Sidebar/LeftMenu.vue new file mode 100644 index 0000000000000000000000000000000000000000..16d132829262ed562c154de9926627f60f535fc3 --- /dev/null +++ b/src/layout/components/Sidebar/LeftMenu.vue @@ -0,0 +1,66 @@ + + diff --git a/src/layout/components/Sidebar/Link.vue b/src/layout/components/Sidebar/Link.vue index 0254b59a8d1a8856872583f84c3fa8e5e294e212..fb1516dab3efaabc7f791c15334c01884989292f 100644 --- a/src/layout/components/Sidebar/Link.vue +++ b/src/layout/components/Sidebar/Link.vue @@ -1,53 +1,38 @@ - - - \ No newline at end of file + router.push(props.to).catch((err) => { + console.error(err); + }); +} + + + diff --git a/src/layout/components/Sidebar/Logo.vue b/src/layout/components/Sidebar/Logo.vue index b22edb9517e16bd5c4a3de2f569e996123d8320e..96a3c57e86192fc03f56cffe5773b14810b90cb8 100644 --- a/src/layout/components/Sidebar/Logo.vue +++ b/src/layout/components/Sidebar/Logo.vue @@ -1,77 +1,58 @@ + + - - diff --git a/src/layout/components/Sidebar/SidebarItem.vue b/src/layout/components/Sidebar/SidebarItem.vue index 2e48bb45758bc66a25e23aee509129877802fa89..84ead3fbd4b85422dbc4e1c213712cdcbabb1690 100644 --- a/src/layout/components/Sidebar/SidebarItem.vue +++ b/src/layout/components/Sidebar/SidebarItem.vue @@ -1,102 +1,133 @@ - - +