diff --git a/.vscode/settings.json b/.vscode/settings.json index e49048f72a07808a8b1f2e2842fd17cc5b67c745..a77baa48bd3649ad86d7e454cb21731394abf183 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -138,6 +138,7 @@ "vetur.format.defaultFormatter.ts": "prettier-tslint", "vetur.format.defaultFormatter.js": "prettier", "vetur.languageFeatures.codeActions": false, + "vetur.validation.script": false, "vetur.format.defaultFormatterOptions": { "js-beautify-html": { "wrap_attributes": "force-expand-multiline" @@ -188,6 +189,11 @@ "editor.codeActionsOnSave": { "source.fixAll.eslint": true }, + "[vue]": { + "editor.codeActionsOnSave": { + "source.fixAll.eslint": false + } + }, "i18n-ally.localesPaths": ["src/locales/lang"], "i18n-ally.keystyle": "nested", "i18n-ally.sortKeys": true, diff --git a/CHANGELOG.zh_CN.md b/CHANGELOG.zh_CN.md index afca7b980e96bf392349f9a8bc00a70fb425cca4..faac421aa004239121a11f2ed6db5b909ba1a1c6 100644 --- a/CHANGELOG.zh_CN.md +++ b/CHANGELOG.zh_CN.md @@ -1,3 +1,9 @@ +## Wip + +### ✨ Refactor + +- 重构项目以解决循环依赖项导致的热更新问题 + ## 2.0.3 (2021-03-07) ### ✨ Features diff --git a/package.json b/package.json index 5e1d6cf861bee3f601bcc1926886e1f0bb7d4f97..6f9d5ab8632477e3461c7c174a78fdcf50848cd2 100644 --- a/package.json +++ b/package.json @@ -53,7 +53,7 @@ "devDependencies": { "@commitlint/cli": "^12.0.1", "@commitlint/config-conventional": "^12.0.1", - "@iconify/json": "^1.1.312", + "@iconify/json": "^1.1.313", "@ls-lint/ls-lint": "^1.9.2", "@purge-icons/generated": "^0.7.0", "@types/crypto-js": "^4.0.1", @@ -119,7 +119,7 @@ "resolutions": { "//": "Used to install imagemin dependencies, because imagemin may not be installed in China.If it is abroad, you can delete it", "bin-wrapper": "npm:bin-wrapper-china", - "esbuild": "0.8.56", + "esbuild": "0.8.57", "rollup": "2.40.0" }, "repository": { diff --git a/src/api/sys/user.ts b/src/api/sys/user.ts index 3a623158a6ed3c06aef2ec18dc206a156ca914dc..d35d7e6dfff4bfbb08d5bccbbabfc9d4b2b5b4a4 100644 --- a/src/api/sys/user.ts +++ b/src/api/sys/user.ts @@ -5,6 +5,7 @@ import { GetUserInfoByUserIdParams, GetUserInfoByUserIdModel, } from './model/userModel'; + import { ErrorMessageMode } from '/@/utils/http/axios/types'; enum Api { diff --git a/src/components/Table/src/types/table.ts b/src/components/Table/src/types/table.ts index 6704e8dddb72b7c588d2dcb2242f3dde8ff1b2dc..5db13ce6730a37c38efe795cfc1584cbf7a1bdd7 100644 --- a/src/components/Table/src/types/table.ts +++ b/src/components/Table/src/types/table.ts @@ -5,10 +5,12 @@ import type { ColumnProps, TableRowSelection as ITableRowSelection, } from 'ant-design-vue/lib/table/interface'; + import { ComponentType } from './componentType'; import { VueNode } from '/@/utils/propTypes'; -// import { ColumnProps } from './column'; + export declare type SortOrder = 'ascend' | 'descend'; + export interface TableCurrentDataSource { currentDataSource: T[]; } diff --git a/src/directives/permission.ts b/src/directives/permission.ts index 8c37c3ed23ce2c546f34ec32d35892d1223794e1..248ca96ced91d5e128a12197d997af287e3d1e14 100644 --- a/src/directives/permission.ts +++ b/src/directives/permission.ts @@ -5,12 +5,13 @@ */ import type { App, Directive, DirectiveBinding } from 'vue'; -import { appStore } from '/@/store/modules/app'; +import projectSetting from '/@/settings/projectSetting'; import { usePermission } from '/@/hooks/web/usePermission'; import { PermissionModeEnum } from '/@/enums/appEnum'; -const { hasPermission } = usePermission(); function isAuth(el: Element, binding: any) { + const { hasPermission } = usePermission(); + const value = binding.value; if (!value) return; if (!hasPermission(value)) { @@ -19,7 +20,7 @@ function isAuth(el: Element, binding: any) { } function isBackMode() { - return appStore.getProjectConfig.permissionMode === PermissionModeEnum.BACK; + return projectSetting.permissionMode === PermissionModeEnum.BACK; } const mounted = (el: Element, binding: DirectiveBinding) => { diff --git a/src/hooks/web/usePermission.ts b/src/hooks/web/usePermission.ts index ab0ae3bd03e72810e57b355927b55ba431e0f5a1..e444dd5161486d0c1d1a5a792d0103c478e5ab29 100644 --- a/src/hooks/web/usePermission.ts +++ b/src/hooks/web/usePermission.ts @@ -9,6 +9,7 @@ import { useTabs } from './useTabs'; import router, { resetRouter } from '/@/router'; // import { RootRoute } from '/@/router/routes'; +import projectSetting from '/@/settings/projectSetting'; import { PermissionModeEnum } from '/@/enums/appEnum'; import { RoleEnum } from '/@/enums/roleEnum'; @@ -24,7 +25,7 @@ export function usePermission() { async function togglePermissionMode() { appStore.commitProjectConfigState({ permissionMode: - appStore.getProjectConfig.permissionMode === PermissionModeEnum.BACK + projectSetting.permissionMode === PermissionModeEnum.BACK ? PermissionModeEnum.ROLE : PermissionModeEnum.BACK, }); @@ -51,7 +52,7 @@ export function usePermission() { * Determine whether there is permission */ function hasPermission(value?: RoleEnum | RoleEnum[] | string | string[], def = true): boolean { - const permMode = appStore.getProjectConfig.permissionMode; + const permMode = projectSetting.permissionMode; if (PermissionModeEnum.ROLE === permMode) { // Visible by default if (!value) { @@ -81,7 +82,7 @@ export function usePermission() { * @param roles */ async function changeRole(roles: RoleEnum | RoleEnum[]): Promise { - if (appStore.getProjectConfig.permissionMode !== PermissionModeEnum.ROLE) { + if (projectSetting.permissionMode !== PermissionModeEnum.ROLE) { throw new Error( 'Please switch PermissionModeEnum to ROLE mode in the configuration to operate!' ); diff --git a/src/layouts/default/setting/components/SettingFooter.vue b/src/layouts/default/setting/components/SettingFooter.vue index 57be3229d8397d3d39ae820a4d89ae14d0ecb124..7ba4d1a4de8696a0befabe284d459f61c14c8b76 100644 --- a/src/layouts/default/setting/components/SettingFooter.vue +++ b/src/layouts/default/setting/components/SettingFooter.vue @@ -19,17 +19,23 @@