Files
hjc-web/scripts/upload-to-oss.sh
T
gxwebsoft 2b69686795 feat(app): 添加多模板关于我们页面及相关路由和404页面
- 新增404页面,优化未找到页面体验,避免被搜索引擎索引
- 增加文件代理接口,隐藏真实文件服务器地址,支持文件请求代理
- 实现/article、/case、/product及/page动态路由兼容列表与详情展示
- 添加动态CMS页面兼容入口处理旧式路径,统一路由与SEO设置
- 新增模板1、模板7、模板2、模板3关于我们页面,实现多模板支持
- 模板增强支持CMS单页内容加载及SEO信息动态设置
- 配置环境变量及Git忽略文件规则辅助开发和构建环境管理
2026-09-08 12:13:44 +08:00

71 lines
2.9 KiB
Bash
Executable File
Raw 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
# ============================================================================
# OSS 上传脚本(汇吉采官网 / 模板 07)
# 把本地图片上传到阿里云 OSS,打印可直接粘贴到后台的 URL
#
# 关键发现(2026-07-30 实测):
# /api/oss/upload 是 multipart 文件上传,必填:
# - Authorization: Bearer <token> admin JWT
# - tenantId: <租户ID> ← 最关键的请求头!缺它会报 "传参错误"
# - form 字段 file=@<图片> application/octet-stream 也行,但 multipart 最稳)
# 其余 module/bizType/path 等字段都是可选的,不传也能成功。
# 返回 data.path / data.url 即访问地址(url 带 ?x-oss-process 缩略参数)。
#
# 用法:
# ADMIN_TOKEN="eyJ..." bash scripts/upload-to-oss.sh
# ============================================================================
set -e
# ===== 1. 配置 =====
ADMIN_TOKEN="${ADMIN_TOKEN:-}"
TENANT_ID="${TENANT_ID:-10626}" # 当前租户 10626token 的 subject.tenantId
UPLOAD_URL="https://server.websoft.top/api/oss/upload"
# 要上传的文件
FILES=(
"/Users/gxwebsoft/VUE/website-template/outputs/01-about-company-team.jpg"
"/Users/gxwebsoft/VUE/website-template/outputs/02-news-zoujinhuiicai-juyun.jpg"
)
# ===== 2. 校验 token =====
if [ -z "$ADMIN_TOKEN" ]; then
echo "❌ 请设置 ADMIN_TOKEN"
echo " ADMIN_TOKEN=\"eyJ...\" bash scripts/upload-to-oss.sh"
echo " token 从 admin 后台 DevTools → Network → 任意 XHR → Request Headers → Authorization: Bearer xxx"
exit 1
fi
# ===== 3. 循环上传(tenantId 请求头是必填)=====
for f in "${FILES[@]}"; do
if [ ! -f "$f" ]; then
echo "⚠️ 文件不存在: $f"
continue
fi
echo ""
echo "📤 上传: $f"
resp=$(curl -sX POST "$UPLOAD_URL" \
-H "Authorization: Bearer $ADMIN_TOKEN" \
-H "tenantId: $TENANT_ID" \
-F "file=@${f};type=image/jpeg")
echo " 响应: $resp"
# 解析 URL(优先 data.url,其次 data.path
url=$(echo "$resp" | sed -n 's/.*"url":"\([^"?]*\).*/\1/p' | head -1)
[ -z "$url" ] && url=$(echo "$resp" | sed -n 's/.*"path":"\([^"?]*\).*/\1/p' | head -1)
if [ -n "$url" ]; then
echo " ✅ 访问地址: $url"
else
echo " ⚠️ 未解析到 URL,上面是原始响应"
fi
done
echo ""
echo "============================================================"
echo "✅ 上传完成。URL 用法:"
echo " - 01-about-company-team.jpg → 关于我们右侧图"
echo " (后端无独立 aboutImage 字段,模板用 public/images/template-07/about.jpg 兜底;"
echo " 若要后台托管,需在站点配置加 aboutImage 字段并由前端读 siteInfo.config.aboutImage"
echo " - 02-news-zoujinhuiicai-juyun.jpg → 最新动态首图:写到 cms-article.image 字段"
echo "============================================================"