Rename customs-tablet-frontend to public-frontend and add new features

- Rename customs-tablet-frontend/ to public-frontend/ for broader scope
- Add new pages: customs, inspection with camera integration
- Add new services: apiClient.ts, backendApi.ts, normalizers.ts
- Add CameraFrame component for real-time video streaming
- Add scan_fixer module with clock_publisher and timestamp fix utilities
- Update startup scripts to support new frontend structure
- Update arm_server configuration and service files

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-06-22 10:18:20 +08:00
parent 083d12016a
commit 1429442dbd
49 changed files with 2758 additions and 2141 deletions
+18 -8
View File
@@ -3,24 +3,34 @@
# start_flask.sh - 仅启动/重启 Flask 服务(不启动 ROS2)
# 适用于: 修改了前端/API 代码后快速重启
# ============================================================
AGV_PROJECT_DIR="${AGV_PROJECT_DIR:-/home/elephant/work/smart-inspection}"
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
PROJECT_DIR="$(dirname "$SCRIPT_DIR")"
AGV_PROJECT_DIR="${AGV_PROJECT_DIR:-$PROJECT_DIR}"
AGV_APP_DIR="${AGV_APP_DIR:-$AGV_PROJECT_DIR/agv_app}"
AGV_ROS2_DIR="${AGV_ROS2_DIR:-/home/elephant/agv_pro_ros2}"
AGV_ROS2_DIR="${AGV_ROS2_DIR:-$HOME/agv_pro_ros2}"
ROS_DISTRO="${ROS_DISTRO:-humble}"
ROS_SETUP="${ROS_SETUP:-/opt/ros/$ROS_DISTRO/setup.bash}"
ROS_WORKSPACE_SETUP="${ROS_WORKSPACE_SETUP:-$AGV_ROS2_DIR/install/setup.bash}"
LOG_DIR="${LOG_DIR:-/tmp}"
FLASK_PORT="${FLASK_PORT:-5000}"
FLASK_LOG="$LOG_DIR/agv_flask.log"
mkdir -p "$LOG_DIR"
pkill -f "python.*app.py" 2>/dev/null || true
pkill -f "uv run .*python app.py" 2>/dev/null || true
sleep 1
source /opt/ros/humble/setup.bash 2>/dev/null || true
source "$AGV_ROS2_DIR/install/setup.bash" 2>/dev/null || true
source "$ROS_SETUP" 2>/dev/null || true
source "$ROS_WORKSPACE_SETUP" 2>/dev/null || true
cd "$AGV_APP_DIR"
nohup uv run --locked python app.py > /tmp/agv_flask.log 2>&1 &
nohup uv run --locked python app.py > "$FLASK_LOG" 2>&1 &
echo "Flask started, PID: $!"
sleep 2
if ss -tlnp 2>/dev/null | grep -q 5000 || netstat -tlnp 2>/dev/null | grep -q 5000; then
echo "✅ 端口 5000 正常"
if ss -tlnp 2>/dev/null | grep -q ":$FLASK_PORT " || netstat -tlnp 2>/dev/null | grep -q ":$FLASK_PORT "; then
echo "✅ 端口 $FLASK_PORT 正常"
else
echo "⚠️ 端口 5000 未监听,检查 /tmp/agv_flask.log"
echo "⚠️ 端口 $FLASK_PORT 未监听,检查 $FLASK_LOG"
fi