1. Add 登陆功能

2. 调整字体大小
3. 新增部分功能
This commit is contained in:
2026-06-05 18:00:31 +08:00
parent 06e0967128
commit 9fea9c6a53
58 changed files with 5028 additions and 322 deletions

100
dev.sh
View File

@@ -549,7 +549,7 @@ AI+合规智能中枢统一脚本
用法:
./dev.sh help
./dev.sh setup
./dev.sh start [all|api|frontend] [--foreground] [--mode dev|static]
./dev.sh start [all|api|frontend|worker|beat] [--foreground] [--mode dev|static]
./dev.sh stop [all|api|frontend]
./dev.sh restart [all|api|frontend] [--mode dev|static]
./dev.sh status
@@ -563,6 +563,9 @@ AI+合规智能中枢统一脚本
进行一次性的本地初始化。
包含 Python 版本检查、.venv 虚拟环境创建、后端依赖安装、前端 npm install、
以及 6.86.80.8 基础服务端口连通性检查。
初始化完成后,首次运行前还需执行:
PYTHONPATH=backend .venv/bin/python scripts/seed_users.py
以创建 admin/legal/ehs/readonly 四个演示用户。
start
启动服务。默认行为等同于 ./dev.sh start all。
@@ -570,6 +573,8 @@ AI+合规智能中枢统一脚本
all 同时启动 API 和前端。
api 只启动后端 API。
frontend 只启动前端。
worker 启动 Celery 文档处理 worker前台运行需要 Redis
beat 启动 Celery Beat 定时调度器(前台运行,需要 Redis
可选参数:
--foreground 仅对 start api 生效,前台运行并开启 --reload便于调试。
--mode dev 前端使用 Vite 开发服务器,默认端口 5173。
@@ -578,6 +583,7 @@ AI+合规智能中枢统一脚本
stop
停止服务。默认行为等同于 ./dev.sh stop all。
会优先读取 logs/*.pidPID 文件失效时会回退到端口探测。
注意: worker 和 beat 为前台进程,直接 Ctrl+C 停止。
restart
先停止再启动,支持 all/api/frontend。
@@ -601,8 +607,11 @@ AI+合规智能中枢统一脚本
常用示例:
./dev.sh setup
PYTHONPATH=backend .venv/bin/python scripts/seed_users.py
./dev.sh start
./dev.sh start api --foreground
./dev.sh start worker
./dev.sh start beat
./dev.sh start frontend --mode static
./dev.sh restart frontend --mode dev
./dev.sh status
@@ -615,7 +624,7 @@ parse_target() {
local default_target="$1"
local candidate="${2:-}"
case "$candidate" in
all|api|frontend)
all|api|frontend|worker|beat)
echo "$candidate"
;;
*)
@@ -646,41 +655,64 @@ main() {
shift || true
fi
while [ $# -gt 0 ]; do
case "$1" in
--foreground)
foreground=true
;;
--mode)
shift || die "--mode 需要指定 dev 或 static"
mode="$1"
validate_frontend_mode "$mode"
;;
*)
die "未知参数: $1"
;;
esac
shift || true
done
# worker and beat are pass-through — forward remaining args to celery directly.
case "$target" in
all)
[ "$foreground" = false ] || die "start all 不支持 --foreground请使用 start api --foreground"
print_header "AI+合规智能中枢 - 启动服务"
start_api background
start_frontend "${mode:-$FRONTEND_MODE}"
worker)
print_header "AI+合规智能中枢 - 启动 Celery Worker"
require_venv
export PYTHONPATH="backend${PYTHONPATH:+:$PYTHONPATH}"
"$VENV_PYTHON" -m celery -A app.infrastructure.tasks.celery_app worker \
--loglevel=info \
--concurrency=2 \
--queues=celery \
"$@"
;;
api)
if [ "$foreground" = true ]; then
start_api foreground
else
print_header "AI+合规智能中枢 - 启动 API"
start_api background
fi
beat)
print_header "AI+合规智能中枢 - 启动 Celery Beat"
require_venv
export PYTHONPATH="backend${PYTHONPATH:+:$PYTHONPATH}"
"$VENV_PYTHON" -m celery -A app.infrastructure.tasks.celery_app beat \
--loglevel=info \
"$@"
;;
frontend)
print_header "AI+合规智能中枢 - 启动前端"
start_frontend "${mode:-$FRONTEND_MODE}"
*)
while [ $# -gt 0 ]; do
case "$1" in
--foreground)
foreground=true
;;
--mode)
shift || die "--mode 需要指定 dev 或 static"
mode="$1"
validate_frontend_mode "$mode"
;;
*)
die "未知参数: $1"
;;
esac
shift || true
done
case "$target" in
all)
[ "$foreground" = false ] || die "start all 不支持 --foreground请使用 start api --foreground"
print_header "AI+合规智能中枢 - 启动服务"
start_api background
start_frontend "${mode:-$FRONTEND_MODE}"
;;
api)
if [ "$foreground" = true ]; then
start_api foreground
else
print_header "AI+合规智能中枢 - 启动 API"
start_api background
fi
;;
frontend)
print_header "AI+合规智能中枢 - 启动前端"
start_frontend "${mode:-$FRONTEND_MODE}"
;;
esac
;;
esac
;;