5fb269cc0a
- 保存先写本地缓存,登录后可选云端同步;退出登录不再因文件操作跳转登录 - 修复 Layui 遮罩残留、design2 保存后线条、toast 被 finally 提前关闭 - 保存过程恢复 loading spinner;成功提示 2.5 秒 - 云端 payload 瘦身与体积超限提示;后端 schema 迁移与 FileService 容错 Co-authored-by: Cursor <cursoragent@cursor.com>
部署脚本
权限(推荐:SSH 粘贴,勿 FTP 上传 .sh)
FTP 会把脚本改成 CRLF,报 set: pipefail。在服务器 SSH 整段粘贴:
cd /www/wwwroot/designadmin.cardsoon.com
U=www; G=www; ROOT="$PWD"
mkdir -p "$ROOT/storage"/{users,logs,payment,cache/rate,cache/wechat_certs}
chown -R "$U:$G" "$ROOT"
find "$ROOT/src" "$ROOT/public" -type d -exec chmod 755 {} +
find "$ROOT/src" "$ROOT/public" -type f -exec chmod 644 {} +
chmod 755 "$ROOT/config"
test -f "$ROOT/config/local.php" && chmod 640 "$ROOT/config/local.php"
chmod 775 "$ROOT/storage/users" "$ROOT/storage/logs" "$ROOT/storage/cache/rate" "$ROOT/storage/cache/wechat_certs"
chmod 700 "$ROOT/storage/payment"
rm -f "$ROOT/storage/cache/rate/"*.json
echo OK
上线步骤
cd /www/wwwroot/designadmin.cardsoon.com
cp config/local.php.example config/local.php
vi config/local.php
改 db、jwt_secret、site、storage 路径。
mysql -u root -p soondesign < database/schema.sql
php scripts/migrate-schema.php
migrate-schema.php 用于已有库增量升级(可重复执行)。再执行上面「权限」整段粘贴。
MySQL 大包(云端保存失败时)
若保存报「文件过大」或 max_allowed_packet,在宝塔 / MySQL 配置中把 max_allowed_packet 调到 32M 或以上,重启 MySQL 后生效。可临时验证:
SET GLOBAL max_allowed_packet = 33554432;
持久化写入 my.cnf(示例):
[mysqld]
max_allowed_packet = 32M
初始化管理员
cd /www/wwwroot/designadmin.cardsoon.com
php scripts/seed-admin.php admin@cardsoon.com cardsoon
成功输出 OK created admin 或 OK updated admin。登录:https://design.cardsoon.com/pages/admin/login.html
模型目录:.soon 放后端站点(推荐,避免防跨站读不到):
mkdir -p /www/wwwroot/designadmin.cardsoon.com/soonModels
cp /www/wwwroot/design.cardsoon.com/soonModels/*.soon /www/wwwroot/designadmin.cardsoon.com/soonModels/
chmod 755 /www/wwwroot/designadmin.cardsoon.com/soonModels
chmod 644 /www/wwwroot/designadmin.cardsoon.com/soonModels/*.soon
local.php:
'models_dir' => '/www/wwwroot/designadmin.cardsoon.com/soonModels',
排查:
php scripts/check-soon-models.php
宝塔
- 网站运行目录:
public - Nginx:
/api/v1/→index.php,/api/admin/→admin.php
配置
后端只维护 config/local.php(从 local.php.example 复制)。
前端(design.cardsoon.com)只维护 config/local.js(从 config/local.js.example 复制);全量更新 frontend 时不要覆盖。
本地脚本
setup-backend-perms.sh 供 git 拉取使用;Windows/FTP 上传易坏,请用上面 SSH 粘贴块。