7 Star 27 Fork 15

Kevin / bluesky-api

Create your Gitee Account
Explore and code with more than 6 million developers,Free private repositories !:)
Sign up
Clone or download
Cancel
Notice: Creating folder will generate an empty file .keep, because not support in Git
Loading...
README.md

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

预览

项目地址

项目结构

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、在线用户
10、操作日志

环境安装

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;
    }

代码同步方法(示例)

1、fork代码,fork from https://gitee.com/annsion/vue-vben-admin
2、创建自己的分支,进行开发,feature-dev
3、码云强制同步

4、合并代码,merge into feature-dev

代码生成(CodeGenerator)

    /** 按照个人需要,进行修改 */
    public static final String AUTHOR = "Kevin";
    public static final String PROJECT_PATH = "D:\\tempCode";
    public static final String PACKAGE_PARENT = "com.bluesky";
    public static final String MODULE_NAME = "system";

    /** 生成SQL脚本的上级菜单的ID,要开发的功能,需要放到XXX菜单下面,请找到XXX菜单的ID */
    public static final String PARENT_MENU_ID = "1406064334403878913";

    /** admin的ID,可以不用修改 */
    public static final String CREATED_BY = "1401043674048851970";
    public static final String UPDATED_BY = "1401043674048851970";

    /** 默认菜单图标,可以不用修改,SQL脚本生成之后,在页面选择图标,进行修改即可 */
    public static final String ICON = "ant-design:unordered-list-outlined";

    public static void main(String[] args) {
        new CodeGenerator().generate(
                "sys_user"
        );
    }

EasyExcel使用

excel标题宽度
两个字:@ColumnWidth(10)
四个字:@ColumnWidth(15)

Java编码规范

Java开发手册

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的不同状态或不同版本

Comments ( 3 )

Sign in for post a comment

About

BlueSky Admin权限管理系统,基于VUE3.x、SpringBoot2.x、SpringSecurity、MyBatis-Plus等技术实现的前后端分离的权限管理系统。 可用于学习参考和项目开发。 expand collapse
Java
Apache-2.0
Cancel

Releases

No release

Contributors

All

Activities

load more
can not load any more
1
https://gitee.com/skysong/bluesky-api.git
git@gitee.com:skysong/bluesky-api.git
skysong
bluesky-api
bluesky-api
master

Search

105716 1d94204e 1850385 105716 2d26be5c 1850385