|
|
3 년 전 | |
|---|---|---|
| coffee-admin | 3 년 전 | |
| coffee-codegen | 3 년 전 | |
| coffee-common | 3 년 전 | |
| coffee-framework | 3 년 전 | |
| coffee-oss | 3 년 전 | |
| coffee-system | 3 년 전 | |
| doc | 3 년 전 | |
| .gitignore | 3 년 전 | |
| LICENSE | 3 년 전 | |
| README.md | 3 년 전 | |
| pom.xml | 3 년 전 |
Coffee Admin权限管理系统,基于VUE3.x、SpringBoot2.x、Sa-Token、MyBatis-Plus等技术实现的前后端分离的权限管理系统。 可用于学习参考和项目开发。
coffee-boot
├── coffee-admin -- 内置功能,后台管理
├── coffee-codegen -- 内置功能,代码生成
├── coffee-common --内置功能,通用工具
├── coffee-framework -- 内置功能,核心模块
├── coffee-system -- 内置功能,系统模块
├── coffee-oss -- 内置功能,OSS文件存储模块
| 依赖 | 版本 |
|---|---|
| Spring Boot | 2.5.8 |
| Sa Token | 1.29.0 |
| Mybatis Plus | 3.5.1 |
| Mybatis Plus Generator | 3.4.1 |
| Hutool | 5.7.21 |
| Guava | 30.1.1-jre |
| EasyExcel | 3.0.5 |
| Fastjson | 1.2.79 |
| Minio | 8.3.7 |
1、菜单管理
2、字典管理
3、部门管理
4、岗位管理
5、角色管理
6、用户管理
7、参数设置
8、行政区域
9、在线用户
10、操作日志
11、账户设置
1、安装Mysql数据库,安装Redis,安装MinIO文件存储。
2、执行./doc/db/schema.sql,创建数据库。
3、执行./doc/db/coffee.sql,创建数据表和插入基础数据。
1、查看镜像
docker images
2、查看所有容器
docker ps -a
3、拉取镜像
docker pull redis:latest
4、参数解释
--name,设置运行的镜像名称
-p,映射端口,虚拟机端口:docker端口
-e,设置环境变量
-v,挂载目录/文件,虚拟机目录/文件:docker目录/文件
--privileged=true,设置特权,比如为mysql获取root权限
-d,守护进程后台运行
-it,启动并运行
--restart=always,在docker服务重启后,自动重启mysql服务,也可以把docker服务作为开机启动,这样mysql就可以跟着开机启动了
--link,设置容器别名
1、拉取镜像
docker pull redis:latest
2、启动并运行
docker run -itd --name redis -p 6379:6379 redis
1、拉取镜像
docker pull mysql:5.7
2、创建目录并授权
mkdir -p /opt/docker/mysql/data /opt/docker/mysql/conf
chmod -R 777 /opt/docker
3、创建配置文件并授权
touch /opt/docker/mysql/conf/my.cnf
vi /opt/docker/mysql/conf/my.cnf
chmod 777 /opt/docker/mysql/conf/my.cnf
my.cnf内容如下:
[client]
port=3306
default-character-set=utf8
[mysql]
default-character-set=utf8
[mysqld]
character_set_server=utf8
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
lower_case_table_names=1
4、启动并运行
docker run -itd --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 --privileged=true -v /opt/docker/mysql/conf/my.cnf:/etc/mysql/my.cnf -v /opt/docker/mysql/data:/var/lib/mysql -v /opt/docker/mysql/logs:/var/log/mysql mysql:5.7
1、拉取镜像
docker pull minio/minio
2、创建目录并授权
mkdir -p /opt/docker/minio/data
chmod -R 777 /opt/docker
3、启动并运行
docker run -d -p 9000:9000 -p 9001:9001 --name=minio -v /opt/docker/minio/data:/data quay.io/minio/minio server /data/data-{1...4} --console-address ":9001" --address ":9000"
一、打包命令:指定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,需要和coffee-admin.jar放在同一个目录运行
3、指定端口,需要修改脚本,并添加server.port参数,示例:--server.port=9090
四、服务器部署目录结构
/opt
├── coffee
├──── coffee-ui
├──── coffee-boot
├────── startup.sh
├────── coffee-admin.jar
location / {
root /opt/coffee/coffee-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/skysong/coffee-ui
2、创建自己的分支,进行开发,feature-dev
3、码云强制同步
4、合并代码,merge into feature-dev

/** 按照个人需要,进行修改 */
public static final String AUTHOR = "Kevin";
public static final String PROJECT_PATH = "D:\\tempCode";
public static final String PACKAGE_PARENT = "com.coffee";
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 CREATE_BY = "1";
public static final String UPDATE_BY = "1";
/** 默认菜单图标,可以不用修改,SQL脚本生成之后,在页面选择图标,进行修改即可 */
public static final String ICON = "ant-design:unordered-list-outlined";
// 是否导出excel
public static final Boolean exportExcel = false;
public static void main(String[] args) {
new CodeGenerator().generate(
"sys_example"
);
}
excel标题宽度
两个字:@ColumnWidth(10)
四个字:@ColumnWidth(15)
1、大道至简
2、IDEA安装Alibaba Java Coding Guidelines插件,编码规约扫描,代码中不要出现警告
3、尽量用@Resource,基于BeanName查找注入,少用@Autowired,基于BeanType查找注入
4、尽量用Service互相注入,少用直接注入Mapper
5、详细开发范例请见 com.coffee.framework.test.controller下类,Service层直接使用Service,抛弃接口类
1、ID主键,bigint(20),雪花算法
2、审计字段,create_by、create_time、update_by、update_time
3、表中字段类型,主要采用varchar,万一迁移oracle、sqlserver数据库呢,好兼容