添加docker-compose.prod
This commit is contained in:
2
.gitignore
vendored
2
.gitignore
vendored
@@ -69,3 +69,5 @@ vite.config.ts.*
|
|||||||
celerybeat-schedule.db
|
celerybeat-schedule.db
|
||||||
**/.pnpm-store
|
**/.pnpm-store
|
||||||
data/mysql
|
data/mysql
|
||||||
|
data/mysql_prod
|
||||||
|
web/node-compile-cache
|
||||||
@@ -2,6 +2,14 @@
|
|||||||
|
|
||||||
本项目为基于 Django5 + Vue3(vben-admin)全栈开发的企业级中后台管理系统,支持动态菜单、按钮权限、自动化代码生成、前后端权限联动等功能,适用于多角色、多权限场景的管理后台。
|
本项目为基于 Django5 + Vue3(vben-admin)全栈开发的企业级中后台管理系统,支持动态菜单、按钮权限、自动化代码生成、前后端权限联动等功能,适用于多角色、多权限场景的管理后台。
|
||||||
|
|
||||||
|
## 在线体验
|
||||||
|
|
||||||
|
- admin/admin123
|
||||||
|
- chenze/admin123
|
||||||
|
演示地址:http://demo.ywwuzi.cn
|
||||||
|
文档地址:待完成
|
||||||
|
|
||||||
|
|
||||||
# 许可证
|
# 许可证
|
||||||
|
|
||||||
本项目遵循 MIT License。
|
本项目遵循 MIT License。
|
||||||
|
|||||||
62
backend/.dockerignore
Normal file
62
backend/.dockerignore
Normal file
@@ -0,0 +1,62 @@
|
|||||||
|
**/.idea/
|
||||||
|
.idea/**
|
||||||
|
**/*.pyc
|
||||||
|
__pycache__/
|
||||||
|
build/
|
||||||
|
*.egg-info/
|
||||||
|
.python-version
|
||||||
|
.pytest_cache/
|
||||||
|
eggs/
|
||||||
|
lib/
|
||||||
|
lib64/
|
||||||
|
.DS_Store
|
||||||
|
docs/_build/
|
||||||
|
*.env
|
||||||
|
**/local_settings.py
|
||||||
|
static/
|
||||||
|
|
||||||
|
.nitro
|
||||||
|
.output
|
||||||
|
*-dist.zip
|
||||||
|
*-dist.tar
|
||||||
|
*-dist.war
|
||||||
|
coverage
|
||||||
|
*.local
|
||||||
|
**/.vitepress/cache
|
||||||
|
.cache
|
||||||
|
.turbo
|
||||||
|
.temp
|
||||||
|
dev-dist
|
||||||
|
.stylelintcache
|
||||||
|
yarn.lock
|
||||||
|
package-lock.json
|
||||||
|
.VSCodeCounter
|
||||||
|
**/backend-mock/data
|
||||||
|
|
||||||
|
# local env files
|
||||||
|
.env.local
|
||||||
|
.env.*.local
|
||||||
|
.eslintcache
|
||||||
|
|
||||||
|
logs
|
||||||
|
*.log
|
||||||
|
npm-debug.log*
|
||||||
|
yarn-debug.log*
|
||||||
|
yarn-error.log*
|
||||||
|
pnpm-debug.log*
|
||||||
|
lerna-debug.log*
|
||||||
|
vite.config.mts.*
|
||||||
|
vite.config.mjs.*
|
||||||
|
vite.config.js.*
|
||||||
|
vite.config.ts.*
|
||||||
|
|
||||||
|
# Editor directories and files
|
||||||
|
.idea
|
||||||
|
# .vscode
|
||||||
|
*.suo
|
||||||
|
*.ntvs*
|
||||||
|
*.njsproj
|
||||||
|
*.sln
|
||||||
|
*.sw?
|
||||||
|
.history
|
||||||
|
celerybeat-schedule.db
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
# syntax=docker/dockerfile:1
|
# syntax=docker/dockerfile:1
|
||||||
FROM python:3.12.2 AS dev
|
FROM python:3.12.2 AS base
|
||||||
|
|
||||||
WORKDIR /app
|
WORKDIR /app
|
||||||
|
|
||||||
@@ -14,8 +14,20 @@ RUN apt-get update && \
|
|||||||
COPY . .
|
COPY . .
|
||||||
|
|
||||||
RUN pip install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple
|
RUN pip install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple
|
||||||
|
# 入口命令由 docker-compose 控制
|
||||||
|
# 收集静态文件
|
||||||
|
RUN python manage.py collectstatic --noinput
|
||||||
|
|
||||||
CMD ["sh", "-c", "sleep 10 && python manage.py runserver 0.0.0.0:8000"]
|
|
||||||
|
|
||||||
# 默认命令,开发和生产通过 docker-compose 覆盖
|
# 默认命令,开发和生产通过 docker-compose 覆盖
|
||||||
#CMD ["python", "manage.py", "runserver", "0.0.0.0:8000"]
|
#CMD ["python", "manage.py", "runserver", "0.0.0.0:8000"]
|
||||||
|
|
||||||
|
FROM base AS dev
|
||||||
|
|
||||||
|
CMD ["python", "manage.py", "runserver", "0.0.0.0:8000"]
|
||||||
|
|
||||||
|
# CMD ["sh", "-c", "sleep 5 && python manage.py runserver 0.0.0.0:8000"]
|
||||||
|
|
||||||
|
|
||||||
|
FROM base AS prod
|
||||||
|
|
||||||
|
|||||||
@@ -23,7 +23,7 @@ BASE_DIR = Path(__file__).resolve().parent.parent
|
|||||||
SECRET_KEY = 'django-insecure-m4@pv814c_m^pgpyhz^i96a@mcqh_@m9ccu(17*895t!79e!nb'
|
SECRET_KEY = 'django-insecure-m4@pv814c_m^pgpyhz^i96a@mcqh_@m9ccu(17*895t!79e!nb'
|
||||||
|
|
||||||
# SECURITY WARNING: don't run with debug turned on in production!
|
# SECURITY WARNING: don't run with debug turned on in production!
|
||||||
DEBUG = True
|
DEBUG = os.getenv('DEBUG', 'False') == 'True'
|
||||||
|
|
||||||
ALLOWED_HOSTS = [
|
ALLOWED_HOSTS = [
|
||||||
'*',
|
'*',
|
||||||
@@ -92,9 +92,9 @@ DATABASES = {
|
|||||||
'default': {
|
'default': {
|
||||||
'ENGINE': 'django.db.backends.mysql',
|
'ENGINE': 'django.db.backends.mysql',
|
||||||
'NAME': 'django_vue',
|
'NAME': 'django_vue',
|
||||||
'USER': 'root',
|
'USER': os.getenv('DB_USER', 'chenze'),
|
||||||
'PASSWORD': 'my-secret-pw',
|
'PASSWORD': os.getenv('DB_PASSWORD', 'my-secret-pw'),
|
||||||
'HOST': os.getenv('DATABASE_HOST', 'localhost'),
|
'HOST': os.getenv('DB_HOST', 'localhost'),
|
||||||
# 'HOST': 'localhost',
|
# 'HOST': 'localhost',
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -168,9 +168,24 @@ REST_FRAMEWORK = {
|
|||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
||||||
# celery 配置
|
# ================= Redis 缓存配置 =================
|
||||||
CELERY_BROKER_URL = 'redis://localhost:6379/6'
|
CACHES = {
|
||||||
CELERY_RESULT_BACKEND = 'redis://localhost:6379/6'
|
"default": {
|
||||||
|
"BACKEND": "django_redis.cache.RedisCache",
|
||||||
|
"LOCATION": f"redis://{os.environ.get('REDIS_HOST', 'localhost')}:{os.environ.get('REDIS_PORT', 6379)}/1",
|
||||||
|
"OPTIONS": {
|
||||||
|
"CLIENT_CLASS": "django_redis.client.DefaultClient",
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
# SESSION 存 Redis
|
||||||
|
SESSION_ENGINE = "django.contrib.sessions.backends.cache"
|
||||||
|
SESSION_CACHE_ALIAS = "default"
|
||||||
|
|
||||||
|
# ================= Celery 配置(适配环境变量) =================
|
||||||
|
CELERY_BROKER_URL = f"redis://{os.environ.get('REDIS_HOST', 'localhost')}:{os.environ.get('REDIS_PORT', 6379)}/0"
|
||||||
|
CELERY_RESULT_BACKEND = CELERY_BROKER_URL
|
||||||
# 时区设置
|
# 时区设置
|
||||||
CELERY_TIMEZONE = 'Asia/Shanghai'
|
CELERY_TIMEZONE = 'Asia/Shanghai'
|
||||||
# 任务序列化方式
|
# 任务序列化方式
|
||||||
|
|||||||
@@ -12,3 +12,5 @@ redis==6.2.0
|
|||||||
eventlet==0.40.0
|
eventlet==0.40.0
|
||||||
goofish_api==0.0.6
|
goofish_api==0.0.6
|
||||||
flower==2.0.1
|
flower==2.0.1
|
||||||
|
gunicorn==23.0.0
|
||||||
|
django_redis==6.0.0
|
||||||
@@ -1,9 +1,6 @@
|
|||||||
services:
|
services:
|
||||||
mysql:
|
db:
|
||||||
image: mysql:8
|
image: mysql:8
|
||||||
environment:
|
|
||||||
MYSQL_ROOT_PASSWORD: my-secret-pw
|
|
||||||
MYSQL_DATABASE: django_vue
|
|
||||||
ports:
|
ports:
|
||||||
- "43306:3306"
|
- "43306:3306"
|
||||||
volumes:
|
volumes:
|
||||||
@@ -19,6 +16,57 @@ services:
|
|||||||
timeout: 5s
|
timeout: 5s
|
||||||
retries: 10
|
retries: 10
|
||||||
|
|
||||||
|
redis:
|
||||||
|
image: redis:7
|
||||||
|
restart: always
|
||||||
|
ports:
|
||||||
|
- "46379:6379"
|
||||||
|
networks:
|
||||||
|
- dj_admin_network
|
||||||
|
env_file:
|
||||||
|
- ./docker/.env.dev
|
||||||
|
|
||||||
|
|
||||||
|
celery_worker:
|
||||||
|
build:
|
||||||
|
context: ./backend
|
||||||
|
dockerfile: Dockerfile
|
||||||
|
command: celery -A backend worker -l info
|
||||||
|
env_file:
|
||||||
|
- ./docker/.env.dev
|
||||||
|
depends_on:
|
||||||
|
- backend
|
||||||
|
- redis
|
||||||
|
networks:
|
||||||
|
- dj_admin_network
|
||||||
|
|
||||||
|
celery_beat:
|
||||||
|
build:
|
||||||
|
context: ./backend
|
||||||
|
dockerfile: Dockerfile
|
||||||
|
command: celery -A backend beat -l info
|
||||||
|
env_file:
|
||||||
|
- ./docker/.env.dev
|
||||||
|
depends_on:
|
||||||
|
- backend
|
||||||
|
- redis
|
||||||
|
networks:
|
||||||
|
- dj_admin_network
|
||||||
|
|
||||||
|
flower:
|
||||||
|
build:
|
||||||
|
context: ./backend
|
||||||
|
dockerfile: Dockerfile
|
||||||
|
command: celery -A backend flower --port=5555
|
||||||
|
env_file:
|
||||||
|
- ./docker/.env.dev
|
||||||
|
depends_on:
|
||||||
|
- backend
|
||||||
|
- redis
|
||||||
|
ports:
|
||||||
|
- "45555:5555"
|
||||||
|
networks:
|
||||||
|
- dj_admin_network
|
||||||
|
|
||||||
backend:
|
backend:
|
||||||
build:
|
build:
|
||||||
@@ -28,18 +76,16 @@ services:
|
|||||||
- ./backend:/app
|
- ./backend:/app
|
||||||
ports:
|
ports:
|
||||||
- "48000:8000"
|
- "48000:8000"
|
||||||
command: python manage.py runserver 0.0.0.0:8000
|
|
||||||
environment:
|
|
||||||
- DATABASE_HOST=mysql
|
|
||||||
networks:
|
networks:
|
||||||
- dj_admin_network
|
- dj_admin_network
|
||||||
env_file:
|
env_file:
|
||||||
- ./docker/.env.dev
|
- ./docker/.env.dev
|
||||||
|
environment:
|
||||||
|
DATABASE_HOST: "db"
|
||||||
depends_on:
|
depends_on:
|
||||||
mysql:
|
db:
|
||||||
condition: service_healthy
|
condition: service_healthy
|
||||||
|
|
||||||
|
|
||||||
web:
|
web:
|
||||||
build:
|
build:
|
||||||
context: ./web
|
context: ./web
|
||||||
@@ -47,12 +93,13 @@ services:
|
|||||||
volumes:
|
volumes:
|
||||||
- ./web:/app
|
- ./web:/app
|
||||||
ports:
|
ports:
|
||||||
- "5678:5678"
|
- "45678:5678"
|
||||||
|
depends_on:
|
||||||
|
- backend
|
||||||
networks:
|
networks:
|
||||||
- dj_admin_network
|
- dj_admin_network
|
||||||
env_file:
|
env_file:
|
||||||
- ./docker/.env.dev
|
- ./docker/.env.dev
|
||||||
- ./docker/.env.docker
|
|
||||||
|
|
||||||
networks:
|
networks:
|
||||||
dj_admin_network:
|
dj_admin_network:
|
||||||
|
|||||||
111
docker-compose.prod.yml
Normal file
111
docker-compose.prod.yml
Normal file
@@ -0,0 +1,111 @@
|
|||||||
|
services:
|
||||||
|
db:
|
||||||
|
image: mysql:8
|
||||||
|
restart: always
|
||||||
|
env_file:
|
||||||
|
- ./docker/.env.prod
|
||||||
|
environment:
|
||||||
|
TZ: Asia/Shanghai
|
||||||
|
ports:
|
||||||
|
- "33306:3306"
|
||||||
|
volumes:
|
||||||
|
- ./sql/django_vue.sql:/docker-entrypoint-initdb.d/django_vue.sql
|
||||||
|
- ./data/mysql_prod:/var/lib/mysql # <-- 加这一行
|
||||||
|
networks:
|
||||||
|
- app_net
|
||||||
|
|
||||||
|
|
||||||
|
redis:
|
||||||
|
image: redis:7
|
||||||
|
restart: always
|
||||||
|
ports:
|
||||||
|
- "36379:6379"
|
||||||
|
networks:
|
||||||
|
- app_net
|
||||||
|
env_file:
|
||||||
|
- ./docker/.env.prod
|
||||||
|
|
||||||
|
backend:
|
||||||
|
build:
|
||||||
|
context: ./backend
|
||||||
|
dockerfile: Dockerfile
|
||||||
|
target: prod
|
||||||
|
command: gunicorn backend.wsgi:application --bind 0.0.0.0:8000
|
||||||
|
env_file:
|
||||||
|
- ./docker/.env.prod
|
||||||
|
depends_on:
|
||||||
|
- db
|
||||||
|
- redis
|
||||||
|
volumes:
|
||||||
|
- static_data:/app/static
|
||||||
|
- media_data:/app/media
|
||||||
|
ports:
|
||||||
|
- "38000:8000"
|
||||||
|
networks:
|
||||||
|
- app_net
|
||||||
|
|
||||||
|
celery_worker:
|
||||||
|
build:
|
||||||
|
context: ./backend
|
||||||
|
dockerfile: Dockerfile
|
||||||
|
command: celery -A backend worker -l info
|
||||||
|
env_file:
|
||||||
|
- ./docker/.env.prod
|
||||||
|
depends_on:
|
||||||
|
- backend
|
||||||
|
- redis
|
||||||
|
networks:
|
||||||
|
- app_net
|
||||||
|
|
||||||
|
celery_beat:
|
||||||
|
build:
|
||||||
|
context: ./backend
|
||||||
|
dockerfile: Dockerfile
|
||||||
|
command: celery -A backend beat -l info
|
||||||
|
env_file:
|
||||||
|
- ./docker/.env.prod
|
||||||
|
depends_on:
|
||||||
|
- backend
|
||||||
|
- redis
|
||||||
|
networks:
|
||||||
|
- app_net
|
||||||
|
|
||||||
|
flower:
|
||||||
|
build:
|
||||||
|
context: ./backend
|
||||||
|
dockerfile: Dockerfile
|
||||||
|
command: celery -A backend flower --port=5555
|
||||||
|
env_file:
|
||||||
|
- ./docker/.env.prod
|
||||||
|
depends_on:
|
||||||
|
- backend
|
||||||
|
- redis
|
||||||
|
ports:
|
||||||
|
- "35555:5555"
|
||||||
|
networks:
|
||||||
|
- app_net
|
||||||
|
|
||||||
|
|
||||||
|
frontend:
|
||||||
|
build:
|
||||||
|
context: ./web
|
||||||
|
dockerfile: Dockerfile
|
||||||
|
target: prod
|
||||||
|
depends_on:
|
||||||
|
- backend
|
||||||
|
ports:
|
||||||
|
- "35678:80"
|
||||||
|
networks:
|
||||||
|
- app_net
|
||||||
|
env_file:
|
||||||
|
- ./docker/.env.prod
|
||||||
|
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
db_data:
|
||||||
|
static_data:
|
||||||
|
media_data:
|
||||||
|
|
||||||
|
networks:
|
||||||
|
app_net:
|
||||||
|
driver: bridge
|
||||||
@@ -1 +1,31 @@
|
|||||||
VITE_BACKEND_URL=http://localhost:8000
|
VITE_BACKEND_URL=http://backend:8000
|
||||||
|
# MySQL
|
||||||
|
MYSQL_DATABASE=django_vue
|
||||||
|
MYSQL_USER=chenze
|
||||||
|
MYSQL_PASSWORD=ca25045c409e60fab517c7327dd527ef27c48ca6
|
||||||
|
MYSQL_PORT=3306
|
||||||
|
MYSQL_ROOT_PASSWORD=58ce16c2ee80311e130b30f11160ef77e0ac6aa7
|
||||||
|
|
||||||
|
# Django
|
||||||
|
DEBUG=False
|
||||||
|
DJANGO_ALLOWED_HOSTS=*
|
||||||
|
DB_NAME=django_vue
|
||||||
|
DB_USER=root
|
||||||
|
DB_PASSWORD=58ce16c2ee80311e130b30f11160ef77e0ac6aa7
|
||||||
|
DB_HOST=db
|
||||||
|
DB_PORT=3306
|
||||||
|
|
||||||
|
# Redis
|
||||||
|
REDIS_HOST=redis
|
||||||
|
REDIS_PORT=6379
|
||||||
|
REDIS_PASSWORD=e4c173f1b708e8e90f12bc1481e8b3ef
|
||||||
|
|
||||||
|
# Flower
|
||||||
|
FLOWER_PORT=5555
|
||||||
|
|
||||||
|
# 后端服务端口
|
||||||
|
BACKEND_PORT=8000
|
||||||
|
|
||||||
|
# Nginx
|
||||||
|
NGINX_PORT=80
|
||||||
|
|
||||||
|
|||||||
@@ -1 +0,0 @@
|
|||||||
VITE_BACKEND_URL=http://backend:8000
|
|
||||||
30
docker/.env.prod
Normal file
30
docker/.env.prod
Normal file
@@ -0,0 +1,30 @@
|
|||||||
|
# MySQL
|
||||||
|
MYSQL_DATABASE=django_vue
|
||||||
|
MYSQL_USER=chenze
|
||||||
|
MYSQL_PASSWORD=ca25045c409e60fab517c7327dd527ef27c48ca6
|
||||||
|
MYSQL_PORT=3306
|
||||||
|
MYSQL_ROOT_PASSWORD=58ce16c2ee80311e130b30f11160ef77e0ac6aa7
|
||||||
|
|
||||||
|
# Django
|
||||||
|
DEBUG=False
|
||||||
|
DJANGO_ALLOWED_HOSTS=*
|
||||||
|
DB_NAME=django_vue
|
||||||
|
DB_USER=chenze
|
||||||
|
DB_PASSWORD=ca25045c409e60fab517c7327dd527ef27c48ca6
|
||||||
|
DB_HOST=db
|
||||||
|
DB_PORT=3306
|
||||||
|
|
||||||
|
# Redis
|
||||||
|
REDIS_HOST=redis
|
||||||
|
REDIS_PORT=6379
|
||||||
|
REDIS_PASSWORD=e4c173f1b708e8e90f12bc1481e8b3ef
|
||||||
|
|
||||||
|
# Flower
|
||||||
|
FLOWER_PORT=5555
|
||||||
|
|
||||||
|
# 后端服务端口
|
||||||
|
BACKEND_PORT=8000
|
||||||
|
|
||||||
|
# Nginx
|
||||||
|
NGINX_PORT=80
|
||||||
|
|
||||||
@@ -11,7 +11,7 @@
|
|||||||
Target Server Version : 90300 (9.3.0)
|
Target Server Version : 90300 (9.3.0)
|
||||||
File Encoding : 65001
|
File Encoding : 65001
|
||||||
|
|
||||||
Date: 03/07/2025 16:53:14
|
Date: 04/07/2025 22:51:23
|
||||||
*/
|
*/
|
||||||
|
|
||||||
SET NAMES utf8mb4;
|
SET NAMES utf8mb4;
|
||||||
@@ -400,7 +400,7 @@ CREATE TABLE `system_login_log` (
|
|||||||
`user_ip` varchar(50) NOT NULL COMMENT '用户 IP',
|
`user_ip` varchar(50) NOT NULL COMMENT '用户 IP',
|
||||||
`user_agent` varchar(512) NOT NULL COMMENT '浏览器 UA',
|
`user_agent` varchar(512) NOT NULL COMMENT '浏览器 UA',
|
||||||
PRIMARY KEY (`id`)
|
PRIMARY KEY (`id`)
|
||||||
) ENGINE=InnoDB AUTO_INCREMENT=14 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
|
) ENGINE=InnoDB AUTO_INCREMENT=19 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
|
||||||
|
|
||||||
-- ----------------------------
|
-- ----------------------------
|
||||||
-- Records of system_login_log
|
-- Records of system_login_log
|
||||||
@@ -419,6 +419,11 @@ INSERT INTO `system_login_log` (`id`, `remark`, `creator`, `modifier`, `update_t
|
|||||||
INSERT INTO `system_login_log` (`id`, `remark`, `creator`, `modifier`, `update_time`, `create_time`, `is_deleted`, `username`, `result`, `user_ip`, `user_agent`) VALUES (11, NULL, NULL, NULL, '2025-07-02 08:57:47.575085', '2025-07-02 08:57:47.575095', 0, 'chenze', 1, '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 Safari/537.36');
|
INSERT INTO `system_login_log` (`id`, `remark`, `creator`, `modifier`, `update_time`, `create_time`, `is_deleted`, `username`, `result`, `user_ip`, `user_agent`) VALUES (11, NULL, NULL, NULL, '2025-07-02 08:57:47.575085', '2025-07-02 08:57:47.575095', 0, 'chenze', 1, '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 Safari/537.36');
|
||||||
INSERT INTO `system_login_log` (`id`, `remark`, `creator`, `modifier`, `update_time`, `create_time`, `is_deleted`, `username`, `result`, `user_ip`, `user_agent`) VALUES (12, NULL, NULL, NULL, '2025-07-02 09:16:09.528323', '2025-07-02 09:16:09.528338', 0, 'admin', 1, '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 Safari/537.36');
|
INSERT INTO `system_login_log` (`id`, `remark`, `creator`, `modifier`, `update_time`, `create_time`, `is_deleted`, `username`, `result`, `user_ip`, `user_agent`) VALUES (12, NULL, NULL, NULL, '2025-07-02 09:16:09.528323', '2025-07-02 09:16:09.528338', 0, 'admin', 1, '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 Safari/537.36');
|
||||||
INSERT INTO `system_login_log` (`id`, `remark`, `creator`, `modifier`, `update_time`, `create_time`, `is_deleted`, `username`, `result`, `user_ip`, `user_agent`) VALUES (13, NULL, NULL, NULL, '2025-07-03 01:56:33.628362', '2025-07-03 01:56:33.628383', 0, 'admin', 1, '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 Safari/537.36');
|
INSERT INTO `system_login_log` (`id`, `remark`, `creator`, `modifier`, `update_time`, `create_time`, `is_deleted`, `username`, `result`, `user_ip`, `user_agent`) VALUES (13, NULL, NULL, NULL, '2025-07-03 01:56:33.628362', '2025-07-03 01:56:33.628383', 0, 'admin', 1, '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 Safari/537.36');
|
||||||
|
INSERT INTO `system_login_log` (`id`, `remark`, `creator`, `modifier`, `update_time`, `create_time`, `is_deleted`, `username`, `result`, `user_ip`, `user_agent`) VALUES (14, NULL, NULL, NULL, '2025-07-03 09:03:55.601317', '2025-07-03 09:03:55.601325', 0, 'chenze', 1, '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 Safari/537.36');
|
||||||
|
INSERT INTO `system_login_log` (`id`, `remark`, `creator`, `modifier`, `update_time`, `create_time`, `is_deleted`, `username`, `result`, `user_ip`, `user_agent`) VALUES (15, NULL, NULL, NULL, '2025-07-04 05:48:38.799378', '2025-07-04 05:48:38.799423', 0, 'chenze', 1, '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 Safari/537.36');
|
||||||
|
INSERT INTO `system_login_log` (`id`, `remark`, `creator`, `modifier`, `update_time`, `create_time`, `is_deleted`, `username`, `result`, `user_ip`, `user_agent`) VALUES (16, NULL, NULL, NULL, '2025-07-04 09:41:07.394602', '2025-07-04 09:41:07.394619', 0, 'chenze', 1, '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 Safari/537.36');
|
||||||
|
INSERT INTO `system_login_log` (`id`, `remark`, `creator`, `modifier`, `update_time`, `create_time`, `is_deleted`, `username`, `result`, `user_ip`, `user_agent`) VALUES (17, NULL, NULL, NULL, '2025-07-04 14:46:34.812031', '2025-07-04 14:46:34.812041', 0, 'chenze', 1, '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 Safari/537.36');
|
||||||
|
INSERT INTO `system_login_log` (`id`, `remark`, `creator`, `modifier`, `update_time`, `create_time`, `is_deleted`, `username`, `result`, `user_ip`, `user_agent`) VALUES (18, NULL, NULL, NULL, '2025-07-04 14:48:20.347506', '2025-07-04 14:48:20.347516', 0, 'admin', 1, '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 Safari/537.36');
|
||||||
COMMIT;
|
COMMIT;
|
||||||
|
|
||||||
-- ----------------------------
|
-- ----------------------------
|
||||||
@@ -634,7 +639,7 @@ CREATE TABLE `system_role` (
|
|||||||
-- Records of system_role
|
-- Records of system_role
|
||||||
-- ----------------------------
|
-- ----------------------------
|
||||||
BEGIN;
|
BEGIN;
|
||||||
INSERT INTO `system_role` (`id`, `creator`, `modifier`, `update_time`, `create_time`, `is_deleted`, `name`, `status`, `sort`, `remark`, `code`) VALUES (2, NULL, 'admin', '2025-07-03 02:58:16.720330', '2025-06-30 13:43:33.222244', 0, '普通角色', 1, 0, '', 'common');
|
INSERT INTO `system_role` (`id`, `creator`, `modifier`, `update_time`, `create_time`, `is_deleted`, `name`, `status`, `sort`, `remark`, `code`) VALUES (2, NULL, 'admin', '2025-07-03 09:05:32.917555', '2025-06-30 13:43:33.222244', 0, '普通角色', 1, 0, '', 'common');
|
||||||
INSERT INTO `system_role` (`id`, `creator`, `modifier`, `update_time`, `create_time`, `is_deleted`, `name`, `status`, `sort`, `remark`, `code`) VALUES (3, 'admin', 'admin', '2025-07-03 02:58:07.056753', '2025-06-30 14:01:56.403744', 0, '超级管理员', 1, 0, '', 'super_admin');
|
INSERT INTO `system_role` (`id`, `creator`, `modifier`, `update_time`, `create_time`, `is_deleted`, `name`, `status`, `sort`, `remark`, `code`) VALUES (3, 'admin', 'admin', '2025-07-03 02:58:07.056753', '2025-06-30 14:01:56.403744', 0, '超级管理员', 1, 0, '', 'super_admin');
|
||||||
COMMIT;
|
COMMIT;
|
||||||
|
|
||||||
@@ -657,7 +662,7 @@ CREATE TABLE `system_role_permission` (
|
|||||||
KEY `system_role_permission_role_id_ca5e9412_fk_system_role_id` (`role_id`),
|
KEY `system_role_permission_role_id_ca5e9412_fk_system_role_id` (`role_id`),
|
||||||
CONSTRAINT `system_role_permission_menu_id_bf701eaf_fk_system_menu_id` FOREIGN KEY (`menu_id`) REFERENCES `system_menu` (`id`),
|
CONSTRAINT `system_role_permission_menu_id_bf701eaf_fk_system_menu_id` FOREIGN KEY (`menu_id`) REFERENCES `system_menu` (`id`),
|
||||||
CONSTRAINT `system_role_permission_role_id_ca5e9412_fk_system_role_id` FOREIGN KEY (`role_id`) REFERENCES `system_role` (`id`)
|
CONSTRAINT `system_role_permission_role_id_ca5e9412_fk_system_role_id` FOREIGN KEY (`role_id`) REFERENCES `system_role` (`id`)
|
||||||
) ENGINE=InnoDB AUTO_INCREMENT=79 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
|
) ENGINE=InnoDB AUTO_INCREMENT=88 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
|
||||||
|
|
||||||
-- ----------------------------
|
-- ----------------------------
|
||||||
-- Records of system_role_permission
|
-- Records of system_role_permission
|
||||||
@@ -678,7 +683,6 @@ INSERT INTO `system_role_permission` (`id`, `remark`, `creator`, `modifier`, `up
|
|||||||
INSERT INTO `system_role_permission` (`id`, `remark`, `creator`, `modifier`, `update_time`, `is_deleted`, `create_time`, `menu_id`, `role_id`) VALUES (23, NULL, NULL, NULL, '2025-06-30 14:01:56.610751', 0, '2025-06-30 14:01:56.610849', 8, 3);
|
INSERT INTO `system_role_permission` (`id`, `remark`, `creator`, `modifier`, `update_time`, `is_deleted`, `create_time`, `menu_id`, `role_id`) VALUES (23, NULL, NULL, NULL, '2025-06-30 14:01:56.610751', 0, '2025-06-30 14:01:56.610849', 8, 3);
|
||||||
INSERT INTO `system_role_permission` (`id`, `remark`, `creator`, `modifier`, `update_time`, `is_deleted`, `create_time`, `menu_id`, `role_id`) VALUES (24, NULL, NULL, NULL, '2025-06-30 14:01:56.634161', 0, '2025-06-30 14:01:56.634243', 9, 3);
|
INSERT INTO `system_role_permission` (`id`, `remark`, `creator`, `modifier`, `update_time`, `is_deleted`, `create_time`, `menu_id`, `role_id`) VALUES (24, NULL, NULL, NULL, '2025-06-30 14:01:56.634161', 0, '2025-06-30 14:01:56.634243', 9, 3);
|
||||||
INSERT INTO `system_role_permission` (`id`, `remark`, `creator`, `modifier`, `update_time`, `is_deleted`, `create_time`, `menu_id`, `role_id`) VALUES (25, NULL, NULL, NULL, '2025-06-30 14:01:56.657691', 0, '2025-06-30 14:01:56.657753', 10, 3);
|
INSERT INTO `system_role_permission` (`id`, `remark`, `creator`, `modifier`, `update_time`, `is_deleted`, `create_time`, `menu_id`, `role_id`) VALUES (25, NULL, NULL, NULL, '2025-06-30 14:01:56.657691', 0, '2025-06-30 14:01:56.657753', 10, 3);
|
||||||
INSERT INTO `system_role_permission` (`id`, `remark`, `creator`, `modifier`, `update_time`, `is_deleted`, `create_time`, `menu_id`, `role_id`) VALUES (26, NULL, NULL, NULL, '2025-07-01 07:57:14.090252', 0, '2025-07-01 07:57:14.090324', 8, 2);
|
|
||||||
INSERT INTO `system_role_permission` (`id`, `remark`, `creator`, `modifier`, `update_time`, `is_deleted`, `create_time`, `menu_id`, `role_id`) VALUES (29, NULL, NULL, NULL, '2025-07-01 07:57:14.090386', 0, '2025-07-01 07:57:14.090399', 7, 2);
|
INSERT INTO `system_role_permission` (`id`, `remark`, `creator`, `modifier`, `update_time`, `is_deleted`, `create_time`, `menu_id`, `role_id`) VALUES (29, NULL, NULL, NULL, '2025-07-01 07:57:14.090386', 0, '2025-07-01 07:57:14.090399', 7, 2);
|
||||||
INSERT INTO `system_role_permission` (`id`, `remark`, `creator`, `modifier`, `update_time`, `is_deleted`, `create_time`, `menu_id`, `role_id`) VALUES (30, NULL, NULL, NULL, '2025-07-01 07:57:25.893132', 0, '2025-07-01 07:57:25.893185', 12, 3);
|
INSERT INTO `system_role_permission` (`id`, `remark`, `creator`, `modifier`, `update_time`, `is_deleted`, `create_time`, `menu_id`, `role_id`) VALUES (30, NULL, NULL, NULL, '2025-07-01 07:57:25.893132', 0, '2025-07-01 07:57:25.893185', 12, 3);
|
||||||
INSERT INTO `system_role_permission` (`id`, `remark`, `creator`, `modifier`, `update_time`, `is_deleted`, `create_time`, `menu_id`, `role_id`) VALUES (31, NULL, NULL, NULL, '2025-07-01 07:57:25.893198', 0, '2025-07-01 07:57:25.893211', 13, 3);
|
INSERT INTO `system_role_permission` (`id`, `remark`, `creator`, `modifier`, `update_time`, `is_deleted`, `create_time`, `menu_id`, `role_id`) VALUES (31, NULL, NULL, NULL, '2025-07-01 07:57:25.893198', 0, '2025-07-01 07:57:25.893211', 13, 3);
|
||||||
@@ -686,10 +690,7 @@ INSERT INTO `system_role_permission` (`id`, `remark`, `creator`, `modifier`, `up
|
|||||||
INSERT INTO `system_role_permission` (`id`, `remark`, `creator`, `modifier`, `update_time`, `is_deleted`, `create_time`, `menu_id`, `role_id`) VALUES (33, NULL, NULL, NULL, '2025-07-02 08:41:54.581823', 0, '2025-07-02 08:41:54.581874', 1, 2);
|
INSERT INTO `system_role_permission` (`id`, `remark`, `creator`, `modifier`, `update_time`, `is_deleted`, `create_time`, `menu_id`, `role_id`) VALUES (33, NULL, NULL, NULL, '2025-07-02 08:41:54.581823', 0, '2025-07-02 08:41:54.581874', 1, 2);
|
||||||
INSERT INTO `system_role_permission` (`id`, `remark`, `creator`, `modifier`, `update_time`, `is_deleted`, `create_time`, `menu_id`, `role_id`) VALUES (34, NULL, NULL, NULL, '2025-07-02 08:41:54.581888', 0, '2025-07-02 08:41:54.581902', 18, 2);
|
INSERT INTO `system_role_permission` (`id`, `remark`, `creator`, `modifier`, `update_time`, `is_deleted`, `create_time`, `menu_id`, `role_id`) VALUES (34, NULL, NULL, NULL, '2025-07-02 08:41:54.581888', 0, '2025-07-02 08:41:54.581902', 18, 2);
|
||||||
INSERT INTO `system_role_permission` (`id`, `remark`, `creator`, `modifier`, `update_time`, `is_deleted`, `create_time`, `menu_id`, `role_id`) VALUES (35, NULL, NULL, NULL, '2025-07-02 08:41:54.581914', 0, '2025-07-02 08:41:54.581927', 17, 2);
|
INSERT INTO `system_role_permission` (`id`, `remark`, `creator`, `modifier`, `update_time`, `is_deleted`, `create_time`, `menu_id`, `role_id`) VALUES (35, NULL, NULL, NULL, '2025-07-02 08:41:54.581914', 0, '2025-07-02 08:41:54.581927', 17, 2);
|
||||||
INSERT INTO `system_role_permission` (`id`, `remark`, `creator`, `modifier`, `update_time`, `is_deleted`, `create_time`, `menu_id`, `role_id`) VALUES (41, NULL, NULL, NULL, '2025-07-02 11:25:22.723470', 0, '2025-07-02 11:25:22.723543', 16, 2);
|
|
||||||
INSERT INTO `system_role_permission` (`id`, `remark`, `creator`, `modifier`, `update_time`, `is_deleted`, `create_time`, `menu_id`, `role_id`) VALUES (42, NULL, NULL, NULL, '2025-07-02 11:25:22.723559', 0, '2025-07-02 11:25:22.723574', 15, 2);
|
INSERT INTO `system_role_permission` (`id`, `remark`, `creator`, `modifier`, `update_time`, `is_deleted`, `create_time`, `menu_id`, `role_id`) VALUES (42, NULL, NULL, NULL, '2025-07-02 11:25:22.723559', 0, '2025-07-02 11:25:22.723574', 15, 2);
|
||||||
INSERT INTO `system_role_permission` (`id`, `remark`, `creator`, `modifier`, `update_time`, `is_deleted`, `create_time`, `menu_id`, `role_id`) VALUES (43, NULL, NULL, NULL, '2025-07-02 13:52:57.845593', 0, '2025-07-02 13:52:57.845675', 9, 2);
|
|
||||||
INSERT INTO `system_role_permission` (`id`, `remark`, `creator`, `modifier`, `update_time`, `is_deleted`, `create_time`, `menu_id`, `role_id`) VALUES (44, NULL, NULL, NULL, '2025-07-02 13:52:57.845692', 0, '2025-07-02 13:52:57.845710', 10, 2);
|
|
||||||
INSERT INTO `system_role_permission` (`id`, `remark`, `creator`, `modifier`, `update_time`, `is_deleted`, `create_time`, `menu_id`, `role_id`) VALUES (45, NULL, NULL, NULL, '2025-07-03 02:58:07.066807', 0, '2025-07-03 02:58:07.066937', 15, 3);
|
INSERT INTO `system_role_permission` (`id`, `remark`, `creator`, `modifier`, `update_time`, `is_deleted`, `create_time`, `menu_id`, `role_id`) VALUES (45, NULL, NULL, NULL, '2025-07-03 02:58:07.066807', 0, '2025-07-03 02:58:07.066937', 15, 3);
|
||||||
INSERT INTO `system_role_permission` (`id`, `remark`, `creator`, `modifier`, `update_time`, `is_deleted`, `create_time`, `menu_id`, `role_id`) VALUES (46, NULL, NULL, NULL, '2025-07-03 02:58:07.066958', 0, '2025-07-03 02:58:07.066974', 16, 3);
|
INSERT INTO `system_role_permission` (`id`, `remark`, `creator`, `modifier`, `update_time`, `is_deleted`, `create_time`, `menu_id`, `role_id`) VALUES (46, NULL, NULL, NULL, '2025-07-03 02:58:07.066958', 0, '2025-07-03 02:58:07.066974', 16, 3);
|
||||||
INSERT INTO `system_role_permission` (`id`, `remark`, `creator`, `modifier`, `update_time`, `is_deleted`, `create_time`, `menu_id`, `role_id`) VALUES (47, NULL, NULL, NULL, '2025-07-03 02:58:07.066986', 0, '2025-07-03 02:58:07.066999', 17, 3);
|
INSERT INTO `system_role_permission` (`id`, `remark`, `creator`, `modifier`, `update_time`, `is_deleted`, `create_time`, `menu_id`, `role_id`) VALUES (47, NULL, NULL, NULL, '2025-07-03 02:58:07.066986', 0, '2025-07-03 02:58:07.066999', 17, 3);
|
||||||
@@ -724,6 +725,15 @@ INSERT INTO `system_role_permission` (`id`, `remark`, `creator`, `modifier`, `up
|
|||||||
INSERT INTO `system_role_permission` (`id`, `remark`, `creator`, `modifier`, `update_time`, `is_deleted`, `create_time`, `menu_id`, `role_id`) VALUES (76, NULL, NULL, NULL, '2025-07-03 02:58:07.067715', 0, '2025-07-03 02:58:07.067729', 51, 3);
|
INSERT INTO `system_role_permission` (`id`, `remark`, `creator`, `modifier`, `update_time`, `is_deleted`, `create_time`, `menu_id`, `role_id`) VALUES (76, NULL, NULL, NULL, '2025-07-03 02:58:07.067715', 0, '2025-07-03 02:58:07.067729', 51, 3);
|
||||||
INSERT INTO `system_role_permission` (`id`, `remark`, `creator`, `modifier`, `update_time`, `is_deleted`, `create_time`, `menu_id`, `role_id`) VALUES (77, NULL, NULL, NULL, '2025-07-03 02:58:07.067740', 0, '2025-07-03 02:58:07.067752', 52, 3);
|
INSERT INTO `system_role_permission` (`id`, `remark`, `creator`, `modifier`, `update_time`, `is_deleted`, `create_time`, `menu_id`, `role_id`) VALUES (77, NULL, NULL, NULL, '2025-07-03 02:58:07.067740', 0, '2025-07-03 02:58:07.067752', 52, 3);
|
||||||
INSERT INTO `system_role_permission` (`id`, `remark`, `creator`, `modifier`, `update_time`, `is_deleted`, `create_time`, `menu_id`, `role_id`) VALUES (78, NULL, NULL, NULL, '2025-07-03 02:58:07.067763', 0, '2025-07-03 02:58:07.067775', 53, 3);
|
INSERT INTO `system_role_permission` (`id`, `remark`, `creator`, `modifier`, `update_time`, `is_deleted`, `create_time`, `menu_id`, `role_id`) VALUES (78, NULL, NULL, NULL, '2025-07-03 02:58:07.067763', 0, '2025-07-03 02:58:07.067775', 53, 3);
|
||||||
|
INSERT INTO `system_role_permission` (`id`, `remark`, `creator`, `modifier`, `update_time`, `is_deleted`, `create_time`, `menu_id`, `role_id`) VALUES (79, NULL, NULL, NULL, '2025-07-03 09:04:53.644448', 0, '2025-07-03 09:04:53.644494', 16, 2);
|
||||||
|
INSERT INTO `system_role_permission` (`id`, `remark`, `creator`, `modifier`, `update_time`, `is_deleted`, `create_time`, `menu_id`, `role_id`) VALUES (80, NULL, NULL, NULL, '2025-07-03 09:05:02.903456', 0, '2025-07-03 09:05:02.903513', 8, 2);
|
||||||
|
INSERT INTO `system_role_permission` (`id`, `remark`, `creator`, `modifier`, `update_time`, `is_deleted`, `create_time`, `menu_id`, `role_id`) VALUES (81, NULL, NULL, NULL, '2025-07-03 09:05:11.591940', 0, '2025-07-03 09:05:11.592014', 9, 2);
|
||||||
|
INSERT INTO `system_role_permission` (`id`, `remark`, `creator`, `modifier`, `update_time`, `is_deleted`, `create_time`, `menu_id`, `role_id`) VALUES (82, NULL, NULL, NULL, '2025-07-03 09:05:19.612920', 0, '2025-07-03 09:05:19.612966', 10, 2);
|
||||||
|
INSERT INTO `system_role_permission` (`id`, `remark`, `creator`, `modifier`, `update_time`, `is_deleted`, `create_time`, `menu_id`, `role_id`) VALUES (83, NULL, NULL, NULL, '2025-07-03 09:05:32.927909', 0, '2025-07-03 09:05:32.927962', 34, 2);
|
||||||
|
INSERT INTO `system_role_permission` (`id`, `remark`, `creator`, `modifier`, `update_time`, `is_deleted`, `create_time`, `menu_id`, `role_id`) VALUES (84, NULL, NULL, NULL, '2025-07-03 09:05:32.927975', 0, '2025-07-03 09:05:32.927988', 35, 2);
|
||||||
|
INSERT INTO `system_role_permission` (`id`, `remark`, `creator`, `modifier`, `update_time`, `is_deleted`, `create_time`, `menu_id`, `role_id`) VALUES (85, NULL, NULL, NULL, '2025-07-03 09:05:32.928000', 0, '2025-07-03 09:05:32.928012', 36, 2);
|
||||||
|
INSERT INTO `system_role_permission` (`id`, `remark`, `creator`, `modifier`, `update_time`, `is_deleted`, `create_time`, `menu_id`, `role_id`) VALUES (86, NULL, NULL, NULL, '2025-07-03 09:05:32.928024', 0, '2025-07-03 09:05:32.928036', 37, 2);
|
||||||
|
INSERT INTO `system_role_permission` (`id`, `remark`, `creator`, `modifier`, `update_time`, `is_deleted`, `create_time`, `menu_id`, `role_id`) VALUES (87, NULL, NULL, NULL, '2025-07-03 09:05:32.928047', 0, '2025-07-03 09:05:32.928060', 38, 2);
|
||||||
COMMIT;
|
COMMIT;
|
||||||
|
|
||||||
-- ----------------------------
|
-- ----------------------------
|
||||||
@@ -766,8 +776,8 @@ CREATE TABLE `system_users` (
|
|||||||
-- Records of system_users
|
-- Records of system_users
|
||||||
-- ----------------------------
|
-- ----------------------------
|
||||||
BEGIN;
|
BEGIN;
|
||||||
INSERT INTO `system_users` (`id`, `password`, `last_login`, `is_superuser`, `username`, `first_name`, `last_name`, `email`, `is_staff`, `is_active`, `date_joined`, `remark`, `creator`, `modifier`, `update_time`, `create_time`, `is_deleted`, `mobile`, `nickname`, `gender`, `language`, `city`, `province`, `country`, `avatar_url`, `status`, `login_ip`) VALUES (1, 'pbkdf2_sha256$1000000$ce99fyPlGRhdkDDRDsvQvw$6qzU+iuxtczU0Ebki6Tu0IUgYDWqELLUj9kgHfrlkJI=', '2025-07-03 01:56:33.596708', 1, 'admin', '', '', '765462425@qq.com', 1, 1, '2025-06-29 13:09:47.780431', NULL, NULL, 'admin', '2025-07-03 03:41:58.074874', '2025-06-29 13:09:47.892332', 0, '18888888888', NULL, 0, NULL, NULL, NULL, NULL, NULL, 1, '127.0.0.1');
|
INSERT INTO `system_users` (`id`, `password`, `last_login`, `is_superuser`, `username`, `first_name`, `last_name`, `email`, `is_staff`, `is_active`, `date_joined`, `remark`, `creator`, `modifier`, `update_time`, `create_time`, `is_deleted`, `mobile`, `nickname`, `gender`, `language`, `city`, `province`, `country`, `avatar_url`, `status`, `login_ip`) VALUES (1, 'pbkdf2_sha256$1000000$b8gwLD046kZQIz1VMiUnmN$8/HRWXvV2MawPTME6SBo2bmA+pXYMN375l91lFdIIZE=', '2025-07-04 14:48:20.327087', 1, 'admin', '', '', '765462425@qq.com', 1, 1, '2025-06-29 13:09:47.780431', NULL, NULL, 'admin', '2025-07-04 14:48:13.446261', '2025-06-29 13:09:47.892332', 0, '18888888888', NULL, 0, NULL, NULL, NULL, NULL, NULL, 1, '127.0.0.1');
|
||||||
INSERT INTO `system_users` (`id`, `password`, `last_login`, `is_superuser`, `username`, `first_name`, `last_name`, `email`, `is_staff`, `is_active`, `date_joined`, `remark`, `creator`, `modifier`, `update_time`, `create_time`, `is_deleted`, `mobile`, `nickname`, `gender`, `language`, `city`, `province`, `country`, `avatar_url`, `status`, `login_ip`) VALUES (2, 'pbkdf2_sha256$1000000$Kio1bmTf57Vi05slZAeIQm$lNBERuBlhT2UYJYt+vO2M5szmFT51S34/Cy4B5O76uw=', '2025-07-02 08:57:47.554870', 0, 'chenze', '', '', '765462425@qq.com', 0, 1, '2025-07-01 06:25:50.946515', NULL, 'admin', 'admin', '2025-07-03 03:20:14.862186', '2025-07-01 06:25:50.947136', 0, '18677777777', NULL, 0, NULL, NULL, NULL, NULL, NULL, 1, '127.0.0.1');
|
INSERT INTO `system_users` (`id`, `password`, `last_login`, `is_superuser`, `username`, `first_name`, `last_name`, `email`, `is_staff`, `is_active`, `date_joined`, `remark`, `creator`, `modifier`, `update_time`, `create_time`, `is_deleted`, `mobile`, `nickname`, `gender`, `language`, `city`, `province`, `country`, `avatar_url`, `status`, `login_ip`) VALUES (2, 'pbkdf2_sha256$1000000$HTigORn4exnjjE2JJqJXy5$c3Ivb+1m+9a5aOnjDJvEEfCcUO1/JfZKYLbnkvJTbBE=', '2025-07-04 14:46:34.788246', 0, 'chenze', '', '', '765462425@qq.com', 0, 1, '2025-07-01 06:25:50.946515', NULL, 'admin', 'admin', '2025-07-03 09:03:50.080498', '2025-07-01 06:25:50.947136', 0, '18677777777', NULL, 0, NULL, NULL, NULL, NULL, NULL, 1, '127.0.0.1');
|
||||||
COMMIT;
|
COMMIT;
|
||||||
|
|
||||||
-- ----------------------------
|
-- ----------------------------
|
||||||
|
|||||||
@@ -1,7 +1,55 @@
|
|||||||
**/node_modules
|
**/.idea/
|
||||||
.git
|
.idea/**
|
||||||
.gitignore
|
**/*.pyc
|
||||||
*.md
|
__pycache__/
|
||||||
dist
|
build/
|
||||||
|
*.egg-info/
|
||||||
|
.python-version
|
||||||
|
.pytest_cache/
|
||||||
|
dist/
|
||||||
|
eggs/
|
||||||
|
lib/
|
||||||
|
lib64/
|
||||||
|
.DS_Store
|
||||||
|
docs/_build/
|
||||||
|
static/
|
||||||
|
|
||||||
|
|
||||||
|
.nitro
|
||||||
|
.output
|
||||||
|
coverage
|
||||||
|
**/.vitepress/cache
|
||||||
|
.cache
|
||||||
.turbo
|
.turbo
|
||||||
dist.zip
|
.temp
|
||||||
|
.stylelintcache
|
||||||
|
yarn.lock
|
||||||
|
package-lock.json
|
||||||
|
.VSCodeCounter
|
||||||
|
**/backend-mock/data
|
||||||
|
|
||||||
|
# local env files
|
||||||
|
.eslintcache
|
||||||
|
|
||||||
|
logs
|
||||||
|
*.log
|
||||||
|
npm-debug.log*
|
||||||
|
yarn-debug.log*
|
||||||
|
yarn-error.log*
|
||||||
|
pnpm-debug.log*
|
||||||
|
lerna-debug.log*
|
||||||
|
vite.config.mts.*
|
||||||
|
vite.config.mjs.*
|
||||||
|
vite.config.js.*
|
||||||
|
vite.config.ts.*
|
||||||
|
|
||||||
|
# Editor directories and files
|
||||||
|
.idea
|
||||||
|
# .vscode
|
||||||
|
*.suo
|
||||||
|
*.ntvs*
|
||||||
|
*.njsproj
|
||||||
|
*.sln
|
||||||
|
*.sw?
|
||||||
|
.history
|
||||||
|
**/node_modules
|
||||||
|
|||||||
@@ -1,46 +1,62 @@
|
|||||||
# syntax=docker/dockerfile:1
|
|
||||||
####################
|
####################
|
||||||
# 生产阶段
|
# 公共基础阶段
|
||||||
####################
|
####################
|
||||||
FROM nginx:alpine AS prod
|
FROM node:22.17.0 AS base
|
||||||
|
|
||||||
# 拷贝编译后的静态文件到 nginx
|
|
||||||
COPY --from=build /app/dist /usr/share/nginx/html
|
|
||||||
|
|
||||||
# 拷贝 nginx 配置
|
|
||||||
COPY nginx.conf /etc/nginx/conf.d/default.conf
|
|
||||||
|
|
||||||
|
|
||||||
####################
|
|
||||||
# 开发阶段
|
|
||||||
####################
|
|
||||||
FROM node:22.17.0 AS dev
|
|
||||||
|
|
||||||
WORKDIR /app
|
WORKDIR /app
|
||||||
|
|
||||||
ENV PNPM_SKIP_PROMPT=true
|
ENV PNPM_SKIP_PROMPT=true
|
||||||
|
|
||||||
# 拷贝项目
|
# 拷贝项目
|
||||||
COPY . .
|
COPY . .
|
||||||
|
|
||||||
COPY /apps/web-antd/.env.docker /apps/web-antd/.env.local
|
|
||||||
|
|
||||||
# 安装 pnpm(官方推荐 corepack,更好)
|
# 安装 pnpm
|
||||||
RUN corepack enable && corepack prepare pnpm@latest --activate
|
RUN corepack enable && corepack prepare pnpm@latest --activate
|
||||||
|
|
||||||
# 安装依赖(一定要在 monorepo 根目录,保证 workspace 有效)
|
# 清理依赖缓存
|
||||||
RUN pnpm store prune && rm -rf $(pnpm store path) && \
|
RUN pnpm store prune && rm -rf $(pnpm store path) && \
|
||||||
rm -rf node_modules .npmrc package-lock.json pnpm-lock.yaml .pnpm-store .turbo && \
|
rm -rf node_modules .npmrc package-lock.json pnpm-lock.yaml .pnpm-store .turbo && \
|
||||||
find . -name 'node_modules' -type d -prune -exec rm -rf '{}' +
|
find . -name 'node_modules' -type d -prune -exec rm -rf '{}' +
|
||||||
|
|
||||||
RUN npm run clean
|
RUN npm run clean
|
||||||
|
|
||||||
RUN yes | pnpm recursive install
|
# 安装依赖
|
||||||
|
RUN pnpm install --force
|
||||||
|
|
||||||
# 设置前端工作目录(根据实际情况修改)
|
|
||||||
# 暴露前端 dev server 端口
|
|
||||||
|
####################
|
||||||
|
# 开发阶段
|
||||||
|
####################
|
||||||
|
# 默认启动 dev server
|
||||||
|
FROM base AS dev
|
||||||
|
|
||||||
|
# 暴露端口(根据需要)
|
||||||
EXPOSE 5678
|
EXPOSE 5678
|
||||||
# CMD ["tail", "-f", "/dev/null"]
|
# CMD ["tail", "-f", "/dev/null"]
|
||||||
|
|
||||||
# 默认启动 dev server
|
# 启动开发服务器
|
||||||
CMD ["npm", "run", "dev:antd"]
|
CMD ["npm", "run", "dev:antd"]
|
||||||
|
|
||||||
|
# --- 构建阶段 ---
|
||||||
|
FROM base AS build
|
||||||
|
|
||||||
|
# 构建生产版本
|
||||||
|
RUN npm run build:antd
|
||||||
|
|
||||||
|
# --- 生产阶段 ---
|
||||||
|
FROM nginx:1.25-alpine AS prod
|
||||||
|
|
||||||
|
# 删除默认配置
|
||||||
|
RUN rm -rf /usr/share/nginx/html/*
|
||||||
|
|
||||||
|
# 从构建阶段拷贝打包产物到 nginx html 目录
|
||||||
|
COPY --from=build /app/apps/web-antd/dist /usr/share/nginx/html
|
||||||
|
|
||||||
|
# 如果有需要,也可以拷贝自定义 nginx 配置
|
||||||
|
COPY nginx.conf /etc/nginx/nginx.conf
|
||||||
|
|
||||||
|
EXPOSE 5268
|
||||||
|
|
||||||
|
# 默认启动 nginx
|
||||||
|
CMD ["nginx", "-g", "daemon off;"]
|
||||||
|
|||||||
@@ -1 +0,0 @@
|
|||||||
VITE_BACKEND_URL=http://backend:8000
|
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
VITE_BASE=/
|
VITE_BASE=/
|
||||||
|
|
||||||
# 接口地址
|
# 接口地址
|
||||||
VITE_GLOB_API_URL=http://127.0.0.1:8000/api
|
VITE_GLOB_API_URL=/api
|
||||||
|
|
||||||
# 是否开启压缩,可以设置为 none, brotli, gzip
|
# 是否开启压缩,可以设置为 none, brotli, gzip
|
||||||
VITE_COMPRESS=gzip
|
VITE_COMPRESS=gzip
|
||||||
|
|||||||
@@ -24,7 +24,7 @@ const MOCK_USER_OPTIONS: BasicOption[] = [
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: 'User',
|
label: 'User',
|
||||||
value: 'xj',
|
value: 'chenze',
|
||||||
},
|
},
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|||||||
@@ -1,10 +1,13 @@
|
|||||||
import { defineConfig } from '@vben/vite-config';
|
import { defineConfig } from '@vben/vite-config';
|
||||||
|
|
||||||
import { loadEnv } from 'vite';
|
import { loadEnv } from 'vite';
|
||||||
|
import * as console from "node:console";
|
||||||
|
|
||||||
export default defineConfig(async ({ mode }) => {
|
export default defineConfig(async ({ mode }) => {
|
||||||
// eslint-disable-next-line n/prefer-global/process
|
// eslint-disable-next-line n/prefer-global/process
|
||||||
const env = loadEnv(mode, process.cwd(), '');
|
const env = loadEnv(mode, process.cwd());
|
||||||
|
// 这样获取
|
||||||
|
const backendUrl = env.VITE_BACKEND_URL;
|
||||||
|
console.log(backendUrl)
|
||||||
return {
|
return {
|
||||||
application: {},
|
application: {},
|
||||||
vite: {
|
vite: {
|
||||||
@@ -13,7 +16,7 @@ export default defineConfig(async ({ mode }) => {
|
|||||||
port: 5678,
|
port: 5678,
|
||||||
proxy: {
|
proxy: {
|
||||||
'/api': {
|
'/api': {
|
||||||
target: env.VITE_BACKEND_URL,
|
target: backendUrl,
|
||||||
changeOrigin: true,
|
changeOrigin: true,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|||||||
72
web/nginx.conf
Normal file
72
web/nginx.conf
Normal file
@@ -0,0 +1,72 @@
|
|||||||
|
worker_processes 1;
|
||||||
|
|
||||||
|
events { worker_connections 1024; }
|
||||||
|
|
||||||
|
http {
|
||||||
|
include mime.types;
|
||||||
|
default_type application/octet-stream;
|
||||||
|
|
||||||
|
sendfile on;
|
||||||
|
keepalive_timeout 65;
|
||||||
|
|
||||||
|
server {
|
||||||
|
listen 80;
|
||||||
|
server_name _;
|
||||||
|
|
||||||
|
# 前端静态资源
|
||||||
|
root /usr/share/nginx/html;
|
||||||
|
|
||||||
|
# 健康检查
|
||||||
|
location /healthz {
|
||||||
|
return 200 'ok';
|
||||||
|
add_header Content-Type text/plain;
|
||||||
|
}
|
||||||
|
|
||||||
|
# 代理 Django 静态文件
|
||||||
|
location /static/ {
|
||||||
|
alias /app/static/;
|
||||||
|
expires 30d;
|
||||||
|
add_header Cache-Control "public";
|
||||||
|
}
|
||||||
|
|
||||||
|
# 代理 Django 媒体文件
|
||||||
|
location /media/ {
|
||||||
|
alias /app/media/;
|
||||||
|
expires 30d;
|
||||||
|
add_header Cache-Control "public";
|
||||||
|
}
|
||||||
|
|
||||||
|
# 代理后端 API
|
||||||
|
location /api/ {
|
||||||
|
proxy_pass http://backend:8000;
|
||||||
|
proxy_set_header Host $host;
|
||||||
|
proxy_set_header X-Real-IP $remote_addr;
|
||||||
|
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||||
|
proxy_set_header X-Forwarded-Proto $scheme;
|
||||||
|
client_max_body_size 100m;
|
||||||
|
client_body_buffer_size 128k;
|
||||||
|
proxy_connect_timeout 180;
|
||||||
|
proxy_send_timeout 180;
|
||||||
|
proxy_read_timeout 180;
|
||||||
|
proxy_set_header Upgrade $http_upgrade;
|
||||||
|
proxy_set_header Connection 'upgrade';
|
||||||
|
#proxy_cache_bypass $http_upgrade;
|
||||||
|
#proxy_cache_key $uri$request_body; #增加此行
|
||||||
|
#proxy_cache_methods GET POST; #增加此行
|
||||||
|
#add_header Access-Control-Allow-Headers X-API-Token;
|
||||||
|
access_log /var/log/nginx/assets_access.log;
|
||||||
|
error_log /var/log/nginx/assets_error.log;
|
||||||
|
}
|
||||||
|
|
||||||
|
# 前端 history 路由
|
||||||
|
location / {
|
||||||
|
try_files $uri $uri/ /index.html;
|
||||||
|
}
|
||||||
|
|
||||||
|
# gzip
|
||||||
|
gzip on;
|
||||||
|
gzip_types text/plain application/javascript application/x-javascript text/javascript text/xml text/css application/json;
|
||||||
|
gzip_min_length 1k;
|
||||||
|
gzip_comp_level 2;
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user