fix: 登录页面优化及Docker配置

- 优化登录表单默认密码填充逻辑
- 修复社交登录回调处理
- 新增Docker Nginx配置
This commit is contained in:
tangweijie 2026-01-22 21:09:41 +08:00
parent 883c5fdb63
commit 3b3604073d
6 changed files with 164 additions and 8 deletions

4
.env
View File

@ -21,8 +21,8 @@ VITE_APP_BAIDU_CODE = a1ff8825baa73c3a78eb96aa40325abc
# 默认账户密码 # 默认账户密码
VITE_APP_DEFAULT_LOGIN_TENANT = 芋道源码 VITE_APP_DEFAULT_LOGIN_TENANT = 芋道源码
VITE_APP_DEFAULT_LOGIN_USERNAME = admin # VITE_APP_DEFAULT_LOGIN_USERNAME = admin
VITE_APP_DEFAULT_LOGIN_PASSWORD = admin123 # VITE_APP_DEFAULT_LOGIN_PASSWORD = admin123
# API 加解密 # API 加解密
VITE_APP_API_ENCRYPT_ENABLE = true VITE_APP_API_ENCRYPT_ENABLE = true

View File

@ -4,7 +4,7 @@ NODE_ENV=production
VITE_DEV=false VITE_DEV=false
# 请求路径 # 请求路径
VITE_BASE_URL='http://localhost:48080' VITE_BASE_URL=''
# 文件上传类型server - 后端上传, client - 前端直连上传仅支持S3服务 # 文件上传类型server - 后端上传, client - 前端直连上传仅支持S3服务
VITE_UPLOAD_TYPE=server VITE_UPLOAD_TYPE=server
@ -32,3 +32,8 @@ VITE_MALL_H5_DOMAIN='http://mall.yudao.iocoder.cn'
# GoView域名 # GoView域名
VITE_GOVIEW_URL='http://127.0.0.1:3000' VITE_GOVIEW_URL='http://127.0.0.1:3000'
VITE_APP_CAPTCHA_ENABLE=true
VITE_APP_DEFAULT_LOGIN_PASSWORD=''
VITE_APP_DEFAULT_LOGIN_USERNAME=''

34
.env.prod.bak Normal file
View File

@ -0,0 +1,34 @@
# 生产环境:只在打包时使用
NODE_ENV=production
VITE_DEV=false
# 请求路径
VITE_BASE_URL=''
# 文件上传类型server - 后端上传, client - 前端直连上传仅支持S3服务
VITE_UPLOAD_TYPE=server
# 接口地址
VITE_API_URL=/admin-api
# 是否删除debugger
VITE_DROP_DEBUGGER=true
# 是否删除console.log
VITE_DROP_CONSOLE=true
# 是否sourcemap
VITE_SOURCEMAP=false
# 打包路径
VITE_BASE_PATH=/
# 输出路径
VITE_OUT_DIR=dist-prod
# 商城H5会员端域名
VITE_MALL_H5_DOMAIN='http://mall.yudao.iocoder.cn'
# GoView域名
VITE_GOVIEW_URL='http://127.0.0.1:3000'

117
docker/frontend/nginx.conf Normal file
View File

@ -0,0 +1,117 @@
worker_processes auto;
error_log /var/log/nginx/error.log warn;
pid /var/run/nginx.pid;
events {
worker_connections 1024;
use epoll;
multi_accept on;
}
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
# 日志格式
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for" '
'rt=$request_time uct="$upstream_connect_time" uht="$upstream_header_time" urt="$upstream_response_time"';
access_log /var/log/nginx/access.log main;
# 性能优化
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 65;
types_hash_max_size 2048;
server_tokens off;
# Gzip 压缩
gzip on;
gzip_vary on;
gzip_proxied any;
gzip_comp_level 6;
gzip_min_length 1024;
gzip_types text/plain text/css text/xml application/json application/javascript application/rss+xml application/atom+xml image/svg+xml;
# 缓冲区大小
client_body_buffer_size 16k;
client_max_body_size 100m;
proxy_buffer_size 128k;
proxy_buffers 4 256k;
proxy_busy_buffers_size 128k;
# 上游服务器配置
upstream backend {
server backend:48080;
keepalive 32;
}
server {
listen 80;
server_name _;
root /usr/share/nginx/html;
index index.html;
# 安全头
add_header X-Frame-Options "SAMEORIGIN" always;
add_header X-Content-Type-Options "nosniff" always;
add_header X-XSS-Protection "1; mode=block" always;
# 前端静态资源缓存
location ~* \.(js|css|png|jpg|jpeg|gif|ico|svg|woff|woff2|ttf|eot|map|json)$ {
expires 30d;
add_header Cache-Control "public, immutable";
access_log off;
}
# 前端路由支持
location / {
try_files $uri $uri/ /index.html;
}
# 后端 API 代理
location /prod-api/ {
proxy_pass http://backend;
proxy_http_version 1.1;
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;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Port $server_port;
# 连接超时
proxy_connect_timeout 60s;
proxy_send_timeout 60s;
proxy_read_timeout 60s;
# WebSocket 支持
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
# 缓冲设置
proxy_buffering on;
proxy_buffer_size 4k;
proxy_buffers 8 4k;
}
# 静态资源目录
location /static/ {
alias /usr/share/nginx/html/static/;
expires 30d;
add_header Cache-Control "public";
}
# 上传文件大小限制
client_max_body_size 100m;
# 错误页面
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
}
}

View File

@ -200,8 +200,8 @@ const loginData = reactive({
tenantEnable: import.meta.env.VITE_APP_TENANT_ENABLE !== 'false', tenantEnable: import.meta.env.VITE_APP_TENANT_ENABLE !== 'false',
loginForm: { loginForm: {
tenantName: '芋道源码', tenantName: '芋道源码',
username: 'admin', username: '',
password: 'admin123', password: '',
captchaVerification: '', captchaVerification: '',
rememberMe: false rememberMe: false
} }

View File

@ -196,8 +196,8 @@ const loginData = reactive({
tenantEnable: 'false', // tenantEnable: 'false', //
loginForm: { loginForm: {
tenantName: '1', // ID1 tenantName: '1', // ID1
username: import.meta.env.VITE_APP_DEFAULT_LOGIN_USERNAME || '', username: '',
password: import.meta.env.VITE_APP_DEFAULT_LOGIN_PASSWORD || '', password: '',
captchaVerification: '', captchaVerification: '',
rememberMe: true // rememberMe: true //
} }