diff --git a/index.html b/index.html index f01624e..0c18c48 100644 --- a/index.html +++ b/index.html @@ -8,6 +8,6 @@
- + diff --git a/src/directive/clipboard/clipboard.js b/src/directive/clipboard/clipboard.ts similarity index 100% rename from src/directive/clipboard/clipboard.js rename to src/directive/clipboard/clipboard.ts diff --git a/src/directive/clipboard/index.js b/src/directive/clipboard/index.ts similarity index 100% rename from src/directive/clipboard/index.js rename to src/directive/clipboard/index.ts diff --git a/src/directive/permission/index.js b/src/directive/permission/index.ts similarity index 100% rename from src/directive/permission/index.js rename to src/directive/permission/index.ts diff --git a/src/directive/permission/permission.js b/src/directive/permission/permission.ts similarity index 100% rename from src/directive/permission/permission.js rename to src/directive/permission/permission.ts diff --git a/src/directive/waves/index.js b/src/directive/waves/index.ts similarity index 100% rename from src/directive/waves/index.js rename to src/directive/waves/index.ts diff --git a/src/directive/waves/waves.js b/src/directive/waves/waves.ts similarity index 100% rename from src/directive/waves/waves.js rename to src/directive/waves/waves.ts diff --git a/src/icons/index.js b/src/icons/index.js deleted file mode 100644 index 34a6f1c..0000000 --- a/src/icons/index.js +++ /dev/null @@ -1,5 +0,0 @@ -import SvgIcon from '@/components/SvgIcon';// svg component - -import.meta.globEager('./svg/*.svg'); - -export default SvgIcon; diff --git a/src/icons/index.ts b/src/icons/index.ts new file mode 100644 index 0000000..41f24dc --- /dev/null +++ b/src/icons/index.ts @@ -0,0 +1,5 @@ +import SvgIcon from '@/components/SvgIcon/index.vue';// svg component + +import.meta.glob('./svg/*.svg', { eager: true }); + +export default SvgIcon; diff --git a/src/main.js b/src/main.ts similarity index 83% rename from src/main.js rename to src/main.ts index cb8be28..cb900d0 100644 --- a/src/main.js +++ b/src/main.ts @@ -7,7 +7,7 @@ import { setupStore } from './store'; import '@/styles/index.scss'; import SvgIcon from './icons'; // icon import './permission'; // permission control -import vPermission from './directive/permission/index.js'; // permission control +import vPermission from './directive/permission/index'; // permission control const app = createApp(App); setupStore(app); diff --git a/src/permission.js b/src/permission.ts similarity index 88% rename from src/permission.js rename to src/permission.ts index 87f3330..a61a18f 100644 --- a/src/permission.js +++ b/src/permission.ts @@ -37,7 +37,12 @@ router.beforeEach(async (to, from, next) => { try { // get user info // note: roles must be a object array! such as: ['admin'] or ,['developer','editor'] - const { roles } = await userStore().getInfo(); + // eslint-disable-next-line @typescript-eslint/no-explicit-any + const infoRes = await userStore().getInfo() as any; + let roles = []; + if (infoRes.roles) { + roles = infoRes.roles; + } // generate accessible routes map based on roles const accessRoutes = await permissionStore().generateRoutes(roles); @@ -53,7 +58,8 @@ router.beforeEach(async (to, from, next) => { // hack method to ensure that addRoutes is complete // set the replace: true, so the navigation will not leave a history record next({ ...to, replace: true }); - } catch (error) { + // eslint-disable-next-line @typescript-eslint/no-explicit-any + } catch (error: any) { // remove token and go to login page to re-login await userStore().resetToken(); ElMessage.error(error.message || 'Has Error'); diff --git a/src/settings.js b/src/settings.ts similarity index 100% rename from src/settings.js rename to src/settings.ts diff --git a/src/store/index.ts b/src/store/index.ts index e6e8c04..a46bcb8 100644 --- a/src/store/index.ts +++ b/src/store/index.ts @@ -1,8 +1,7 @@ import { createPinia, acceptHMRUpdate } from 'pinia'; import type { StoreDefinition } from 'pinia'; // https://webpack.js.org/guides/dependency-management/#requirecontext -const modulesFiles = import.meta.globEager('./modules/*.ts'); - +const modulesFiles = import.meta.glob('./modules/*.ts', { eager: true }); // console.log('modulesFiles=', modulesFiles); // you do not need `import app from './modules/app'` diff --git a/src/store/modules/user.ts b/src/store/modules/user.ts index 9966bb4..13214a1 100644 --- a/src/store/modules/user.ts +++ b/src/store/modules/user.ts @@ -5,7 +5,7 @@ import router, { resetRouter } from '@/router'; import tagsViewStore from './tagsView'; import permissionStore from './permission'; -interface IUserState { +export interface IUserState { token: string; name: string; avatar: string;