feat(app): 添加多模板关于我们页面及相关路由和404页面
- 新增404页面,优化未找到页面体验,避免被搜索引擎索引 - 增加文件代理接口,隐藏真实文件服务器地址,支持文件请求代理 - 实现/article、/case、/product及/page动态路由兼容列表与详情展示 - 添加动态CMS页面兼容入口处理旧式路径,统一路由与SEO设置 - 新增模板1、模板7、模板2、模板3关于我们页面,实现多模板支持 - 模板增强支持CMS单页内容加载及SEO信息动态设置 - 配置环境变量及Git忽略文件规则辅助开发和构建环境管理
This commit is contained in:
Executable
+70
@@ -0,0 +1,70 @@
|
||||
#!/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}" # 当前租户 10626(token 的 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 "============================================================"
|
||||
Reference in New Issue
Block a user