# ba-scaffold **Repository Path**: zyme/ba-scaffold ## Basic Information - **Project Name**: ba-scaffold - **Description**: 这是一个前后端脚手架,包含了用户,角色,菜单,操作日志,国际化,权限拦截认证等功能齐全的一个项目,可以copy之后到新项目中快速用起来,只要定好数据库连接,启动会自动建表 建数据,账号 superAdmin 密码 superAdmin@2024,开箱即用,非常完美 - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2025-08-05 - **Last Updated**: 2025-08-05 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 脚手架 ## 单体项目开发 ### 单体规范 1. 必须写注释 2. 用户获取可以通过 ```java UserVO user = LocalUtil.getUser(); ``` 3. 方法名称不能直接为 `edit,update,info`,在转MCP时会冲突,按一下方式: ```java editUserName updateUserInfo addGoods deleteGoods ``` 4. DTO 必须单一原则,不能用于跨多个功能公用,冗余字段,可以使用继承等手段 5. 所有需要初始化的接口,都必须写到 InitService 中 ### 转MCP springboot项目 转MCP命令,需要执行2便 ```shell mvn org.openrewrite.maven:rewrite-maven-plugin:6.4.0:run -Drewrite.activeRecipes=RewriteWebToMCP -Drewrite.recipeArtifactCoordinates=com.pig4cloud.plugin:rest2mcp:1.0.0 -Drewrite.exportDatatables=true ``` #### MCP遗留问题 1. 用户认证(为解决,sse直接绕过了认证授权...,理论sse连接的时候需要认证) 2. 提示词,需要对输出内容进行格式化(表格数据,表单数据) ## 微服务项目开发 单体架构使用 easy-security 是很简单的事情,但是在微服务环境下如何使用 easy-security 呢? 微服务开发架构,用户获取最好是从 bff 层,通过 `UserVO user = LocalUtil.getUser();` 获取,拿到用户信息后传递到 service DTO中,鉴权也是在bff做的。 ```text --| application --| gateway 网关 --| bff web端 --| service1 --| service2 --| bff2 移动端 --| service3 --| service4 ``` 网关建议做接口限流,黑白名单等,在bff做的主要原因是 bff能分应用取得对应应用的用户信息和权限。