| | |
| | | import { menuData } from './menuData'; |
| | | import request, { authRequest } from '/@/utils/request'; |
| | | |
| | | /** |
| | |
| | | /** |
| | | * @summary è·åå½åç¨æ·å¨å½åè½¯ä»¶ä¸ææçå端èåé
ç½®(æ ç»æ) |
| | | */ |
| | | export const GetUserMenuTree = async (params) => { |
| | | return authRequest({ |
| | | url: '/Auth/Menu/Authority/GetMenuTreeList@V1.0', |
| | | method: 'GET', |
| | | params: params, |
| | | }); |
| | | export const GetUserMenuTree = async () => { |
| | | return Promise.resolve(menuData); |
| | | }; |
| | | |
| | | /** |
¶Ô±ÈÐÂÎļþ |
| | |
| | | export const menuData = { |
| | | Code: 0, |
| | | Error: null, |
| | | Message: 'è¯·æ±æå', |
| | | Data: [ |
| | | { |
| | | Children: [ |
| | | { |
| | | Children: [ |
| | | { |
| | | Children: [], |
| | | ID: '1782264030812049408', |
| | | ParentID: '1782264030250012672', |
| | | Type: 2, |
| | | Name: 'è¿è¡ç¹åæ', |
| | | Path: '/home', |
| | | Permission: '', |
| | | Icon: 'ele-Clock', |
| | | IsIframe: false, |
| | | OutLink: '', |
| | | IsHide: false, |
| | | Weight: 0, |
| | | SortCode: 1, |
| | | Description: '', |
| | | }, |
| | | { |
| | | Children: [], |
| | | ID: '1790921981332426752', |
| | | ParentID: '1782264030250012672', |
| | | Type: 2, |
| | | Name: 'è°åº¦åæ', |
| | | Path: '/efficiencyAnalysis/schedulingAnalysis', |
| | | Permission: '', |
| | | Icon: 'ele-MessageBox', |
| | | IsIframe: false, |
| | | OutLink: '', |
| | | IsHide: false, |
| | | Weight: 0, |
| | | SortCode: 2, |
| | | Description: '', |
| | | }, |
| | | { |
| | | Children: [], |
| | | ID: '1810189296141996032', |
| | | ParentID: '1782264030250012672', |
| | | Type: 2, |
| | | Name: '模åéªè¯', |
| | | Path: '/dispatch/hydraulicModel', |
| | | Permission: '', |
| | | Icon: 'ele-DocumentChecked', |
| | | IsIframe: false, |
| | | OutLink: '', |
| | | IsHide: false, |
| | | Weight: 0, |
| | | SortCode: 3, |
| | | Description: '', |
| | | }, |
| | | ], |
| | | ID: '1782264030250012672', |
| | | ParentID: '1782264029847359488', |
| | | Type: 1, |
| | | Name: 'èè½åæ', |
| | | Path: '', |
| | | Permission: '', |
| | | Icon: 'iconfont icon-zhongduancanshuchaxun', |
| | | IsIframe: false, |
| | | OutLink: '', |
| | | IsHide: false, |
| | | Weight: 0, |
| | | SortCode: 1, |
| | | Description: '', |
| | | }, |
| | | ], |
| | | ID: '1782264029847359488', |
| | | ParentID: '0', |
| | | Type: 1, |
| | | Name: 'è½æåæ', |
| | | Path: '', |
| | | Permission: '', |
| | | Icon: 'ele-ChromeFilled', |
| | | IsIframe: false, |
| | | OutLink: '', |
| | | IsHide: false, |
| | | Weight: 0, |
| | | SortCode: 1, |
| | | Description: '', |
| | | }, |
| | | |
| | | ], |
| | | Extras: null, |
| | | Timestamp: '2024-07-08 14:50:06', |
| | | }; |
| | |
| | | :class="!state.isScreenfull ? 'icon-fullscreen' : 'icon-tuichuquanping'" |
| | | ></i> |
| | | </div> |
| | | <el-dropdown :show-timeout="70" :hide-timeout="50" @command="onHandleCommandClick"> |
| | | <!-- <el-dropdown :show-timeout="70" :hide-timeout="50" @command="onHandleCommandClick"> |
| | | <span class="layout-navbars-breadcrumb-user-link"> |
| | | <img :src="userInfos.photo" class="layout-navbars-breadcrumb-user-link-photo mr5" /> |
| | | {{ userInfos.userName === '' ? 'common' : userInfos.userName }} |
| | |
| | | </span> |
| | | <template #dropdown> |
| | | <el-dropdown-menu> |
| | | <!-- <el-dropdown-item command="/home">{{ $t('message.user.dropdown1') }}</el-dropdown-item> --> |
| | | <!-- <el-dropdown-item command="wareHouse">{{ $t('message.user.dropdown6') }}</el-dropdown-item> |
| | | |
| | | <el-dropdown-item command="/404">{{ $t('message.user.dropdown3') }}</el-dropdown-item> |
| | | <el-dropdown-item command="/401">{{ $t('message.user.dropdown4') }}</el-dropdown-item> --> |
| | | <el-dropdown-item command="/platformManage/personalCenter">{{ $t('message.user.dropdown2') }}</el-dropdown-item> |
| | | <el-dropdown-item divided command="logOut">{{ $t('message.user.dropdown5') }}</el-dropdown-item> |
| | | </el-dropdown-menu> |
| | | </template> |
| | | </el-dropdown> |
| | | </el-dropdown> --> |
| | | <Search ref="searchRef" /> |
| | | </div> |
| | | </template> |
| | |
| | | // çé¢ loading å¨ç»å¼å§æ§è¡ |
| | | if (window.nextLoading === undefined) NextLoading.start(); |
| | | // æ token 忢æ§è¡ä¸ä¸æ¥ |
| | | if (!Local.get(accessTokenKey)) return false; |
| | | // if (!Local.get(accessTokenKey)) return false; |
| | | // 触ååå§åç¨æ·ä¿¡æ¯ pinia |
| | | // https://gitee.com/lyt-top/vue-next-admin/issues/I5F1HP |
| | | // await useUserInfo().setUserInfos(); |
| | |
| | | */ |
| | | export async function getBackEndControlRoutes() { |
| | | // 模æ admin ä¸ test |
| | | const stores = useUserInfo(); |
| | | let userInfo = (await stores.getUserInfo()) as any; |
| | | const { |
| | | SoftWare: { ID: SoftwareID }, |
| | | User: { ID: UserID }, |
| | | } = userInfo; |
| | | const params = { SoftwareID, UserID }; |
| | | return menuApi.getAdminMenu(params); |
| | | |
| | | return menuApi.getAdminMenu(); |
| | | // const auth = userInfos.value.roles[0]; |
| | | // 管çå admin |
| | | // if (auth === 'admin') return menuApi.getAdminMenu(); |
| | |
| | | // çé¢ loading å¨ç»å¼å§æ§è¡ |
| | | if (window.nextLoading === undefined) NextLoading.start(); |
| | | // æ token 忢æ§è¡ä¸ä¸æ¥ |
| | | if (!Local.get(accessTokenKey)) return false; |
| | | // if (!Local.get(accessTokenKey)) return false; |
| | | // 触ååå§åç¨æ·ä¿¡æ¯ pinia |
| | | // https://gitee.com/lyt-top/vue-next-admin/issues/I5F1HP |
| | | // await useUserInfo(pinia).setUserInfos(); |
| | |
| | | router.beforeEach(async (to, from, next) => { |
| | | NProgress.configure({ showSpinner: false }); |
| | | if (to.meta.title) NProgress.start(); |
| | | const token = Local.get(accessTokenKey); |
| | | if (to.path === '/login' && !token) { |
| | | next(); |
| | | NProgress.done(); |
| | | } else { |
| | | if (!token) { |
| | | next(`/login?redirect=${to.path}¶ms=${JSON.stringify(to.query ? to.query : to.params)}`); |
| | | clearAccessTokens(); |
| | | NProgress.done(); |
| | | } else if (token && to.path === '/login') { |
| | | if (to.path === '/login') { |
| | | next('/'); |
| | | NProgress.done(); |
| | | } else { |
| | |
| | | } |
| | | } else { |
| | | next(); |
| | | } |
| | | } |
| | | } |
| | | }); |
| | |
| | | // } |
| | | |
| | | // è·åæ¬å°ç token |
| | | const accessToken = Local.get(accessTokenKey); |
| | | if (accessToken) { |
| | | // å° token æ·»å å°è¯·æ±æ¥æå¤´ä¸ |
| | | config.headers!['Authorization'] = `Bearer ${accessToken}`; |
| | | // const accessToken = Local.get(accessTokenKey); |
| | | // if (accessToken) { |
| | | // // å° token æ·»å å°è¯·æ±æ¥æå¤´ä¸ |
| | | // config.headers!['Authorization'] = `Bearer ${accessToken}`; |
| | | |
| | | // 夿 accessToken æ¯å¦è¿æ |
| | | const jwt: any = decryptJWT(accessToken); |
| | | const exp = getJWTDate(jwt.exp as number); |
| | | const isExpired = new Date() >= exp; |
| | | // token å·²ç»è¿æ |
| | | if (isExpired) { |
| | | // è·åå·æ° token |
| | | const refreshAccessToken = Local.get(refreshAccessTokenKey); |
| | | // // 夿 accessToken æ¯å¦è¿æ |
| | | // const jwt: any = decryptJWT(accessToken); |
| | | // const exp = getJWTDate(jwt.exp as number); |
| | | // const isExpired = new Date() >= exp; |
| | | // // token å·²ç»è¿æ |
| | | // if (isExpired) { |
| | | // // è·åå·æ° token |
| | | // const refreshAccessToken = Local.get(refreshAccessTokenKey); |
| | | |
| | | // æºå¸¦å·æ° token |
| | | if (refreshAccessToken) { |
| | | config.headers!['X-Authorization'] = `Bearer ${refreshAccessToken}`; |
| | | } |
| | | } |
| | | // getè¯·æ±æ å°paramsåæ° |
| | | if (config.method?.toLowerCase() === 'get' && config.data) { |
| | | let url = config.url + '?' + tansParams(config.data); |
| | | url = url.slice(0, -1); |
| | | config.data = {}; |
| | | config.url = url; |
| | | } |
| | | } |
| | | // // æºå¸¦å·æ° token |
| | | // if (refreshAccessToken) { |
| | | // config.headers!['X-Authorization'] = `Bearer ${refreshAccessToken}`; |
| | | // } |
| | | // } |
| | | // // getè¯·æ±æ å°paramsåæ° |
| | | // if (config.method?.toLowerCase() === 'get' && config.data) { |
| | | // let url = config.url + '?' + tansParams(config.data); |
| | | // url = url.slice(0, -1); |
| | | // config.data = {}; |
| | | // config.url = url; |
| | | // } |
| | | // } |
| | | return config; |
| | | }, |
| | | (error) => { |