feat: rename qiniu to oss, add admin upload proxy with thumbnail, add dev-login

- Rename all QINIU_* config/code/docs to OSS_* to match actual Alibaba Cloud OSS
- Refactor upload module from internal/common/qiniu to internal/common/upload
- Add backend proxy upload endpoint (POST /api/admin/marketing/upload) to avoid CORS
- Auto-generate compressed thumbnail (800px, JPEG 80%) on admin image upload
- Add dev-login endpoint (POST /api/v1/auth/dev-login) for H5 debugging
- Add imageutil package for server-side image resizing

Made-with: Cursor
This commit is contained in:
nepiedg
2026-04-04 02:52:16 +08:00
parent aeaf6a04c2
commit 1eab1b99c1
21 changed files with 1023 additions and 191 deletions
+16 -16
View File
@@ -46,25 +46,25 @@ ADMIN_API_TOKEN=replace-with-strong-random-token
ADMIN_DEFAULT_USERNAME=admin
ADMIN_DEFAULT_PASSWORD=admin123
# 七牛直传配置(Kodo
QINIU_ACCESS_KEY=replace-with-access-key
QINIU_SECRET_KEY=replace-with-secret-key
QINIU_BUCKET=replace-with-bucket
# 上传地址:可保持默认(自动调度),也可以配置具体 Region 的 up 域名
QINIU_UPLOAD_URL=https://upload.qiniup.com
# CDN 域名(可选):用于拼接最终访问地址,例如 https://cdn.example.com
QINIU_CDN_DOMAIN=
# 阿里云 OSS 直传配置
OSS_ACCESS_KEY=replace-with-access-key
OSS_SECRET_KEY=replace-with-secret-key
OSS_BUCKET=replace-with-bucket
# 上传地址(可选):OSS 时自动根据 endpoint 计算,留空即可
OSS_UPLOAD_URL=
# CDN 域名:阿里云 OSS endpoint,例如 oss-cn-beijing.aliyuncs.com
OSS_CDN_DOMAIN=
# 上传 key 前缀(可选)
QINIU_KEY_PREFIX=uploads/
# token 有效期(秒)
QINIU_TOKEN_EXPIRE_SECONDS=300
# 上传回调地址(可选):配置后,七牛上传成功回调该地址
# 示例: https://api.example.com/api/v1/common/upload/qiniu/callback
QINIU_CALLBACK_URL=
OSS_KEY_PREFIX=uploads/
# 凭证有效期(秒)
OSS_TOKEN_EXPIRE_SECONDS=300
# 上传回调地址(可选):上传成功回调该地址
# 示例: https://api.example.com/api/v1/common/upload/oss/callback
OSS_CALLBACK_URL=
# 回调内容模板(可选)
QINIU_CALLBACK_BODY=key=$(key)&hash=$(etag)&fsize=$(fsize)&mimeType=$(mimeType)
OSS_CALLBACK_BODY=key=$(key)&hash=$(etag)&fsize=$(fsize)&mimeType=$(mimeType)
# 回调内容类型(可选)
QINIU_CALLBACK_BODY_TYPE=application/x-www-form-urlencoded
OSS_CALLBACK_BODY_TYPE=application/x-www-form-urlencoded
# 微信公众号(网页授权 OAuth2)
WECHAT_OA_APP_ID=replace-with-oa-appid