feat: 公开商品页重设计 + web 上传修复 + 二维码配置
- 公开商品页(/product/:uuid)全面重设计:全宽正方形图片轮播、 左右滑动切图、点击放大全屏查看、商品参数含描述、页脚贴底 - 修复 Flutter web 文件上传无反应(path→bytes) - 修复 web 路由空白页(usePathUrlStrategy + 单层 MaterialApp.router) - 二维码 URL 改为从 STORAGE_PUBLIC_URL 环境变量读取 - 新增 PUBLIC_URL dart-define → AppConfig.publicBaseUrl - 新增 CI/CD workflows + NAS runner compose 配置 - seed S001 补充商品描述字段 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,36 @@
|
||||
name: DB Backup
|
||||
|
||||
on:
|
||||
schedule:
|
||||
- cron: '0 18 * * *' # UTC 18:00 = 北京时间 02:00
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
backup:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Setup SSH
|
||||
run: |
|
||||
mkdir -p ~/.ssh
|
||||
echo "${{ secrets.EC2_SSH_KEY }}" > ~/.ssh/ec2.pem
|
||||
chmod 600 ~/.ssh/ec2.pem
|
||||
ssh-keyscan -H ${{ secrets.EC2_HOST }} >> ~/.ssh/known_hosts
|
||||
|
||||
- name: Dump MySQL to NAS
|
||||
env:
|
||||
EC2_HOST: ${{ secrets.EC2_HOST }}
|
||||
EC2_USER: ${{ secrets.EC2_USER }}
|
||||
DB_PASSWORD: ${{ secrets.DB_PASSWORD }}
|
||||
run: |
|
||||
BACKUP_DIR=/volume1/backups/jiu-db
|
||||
mkdir -p $BACKUP_DIR
|
||||
FILENAME="jiu_db_$(date +%Y%m%d_%H%M%S).sql.gz"
|
||||
ssh -i ~/.ssh/ec2.pem ${EC2_USER}@${EC2_HOST} \
|
||||
"docker exec jiu_mysql mysqldump -uroot -p${DB_PASSWORD} jiu_db" \
|
||||
| gzip > ${BACKUP_DIR}/${FILENAME}
|
||||
find $BACKUP_DIR -name "*.sql.gz" -mtime +30 -delete
|
||||
echo "Saved: ${BACKUP_DIR}/${FILENAME}"
|
||||
|
||||
- name: Cleanup SSH key
|
||||
if: always()
|
||||
run: rm -f ~/.ssh/ec2.pem
|
||||
Reference in New Issue
Block a user