{"id":27301204,"url":"https://github.com/xuxuxu-ni/vue3-elementplus-admin","last_synced_at":"2025-09-11T06:39:10.905Z","repository":{"id":60324189,"uuid":"542358114","full_name":"xuxuxu-ni/vue3-elementPlus-admin","owner":"xuxuxu-ni","description":"vue3-elementPlus-admin技术栈 vu3 + pinia+ typescript","archived":false,"fork":false,"pushed_at":"2022-09-29T09:17:10.000Z","size":4200,"stargazers_count":8,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2023-03-08T03:24:53.305Z","etag":null,"topics":["admin","elementplus","pinia","typescript","vu3"],"latest_commit_sha":null,"homepage":"https://xuxuxu-ni.github.io/vue3-elementPlus-admin/#/","language":"Vue","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/xuxuxu-ni.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2022-09-28T01:31:01.000Z","updated_at":"2023-02-04T14:53:55.000Z","dependencies_parsed_at":"2023-01-18T21:45:17.053Z","dependency_job_id":null,"html_url":"https://github.com/xuxuxu-ni/vue3-elementPlus-admin","commit_stats":null,"previous_names":[],"tags_count":null,"template":null,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xuxuxu-ni%2Fvue3-elementPlus-admin","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xuxuxu-ni%2Fvue3-elementPlus-admin/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xuxuxu-ni%2Fvue3-elementPlus-admin/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xuxuxu-ni%2Fvue3-elementPlus-admin/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/xuxuxu-ni","download_url":"https://codeload.github.com/xuxuxu-ni/vue3-elementPlus-admin/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248505937,"owners_count":21115354,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["admin","elementplus","pinia","typescript","vu3"],"created_at":"2025-04-12T01:45:11.329Z","updated_at":"2025-04-12T01:45:11.794Z","avatar_url":"https://github.com/xuxuxu-ni.png","language":"Vue","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ch1 align=\"center\"\u003eWelcome to vue3-elementplus-admin 👋\u003c/h1\u003e\n\u003cp\u003e\n  \u003cimg alt=\"Version\" src=\"https://img.shields.io/badge/version-1.0.0-blue.svg?cacheSeconds=2592000\" /\u003e\n  \u003cimg src=\"https://img.shields.io/badge/node-%3E%3D%2012.0.0-blue.svg\" /\u003e\n  \u003cimg src=\"https://img.shields.io/badge/npm-%3E%3D%206.0.0-blue.svg\" /\u003e\n  \u003ca href=\"https://github.com/xuxuxu-ni/vue3-elementPlus-admin/blob/master/README.md\"\u003e\n    \u003cimg alt=\"Documentation\" src=\"https://img.shields.io/badge/documentation-yes-brightgreen.svg\" target=\"_blank\" /\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://github.com/xuxuxu-ni/vue3-elementplus-admin/blob/master/LICENSE\"\u003e\n    \u003cimg alt=\"License: MIT\" src=\"https://img.shields.io/badge/License-MIT-yellow.svg\" target=\"_blank\" /\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n\u003e vite + vue3 + Pinia + elementUi-plus 无限级菜单 权限管理 后台模板\n\n### 🏠 [Homepage](https://xuxuxu-ni.github.io/vue3-elementPlus-admin/#/index)\n## Author\n\n👤 **xuxuxu-ni**\n\n* Github: [@xuxuxu-ni](https://github.com/xuxuxu-ni)\n* QQ: 595485548\n* QQ群: 157216616\n* email: 595485548@qq.com\n\n\n## Prerequisites\n\n- node \u003e= 12.0.0\n- npm \u003e= 6.0.0\n\n## Tips\n### 当前框架技术栈: vit2 + vue3 + Pinia + typescript\n### vue2版本地址: https://github.com/xuxuxu-ni/vue-xuAdmin\n\u003e 这个框架权限是由前端控制的,如果不需要这个模式,可以看我另外一个全栈CMS项目,后台使用的是node框架egg.js+mysql,那个的权限是由后台返回有权限的路由,前端拿到路由后和前端路由表做筛选,得出最终的路由表生成菜单,好处是角色和角色所拥有的权限路由是动态的后台可随时编辑配置,两种模式按需使用\n![image.png](https://i.loli.net/2020/05/13/67n2YkZwxLBFDMy.png)\n\n项目地址: https://github.com/xuxuxu-ni/nodePlatform-eggjs\n## 1. vue3-elementplus-admin 后台模板简介\n\u003e 这个权限管理就是为了方便,跟系统安全真的不沾边，只是根据后台返回的角色信息来生成他可以看见的菜单和按钮，显示菜单的方法是根据权限删除掉路由表里没有权限的路由，然后再动态添加，原本包含没有访问权限的原路由表只要打开页面运行代码就已经不存在了，并且404页面除了过滤掉项目没有的路由外，同时每次的路由跳转都会鉴权。如果你知道了没有权限的路由试着强行跳转会因为没有权限直接会跳转404。\n**就算通过查看代码或者其他方法获取全部路由，并且绕过404，花了这么大精力，，那你也看不到新世界的大门，因为所有数据都是通过后台请求返回来的，你没权限后台不会给你数据的，也不会让你去操作，，除非后台不验证权限，只要有人请求我就给你所有数据，，，，**\n\n项目预览地址：\n- github: https://xuxuxu-ni.github.io/vue3-elementPlus-admin/#/\n- 国内gitee: http://nirongxu.gitee.io/vue3-elementplus-admin/#/\n\nvue3-elementplus-admin是基于vite + vue3 + Pinia + elementUi-plus 开发的一个后台模板，实现了无限级菜单，页面、按钮级别的权限管理，为了减少前后端的沟通成本，页面、按钮级别的权限验证和动态路由表的存储校验，也都由前端完成，这样前端新建页面或者删除页面都不需要告诉后台去增加删除路由表\n\n![enter description here](https://i.loli.net/2019/12/24/Ocs7n45uaMDhKef.png)\n![enter description here](https://i.loli.net/2019/12/24/8dZaITtQOY7uNbF.png)\n![enter description here](https://i.loli.net/2018/12/12/5c10a2f90e38a.jpg)\n![enter description here](https://i.loli.net/2018/12/16/5c153f4998458.jpg)\n![enter description here](https://i.loli.net/2018/12/16/5c153fe516daf.jpg)\n![enter description here](https://i.loli.net/2018/12/12/5c102c115c130.jpg)\n## 2. 准备工作\n-开发环境\n- node.js v12.0+\n- vite v2\n- git\n\n-技术栈\n- ES6+\n- vue v3.2+\n- vue-router\n- Pinia\n- axios\n- scss\n- element-ui plus\n\n## 3. 实现功能\n\n- 登录、退出\n+ 基于token\n    - 状态拦截、404页面\n    - 动态加载路由\n    - 页面、按钮指令权限管理\n    - 无限级菜单\n- 封装vue-i18n@8.x国际化组件\n- 系统全屏化\n- 菜单收缩\n- icon 图标\n+ tab标签导航\n    - 右击快捷功能\n- 表格拖拽排序\n- 封装了 axios\n- 封装了全局方法,和一些工具函数\n- 编辑器\n    - ckeditor\n- Echarts 组件封装\n\n```\n## 4.开发使用\n### 4.1开发\n```\n# 克隆项目\ngit clone https://github.com/xuxuxu-ni/vue3-elementplus-admin.git\n\n# 设置淘宝镜像\nyarn config set registry https://registry.npm.taobao.org/\nor\nnpm config set registry https://registry.npm.taobao.org\n# 安装依赖\nyarn  or  yarn install\nor\nnpm install\n\n# 开发模式\nyarn dev\nor\nnpm run dev\n\n# 启动编译打包 生产环境\nyarn build\nor\nnpm run build\n\n\n### 4.2使用\n深入了解该框架建议阅读 `vue3-elementplus-admin`的使用介绍，详细介绍了框架vue2.0版本的开发和使用教程,(下列文章也适用vue3.0版本)\n- [Vue2.0 + ElementUI 手写权限管理系统后台模板（一）——简述](https://juejin.im/post/5c15332be51d4513ea6ed291)\n- [Vue2.0 + ElementUI 手写权限管理系统后台模板（二）——权限管理](https://juejin.im/post/5c1552a65188250850604bb0)\n- [Vue2.0 + ElementUI 手写权限管理系统后台模板（三）——页面搭建](https://juejin.im/post/5c156ae16fb9a049e660250c)\n- [Vue2.0 + ElementUI 手写权限管理系统后台模板（四）——组件结尾](https://juejin.im/post/5c1605e76fb9a049b41c5cb0)\n\n\n## 结语\n如果这个框架对你有帮助的话，请给个星点个star\n\n\n## 🤝 Contributing\n\nContributions, issues and feature requests are welcome!\u003cbr /\u003eFeel free to check [issues page](https://github.com/xuxuxu-ni/vue3-elementplus-admin/issues).\n\n## Show your support\n\nGive a ⭐️ if this project helped you!\n\n## 📝 License\n\nCopyright © 2022 [xuxuxu-ni](https://github.com/xuxuxu-ni) \u003cbr/\u003e\nThis project is [MIT](https://github.com/xuxuxu-ni/vue3-elementplus-admin/blob/master/LICENSE) licensed.\n\n***\n_This README was generated with ❤️ by [readme-md-generator](https://github.com/kefranabg/readme-md-generator)_\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxuxuxu-ni%2Fvue3-elementplus-admin","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fxuxuxu-ni%2Fvue3-elementplus-admin","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxuxuxu-ni%2Fvue3-elementplus-admin/lists"}