随笔 - 192  文章 - 0  评论 - 14  阅读 - 24万

玩转Vben Admin第2改:配置权限模式

Vben设计了2种权限模式,分别是【前端角色权限(ROLE)】和【后端动态获取(BACK)】

 详细说明请参考https://doc.vvbin.cn/guide/auth.html

为了打造【轻前端重后端】我们希望后端可以操纵这个权限模式,而无需通过重新编译【前端代码】的方式实现模式切换

 

第一步:打开 \src\utils\http\axios\index.ts 文件,添加import代码

1
import { useAppStore } from '/@/store/modules/app';

  

然后在169行附近找到下面“响应拦截器处理”参考修改代码

复制代码
  /**
   * @description: 响应拦截器处理
   */
  responseInterceptors: (res: AxiosResponse<any>) => {
    if (res.data.hasOwnProperty('setProjectConfig')) {
      const appStore = useAppStore();
      appStore.setProjectConfig(res.data.setProjectConfig);
    }
    return res;
  },
复制代码

 

第二步:修改后端代码,参考下面代码

复制代码
  router.get(`${sPathRoot}/getUserInfo`, async (ctx, next) => {
    ctx.body.code = 0;
    ctx.body.type = 'success';
    ctx.body.message = 'ok';
    ctx.body.setProjectConfig = {};
    ctx.body.setProjectConfig['permissionMode'] = 'ROUTE_MAPPING';
    ctx.body.setProjectConfig['permissionMode'] = 'ROLE';
    ctx.body.setProjectConfig['permissionMode'] = 'BACK';
    ctx.body.result = {
      "userId": "1",
      "username": "vben",
      "realName": "Vben Admin",
      "avatar": "https://q1.qlogo.cn/g?b=qq&nk=190848757&s=640",
      "desc": "manager",
      "password": "123456",
      "token": "fakeToken1",
      "homePath": "/dashboard/analysis",
      "roles": [
        {
          "roleName": "Super Admin",
          "value": "super"
        }
      ]
    };
  });
复制代码

完成

 

posted on   项希盛  阅读(1795)  评论(1编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
历史上的今天:
2021-01-11 使用PHP7来批量更新MangoDB数据
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示