- 支持火山方舟(Volcengine Ark)真人人像素材API - AK/SK HMAC-SHA256签名(纯stdlib实现) - 素材组合(Asset Group)管理: 创建认证、查询、删除 - 素材资产(Asset)管理: 上传、状态同步、删除 - 多供应商可扩展架构 - 完整CRUD + 前端UI + uapi SQL配置 - 12个API端点 + 6个前端页面 - 数据库表: rl_asset_group, rl_asset
64 lines
1.7 KiB
Bash
Executable File
64 lines
1.7 KiB
Bash
Executable File
#!/bin/bash
|
|
set -e
|
|
|
|
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
|
|
|
|
# Find Sage root
|
|
SAGE_ROOT=""
|
|
for candidate in "$SCRIPT_DIR/../.." "$HOME/repos/sage" "$HOME/sage"; do
|
|
if [ -d "$candidate/wwwroot" ] && [ -d "$candidate/py3/bin" ]; then
|
|
SAGE_ROOT="$(cd "$candidate" && pwd)"
|
|
break
|
|
fi
|
|
done
|
|
|
|
if [ -z "$SAGE_ROOT" ]; then
|
|
echo "ERROR: Cannot find Sage root directory"
|
|
exit 1
|
|
fi
|
|
|
|
echo "Sage root: $SAGE_ROOT"
|
|
MODULE_NAME="reallife_asset"
|
|
MODULE_WWWROOT="$SAGE_ROOT/wwwroot/$MODULE_NAME"
|
|
|
|
# Install module
|
|
cd "$SCRIPT_DIR"
|
|
"$SAGE_ROOT/py3/bin/pip" install .
|
|
|
|
# Create wwwroot directory if not exists
|
|
mkdir -p "$MODULE_WWWROOT/api"
|
|
|
|
# Link UI files
|
|
for f in "$SCRIPT_DIR/wwwroot"/*.ui; do
|
|
[ -f "$f" ] || continue
|
|
ln -sf "$f" "$MODULE_WWWROOT/"
|
|
done
|
|
|
|
# Link API dspy files
|
|
for f in "$SCRIPT_DIR/wwwroot/api"/*.dspy; do
|
|
[ -f "$f" ] || continue
|
|
ln -sf "$f" "$MODULE_WWWROOT/api/"
|
|
done
|
|
|
|
# Generate DDL
|
|
if [ -d "$SCRIPT_DIR/models" ]; then
|
|
cd "$SCRIPT_DIR/models"
|
|
"$SAGE_ROOT/py3/bin/json2ddl" mysql . > "$SCRIPT_DIR/mysql.ddl.sql" 2>/dev/null || true
|
|
echo "DDL generated: $SCRIPT_DIR/mysql.ddl.sql"
|
|
fi
|
|
|
|
# Generate CRUD UI (if json/ has files)
|
|
if [ -d "$SCRIPT_DIR/json" ] && ls "$SCRIPT_DIR/json"/*.json >/dev/null 2>&1; then
|
|
cd "$SCRIPT_DIR/json"
|
|
"$SAGE_ROOT/py3/bin/xls2ui" -m "$SCRIPT_DIR/models" -o "$SCRIPT_DIR/wwwroot" "$MODULE_NAME" *.json 2>/dev/null || true
|
|
# Link generated CRUD directories
|
|
for d in "$SCRIPT_DIR/wwwroot"/*/; do
|
|
[ -d "$d" ] || continue
|
|
dname=$(basename "$d")
|
|
case "$dname" in api|styles|scripts) continue ;; esac
|
|
ln -sf "$d" "$MODULE_WWWROOT/$dname"
|
|
done
|
|
fi
|
|
|
|
echo "Build complete: $MODULE_NAME"
|