Files
wangjia 393e227de5 feat: 商品详情页、XLS导入修复、分页选择器、导出功能
后端:
- 新增 product_images 表,支持每商品最多5张图(服务端压缩至1200px/JPEG85%)
- products 表新增 public_id(UUID)、description 字段
- 新增商品详情接口、二维码接口、公开商品接口(无鉴权)
- 修复 XLS 导入:OLE2 magic bytes 检测 + 临时文件解析,兼容 extrame/xls
- 修复商品/名称/系列/规格三张表导入数据为0(LastCol()=0 bug)
- 所有导入接口返回 total/imported/skipped 统计
- config 新增 StorageConfig,支持 STORAGE_* 环境变量覆盖
- 种子数据修复:products 补 public_id、新增 product_images TRUNCATE、schema.sql 表名修正

前端:
- 商品详情页:图片上传/删除、描述内联编辑、二维码弹窗、公开链接复制
- 公开商品页:无鉴权路由 /product/:public_id,Flutter Web SPA
- 商品详情列表(批次追踪)商品名超链接跳转详情页
- 导航「商品管理」改名「商品详情」
- 所有列表表格新增每页条数选择(10/20/50/100)
- 表格列头内嵌筛选(FilterableColumnHeader)
- 导出 Excel 功能(入库/出库/库存/财务/批次/往来单位)
- 网络恢复自动刷新 + 离线缓存展示

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-27 00:29:51 +08:00

57 lines
1.9 KiB
Bash
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#!/bin/bash
# EC2 一次性初始化脚本(Amazon Linux 2023
# 前提:以下文件已 scp 到 /opt/jiu/config/
# - production.env(填好真实密钥)
# - docker-compose.jiu.yml
# - nginx-jiu.conf
# - jiu.service
set -e
echo "=== Step 0: 清理 Docker 悬空镜像 ==="
docker image prune -f
echo "=== Step 1: 创建目录结构 ==="
sudo mkdir -p /opt/jiu/{backend,web,config}
sudo chown -R ec2-user:ec2-user /opt/jiu
echo "=== Step 2: 启动 MySQL ==="
cd /opt/jiu/config
# 从 production.env 读取 DB_PASSWORD 并写入临时 .env 供 docker-compose 使用
grep ^DB_PASSWORD production.env | sed 's/^DB_PASSWORD=/DB_PASSWORD=/' > .env
docker-compose -f docker-compose.jiu.yml up -d
rm -f .env
echo "等待 MySQL 就绪(20秒)..."
sleep 20
docker ps | grep jiu_mysql && echo "MySQL 已启动" || { echo "MySQL 启动失败!"; exit 1; }
echo "=== Step 3: 安装 systemd 服务 ==="
sudo cp /opt/jiu/config/jiu.service /etc/systemd/system/
sudo systemctl daemon-reload
sudo systemctl enable jiu
echo "jiu.service 已注册(首次部署后再 start"
echo "=== Step 4: 获取 SSL 证书 ==="
echo "注意:需要 jiu.51yanmei.com 的 DNS A 记录已指向此 EC2"
sudo certbot certonly --standalone \
--pre-hook "systemctl stop nginx" \
--post-hook "systemctl start nginx" \
-d jiu.51yanmei.com \
--non-interactive --agree-tos -m admin@51yanmei.com
echo "=== Step 5: 安装 Nginx 配置 ==="
sudo cp /opt/jiu/config/nginx-jiu.conf /etc/nginx/conf.d/jiu.conf
echo "=== Step 6: 在 stream.conf 添加 SNI 路由 ==="
if grep -q "jiu.51yanmei.com" /etc/nginx/stream.conf; then
echo "SNI 路由已存在,跳过"
else
sudo sed -i '/default.*10443/i\ jiu.51yanmei.com 127.0.0.1:8445;' /etc/nginx/stream.conf
echo "SNI 路由已添加"
fi
sudo nginx -t && sudo systemctl reload nginx
echo ""
echo "=== EC2 初始化完成 ==="
echo "请在 Mac 上运行:bash deploy/deploy.sh"