wujingjing
2024-07-08 bb37b51088dffdfb493906de541b5251e1d969d1
移除权限
已修改6个文件
已添加1个文件
185 ■■■■■ 文件已修改
src/api/login/index.ts 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/api/login/menuData.ts 92 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/layout/navBars/breadcrumb/user.vue 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/router/backEnd.ts 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/router/frontEnd.ts 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/router/index.ts 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/utils/request.ts 50 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/api/login/index.ts
@@ -1,3 +1,4 @@
import { menuData } from './menuData';
import request, { authRequest } from '/@/utils/request';
/**
@@ -232,12 +233,8 @@
/**
 * @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);
};
/**
src/api/login/menuData.ts
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,92 @@
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',
};
src/layout/navBars/breadcrumb/user.vue
@@ -64,7 +64,7 @@
                :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 }}
@@ -74,16 +74,12 @@
            </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>
src/router/backEnd.ts
@@ -40,7 +40,7 @@
    // ç•Œé¢ 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();
@@ -127,14 +127,8 @@
 */
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();
src/router/frontEnd.ts
@@ -23,7 +23,7 @@
    // ç•Œé¢ 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();
src/router/index.ts
@@ -98,16 +98,7 @@
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}&params=${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 {
@@ -127,7 +118,6 @@
                }
            } else {
                next();
            }
        }
    }
});
src/utils/request.ts
@@ -40,33 +40,33 @@
            // }
            // èŽ·å–æœ¬åœ°çš„ 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) => {