# skadmin-server **Repository Path**: luanhaoyu/skadmin-server ## Basic Information - **Project Name**: skadmin-server - **Description**: 一个适用于小微企业后台管理系统服务端的脚手架 - **Primary Language**: Java - **License**: MIT - **Default Branch**: master - **Homepage**: https://gitee.com/luanhaoyu/skadmin-server - **GVP Project**: No ## Statistics - **Stars**: 5 - **Forks**: 4 - **Created**: 2018-06-04 - **Last Updated**: 2024-12-03 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # skadmin-server #### 项目介绍 一个满足小微企业后台管理系统服务端的脚手架 配合前端项目使用 路径: `src/main/vue-dev` 提供基本的用户登录,用户注册,多角色切换,角色管理,权限管理,部门管理,数据字典管理和文件存储的功能。 包含纵向越权的拦截, 多角色的切换, 横向越权未做处理(建议可通过建立用户和可操作资源的绑定关系来控制) 支持微信服务端开发 #### 软件架构 springboot springmvc mybatis-plus 持久层框架 hutool 工具类 springdoc-open-api 官方版本swagger集成 lombok 注解简化开发 #### 安装教程 1. 安装通用mvc依赖: [clone crud-generator](https://gitee.com/luanhaoyu/crud-generator.git) 根目录执行 clean install 2. [clone](https://gitee.com/luanhaoyu/skadmin-server.git)项目到本地 3. mysql数据库初始化 建立数据库,创建用户并赋权: ``` create database sking_admin; grant all privileges on sking_admin.* to sking_admin@'%' identified by 'sking_admin'; flush privileges; ``` 执行脚本skadmin-server\db.sql 3. 根目录执行 clean install 4. 自建一个maven项目(也可执行启动skadmin-server\skadmin-server-boot项目) 拷贝 skadmin-server\skadmin-server-boot 下所有文件覆盖自建项目 5. 找到SkingAdminApplication启动类 对pom.xml, application.yml, logback.xml,SkingAdminApplication.java可按需修改 run application即可 6. 访问swagger-ui接口 http://127.0.0.1:8080/swagger-ui/index.html ![image-20210611223024641](README.assets/image-20210611223024641.png) ### 生产请使用[master分支](https://gitee.com/luanhaoyu/skadmin-server.git) ### master为最新版本 不定期更新 #### 功能说明 1. 常用权限注解 - `@Permissions ` 标记在controller类表示该controller下所有api接口都需要授权 标记在controller方法上表示该api接口需要授权 value值表示需要授权的权限名称 logical表示权限逻辑类型 默认为AND (与) 例如: ``` @RestController @RequestMapping("department") @Permissions public class DepartmentController extends SimpleCrudControllerSupport { /** * 部门树接口,需要department.view部门查询权限 **/ @Permissions(value = "department.view", logical = Logical.AND) @RequestMapping(value = "tree", method = RequestMethod.GET) public List tree(@Validated @ModelAttribute Department bean) { List departments = super.queryCond(bean); return TreeableUtil.toTree(departments, DepartmentTree.class); } } ``` - `@Anon` 标记在controller类或方法上,表示该类或方法无需登录即可访问后端接口 例如: ``` /** * @param name * @return java.util.List * @throws * @Title: userRoles * @Description: 获取用户已有角色 * @date 2018/6/8 17:28 */ @Anon @RequestMapping(value = "userRoles/{name}", method = RequestMethod.GET) public List userRoles(@PathVariable("name") String name) { return RoleService.class.cast(service).listRolesByUserName(name); } ``` 2021年6月更新2.0.0 1.将 tkmapper替换为mybatis-plus 2.升级相关依赖到最新版 3.curd-mvc通用增删改查controller升级到最新 4.前端相关框架升级到最新,修复已知问题 2022年8月更新2.2.0 1. curd-mvc 调整名称为mvcplus 作为项目固有模块,不再依赖其他非公共模块 2. 集成了代码生成器模块 3. 增加了微信公众平台模块,可以单独引入 4. 前后端框架版本升级到当前最新