# bluesky-api **Repository Path**: wangweiwa/bluesky-api ## Basic Information - **Project Name**: bluesky-api - **Description**: No description available - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 56 - **Created**: 2021-07-15 - **Last Updated**: 2022-05-24 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README

BlueSky Admin

Downloads Build Status Build Status

## 简介 BlueSky Admin权限管理系统,基于VUE3.x、SpringBoot2.x、SpringSecurity、MyBatis-Plus等技术实现的前后端分离的权限管理系统。 可用于学习参考和项目开发。 ## 特性 - WEB容器使用了undertow,相较于tomcat,并发性更好,性能要好一些。 - Lombok,消除冗长的java代码,更加简化。 - Mybatis Plus,可以简化CRUD开发。 - Mybatis Plus Generator,生成前后端代码,简化开发工作量。 - 使用java新特性,Stream API、lambda表达式等。 - Hutool工具集合,减少项目工具类的编写。 - Spring Security,通过自定义Provider,实现用户名密码登录和手机号验证码两种登录模式。 - Spring Security权限,细分到页面按钮级别。 - EasyExcel,方便导入导出功能,自定义Convert类,实现了数据字典的转化。 - Guava,非常方便的java工具集,提供了类似Lists.newArrayList()和Sets.newHashSet()等静态方法。 - DataSource注解,支持多数据源切换。 - Fastjson,方便了JSON的格式化和解析。 - Alibaba Java Coding Guidelines插件,IDEA插件,提高代码质量。 - 前端框架采用最新技术栈,Vue3 & Vite,打包更快更轻。 - 前端框架采用TypeScript和Eslint,规范代码,提高项目可持续性和可维护性。 ## 演示环境 演示地址:[http://vue3.bluesky.admin](http://coffee-ease.natapp1.cc) ## 预览
## 项目地址 - [bluesky-ui](https://gitee.com/skysong/bluesky-ui) - 前端UI - [bluesky-api](https://gitee.com/skysong/bluesky-api) - 后端API ## 项目结构 ``` bluesky-api ├── bluesky-admin -- 内置功能,后台管理 ├── bluesky-codegen -- 内置功能,代码生成 ├── bluesky-common --内置功能,通用工具 ├── bluesky-framework -- 内置功能,核心模块 ├── bluesky-system -- 内置功能,系统模块 ``` ## 核心依赖 | 依赖 | 版本 | | ---------------------- | ------------ | | Spring Boot | 2.5.2 | | Spring Boot Security | 2.5.2 | | Mybatis Plus | 3.4.3 | | Mybatis Plus Generator | 3.4.0 | | Hutool | 5.7.3 | | Guava | 30.1.1-jre | | EasyExcel | 2.2.6 | | Fastjson | 1.2.76 | ## 系统内置 ``` 1、菜单管理 2、字典管理 3、部门管理 4、岗位管理 5、角色管理 6、用户管理 7、参数设置 8、在线用户 9、操作日志 ``` ## 环境安装 ``` 1、准备Mysql数据库,Redis环境。 2、执行./doc/db/schema.sql,创建数据库。 3、执行./doc/db/bluesky.sql,创建数据表和插入基础数据。 ``` ## 部署 ``` 一、打包命令:指定prod环境,进行打包 mvn clean package -DskipTests -Pprod 二、启动 1、Windows环境,运行./doc/bin/run.bat 2、Linux环境,运行./doc/bin/linux/startup.sh 三、注意事项 1、Linux执行脚本,需要先授权,chmod +x startup.sh 2、run.bat或startup.sh,需要和bluesky-admin.jar放在同一个目录运行 3、指定端口,需要修改脚本,并添加server.port参数,示例:--server.port=9090 ``` ## 服务器部署目录结构 ``` /opt ├── bluesky ├──── bluesky-ui ├──── bluesky-api ├────── startup.sh ├────── bluesky-admin.jar ``` ## nginx配置 ``` location / { root /opt/bluesky/bluesky-ui; try_files $uri $uri/ @router; index index.html index.htm; } location @router { rewrite ^.*$ /index.html last; } location ^~ /api { proxy_pass http://localhost:9090/api; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header REMOTE-HOST $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } ``` ## EasyExcel使用 ``` excel标题宽度 两个字:@ColumnWidth(10) 四个字:@ColumnWidth(15) ``` ## Java编码规范 [Java开发手册](./doc/java开发手册/阿里巴巴Java开发手册(华山版).pdf) ## Vue编码规范 ``` 1、所有的Component文件都是以大写开头 (PascalCase) 2、所有的.js文件都遵循横线连接 (kebab-case) 3、在views文件下,代表路由的.vue文件都使用横线连接 (kebab-case),代表路由的文件夹也是使用同样的规则 4、api下模块和view下模块,一一对应 ``` ## CSS编码规范 ``` CSS编码规范,BEM:就是块(block)、元素(element)、修饰符(modifier) .block{} .block__element{} .block--modifier{} .block 代表了更高级别的抽象或组件。 .block__element 代表.block的后代,用于形成一个完整的.block的整体。 .block--modifier代表.block的不同状态或不同版本 ```