{"_id":"@allen1997/rbac-vue3-generator","name":"@allen1997/rbac-vue3-generator","dist-tags":{"latest":"1.0.0"},"versions":{"1.0.0":{"name":"@allen1997/rbac-vue3-generator","version":"1.0.0","description":"Vue3 RBAC权限系统一键生成器","main":"index.js","bin":{"rbac-gen":"bin/cli.js"},"scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"keywords":["vue3","rbac","permission","generator"],"author":{"name":"shenjunwei"},"license":"MIT","dependencies":{"chalk":"^4.1.2","commander":"^9.4.1","fs-extra":"^10.1.0","inquirer":"^8.2.4"},"_id":"@allen1997/rbac-vue3-generator@1.0.0","_nodeVersion":"18.20.8","_npmVersion":"10.8.2","dist":{"integrity":"sha512-7rkndEWbU28L2VyZurDcttVJwPLYCzjou/j/jGoEf4EOYWsvu1mrCBYM0/XDw1Mi85g6xrpPywRnnexU7CwZJA==","shasum":"084ce93c2c6c710e9f58e38eed3afb303dd1eba1","tarball":"https://registry.npmjs.org/@allen1997/rbac-vue3-generator/-/rbac-vue3-generator-1.0.0.tgz","fileCount":4,"unpackedSize":16073,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCICcRMUlnvpAE4L88QuTPzN5bRSBe1gltCo+3bfzPFR47AiEArJv+C5e8yqlgn7jb0jbKoMG/YRj2lNL9Kd6OuwzShtc="}]},"_npmUser":{"name":"allen1997","email":"1045243525@qq.com"},"directories":{},"maintainers":[{"name":"allen1997","email":"1045243525@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/rbac-vue3-generator_1.0.0_1769415971706_0.28160196178663655"},"_hasShrinkwrap":false}},"time":{"created":"2026-01-26T08:26:11.567Z","1.0.0":"2026-01-26T08:26:11.850Z","modified":"2026-01-26T08:26:12.146Z"},"maintainers":[{"name":"allen1997","email":"1045243525@qq.com"}],"description":"Vue3 RBAC权限系统一键生成器","keywords":["vue3","rbac","permission","generator"],"author":{"name":"shenjunwei"},"license":"MIT","readme":"# rbac-vue3-generator\n\nVue3 RBAC权限系统一键生成器\n\n## 功能特性\n\n- 一键生成完整RBAC权限系统\n- 支持权限指令：`v-hasRole`, `v-hasPermi`\n- 支持动态路由\n- 支持Token管理\n- 可自定义配置\n\n## 安装\n\n```bash\nnpm install -g @shenjunwei/rbac-vue3-generator\n```\n\n## 使用\n\n### 初始化RBAC系统\n\n```bash\n# 交互式初始化\nrbac-gen init\n\n# 指定项目路径\nrbac-gen init ./my-vue3-project\n\n# 自定义Token键名\nrbac-gen init ./my-project --token-key my_app_token\n```\n\n### 为现有项目添加RBAC\n\n```bash\nrbac-gen add\n```\n\n## 生成的文件结构\n\n```\nsrc/\n├── directive/\n│   ├── index.js           # 指令注册\n│   └── permission/\n│       ├── hasRole.js     # 角色权限指令\n│       └── hasPermi.js    # 操作权限指令\n├── plugins/\n│   └── auth.js            # Auth插件\n├── store/\n│   └── permission.js      # 权限Store\n├── utils/\n│   ├── auth.js            # Token工具\n│   ├── permission.js      # 权限校验函数\n│   └── asyncRouter.js     # 动态路由处理\n└── permission.js          # 路由守卫\n```\n\n## 在项目中使用\n\n### 1. 安装依赖\n\n```bash\nnpm install js-cookie nprogress element-plus pinia vue-router\n```\n\n### 2. 注册指令 (main.js)\n\n```javascript\nimport { createApp } from 'vue'\nimport App from './App.vue'\nimport directive from '@/directive'\n\nconst app = createApp(App)\ndirective(app)\napp.mount('#app')\n```\n\n### 3. 路由守卫 (permission.js)\n\n确保你的 `router/index.js` 会导入 `permission.js`:\n\n```javascript\nimport '@/permission'\nimport router from './router'\n```\n\n### 4. UserStore 需要添加的字段\n\n```javascript\nimport { defineStore } from 'pinia'\n\nexport const useUserStore = defineStore('user', {\n  state: () => ({\n    token: getToken(),\n    name: '',\n    roles: [],\n    permissions: [],\n  }),\n  actions: {\n    async getInfo() {\n      // 从后端获取用户信息，包含 roles 和 permissions\n    },\n    logOut() {\n      this.token = ''\n      this.roles = []\n      this.permissions = []\n    },\n  },\n})\n```\n\n## API使用\n\n### 权限指令\n\n```vue\n<!-- 角色权限 -->\n<el-button v-hasRole=\"['admin', 'editor']\">编辑</el-button>\n\n<!-- 操作权限 -->\n<el-button v-hasPermi=\"['system:user:add']\">新增</el-button>\n<el-button v-hasPermi=\"['system:user:edit', 'system:user:delete']\">操作</el-button>\n```\n\n### 编程式校验\n\n```javascript\nimport { checkPermi, checkRole } from '@/utils/permission'\n\nif (checkPermi(['system:user:add'])) {\n  // 有权限\n}\n\nif (checkRole(['admin'])) {\n  // 是管理员\n}\n```\n\n## 依赖说明\n\n| 依赖 | 用途 |\n|------|------|\n| js-cookie | Token存储 |\n| nprogress | 进度条 |\n| element-plus | UI组件库 |\n| pinia | 状态管理 |\n| vue-router | 路由 |\n\n## 许可证\n\nMIT\n","readmeFilename":"README.md","_rev":"1-452af0cf5c23d4afcdf8cdfb5705487a"}