MCPcopy Index your code
hub / github.com/cjbi/admin3

github.com/cjbi/admin3 @3.0.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release 3.0.0 ↗ · + Follow
644 symbols 1,385 edges 129 files 120 documented · 19%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Admin3

项目说明

项目使用最新的技术栈(后端Java21、SpringBoot3.2,前端TypeScript、Vite3、Vue3、Element Plus),只提供了用户和权限管理的核心功能最佳实践方案,适合作为基础工程二次定制开发、接私活、源码学习等场景

主要特性

  • 未使用任何安全框架,优雅地实现了会话管理+权限控制功能,支持请求URL权限拦截,菜单、按钮级别权限控制
  • 会话通过数据库作为二级缓存,即使重启也不会丢失登录状态
  • 支持AOT编译Native镜像,相较于传统JVM形式节省了至少50%的内存
  • 前端资源支持独立部署+webjars嵌入到后端应用两种形式
  • 持久层使用SpringData JPA进行开发,能够支持多种数据库适配
  • 所有的接口都有端到端的测试用例覆盖,有代码变动都会全量跑一遍测试用例,保证功能绝对可用
  • 统一对象存储封装,实现应用和上传文件位置隔离,支持本地上传&所有符合S3标准(阿里云、华为云、MinIO等)的对象存储方案

在线体验

  • admin / 123456 (拥有所有权限)
  • employee / employee (拥有部分权限)
  • guest / guest (拥有查看权限)

演示地址: https://admin3.wetech.tech

在线部署: https://gitpod.io/#https://github.com/cjbi/admin3

项目预览

技术文档

软件需求

  • JDK 17
  • MySQL 8.0
  • Maven 3.6.0+

本地部署

  • 通过git下载源码
  • 创建数据库admin3,数据库编码为UTF-8
  • 修改application.yml文件,更改MySQL账号和密码
  • 启动服务,访问管理后台地址:http://localhost:8080/admin3
  • Swagger地址:http://localhost:8080/admin3/swagger-ui/index.html

待办列表

  • [x] 操作日志

  • [x] 文件上传(常用第三方对象存储服务统一封装),支持修改用户头像

  • [ ] 国际化

  • [ ] 更多功能请 Issues 留言

欢迎参与项目贡献!

许可证

MIT

Extension points exported contracts — how you extend this code

Storage (Interface)
@author cjbi [4 implementers]
admin3-server/src/main/java/tech/wetech/admin3/infra/storage/Storage.java
GlobalComponents (Interface)
(no doc)
admin3-ui/components.d.ts
ListItem (Interface)
(no doc)
admin3-ui/src/store/tags.ts
DomainEvent (Interface)
(no doc) [18 implementers]
admin3-server/src/main/java/tech/wetech/admin3/common/DomainEvent.java
UserStore (Interface)
(no doc)
admin3-ui/src/store/basic.ts
SessionManager (Interface)
@author cjbi [2 implementers]
admin3-server/src/main/java/tech/wetech/admin3/infra/service/SessionManager.java
SessionService (Interface)
@author cjbi [2 implementers]
admin3-server/src/main/java/tech/wetech/admin3/sys/service/SessionService.java
StorageService (Interface)
@author cjbi [2 implementers]
admin3-server/src/main/java/tech/wetech/admin3/sys/service/StorageService.java

Core symbols most depended-on inside this repo

get
called by 29
admin3-server/src/main/java/tech/wetech/admin3/infra/service/SessionManager.java
instance
called by 26
admin3-server/src/main/java/tech/wetech/admin3/common/DomainEventPublisher.java
publish
called by 21
admin3-server/src/main/java/tech/wetech/admin3/common/DomainEventPublisher.java
getId
called by 17
admin3-server/src/main/java/tech/wetech/admin3/infra/storage/Storage.java
delete
called by 14
admin3-server/src/main/java/tech/wetech/admin3/infra/storage/Storage.java
toString
called by 10
admin3-server/src/main/java/tech/wetech/admin3/sys/model/BaseEntity.java
findOrganization
called by 8
admin3-server/src/main/java/tech/wetech/admin3/sys/service/OrganizationService.java
getItem
called by 8
admin3-server/src/main/java/tech/wetech/admin3/common/SessionItemHolder.java

Shape

Method 469
Class 102
Function 44
Interface 20
Enum 9

Languages

Java93%
TypeScript7%

Modules by API surface

admin3-server/src/main/java/tech/wetech/admin3/sys/model/StorageConfig.java35 symbols
admin3-server/src/main/java/tech/wetech/admin3/sys/model/User.java24 symbols
admin3-server/src/main/java/tech/wetech/admin3/sys/model/Resource.java20 symbols
admin3-server/src/main/java/tech/wetech/admin3/sys/service/dto/StorageFileDTO.java17 symbols
admin3-server/src/main/java/tech/wetech/admin3/sys/model/StorageFile.java16 symbols
admin3-server/src/main/java/tech/wetech/admin3/infra/storage/StorageServiceImpl.java16 symbols
admin3-server/src/main/java/tech/wetech/admin3/common/DomainEventPublisher.java16 symbols
admin3-server/src/main/java/tech/wetech/admin3/sys/model/Session.java15 symbols
admin3-server/src/main/java/tech/wetech/admin3/sys/model/Organization.java15 symbols
admin3-server/src/main/java/tech/wetech/admin3/sys/service/UserService.java12 symbols
admin3-server/src/main/java/tech/wetech/admin3/sys/model/UserCredential.java12 symbols
admin3-server/src/main/java/tech/wetech/admin3/sys/model/Role.java12 symbols

Datastores touched

(mysql)Database · 1 repos
admin3Database · 1 repos

For agents

$ claude mcp add admin3 \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact