二维码池批量上传与认证图片预览修复

- 后端新增批量创建二维码接口 POST /admin/chats/qrcodes/batch
- 前端二维码管理页支持多图拖拽批量上传
- 注册 qrcode 图片压缩场景(maxSide=2560, quality=0.95)
- 后端 normalizeScene 注册 qrcode scene
- 增强 AuthImage 组件支持 el-image 大图预览(previewSrcList)
- 修复 WithdrawalDetailDialog 提现凭证图片 401 问题
- 删除重复的 components/AuthImage.vue,统一使用共享组件
- 提交3剩余: 会话列表群类型图标、发布成功跳群、管理端路由等
This commit is contained in:
yml
2026-06-17 17:57:05 +08:00
parent 54f550b8be
commit 12f589f0df
20 changed files with 715 additions and 33 deletions
+5 -2
View File
@@ -7,6 +7,7 @@ const IMAGE_UPLOAD_MAX_SIDE: Record<string, number> = {
dispute: 1920,
handoff: 1920,
realname: 1920,
qrcode: 2560,
}
const IMAGE_UPLOAD_QUALITY: Record<string, number> = {
@@ -18,6 +19,7 @@ const IMAGE_UPLOAD_QUALITY: Record<string, number> = {
dispute: 0.86,
handoff: 0.86,
realname: 0.86,
qrcode: 0.95,
}
export async function optimizeImageForUpload(file: File, scene: string) {
@@ -25,10 +27,11 @@ export async function optimizeImageForUpload(file: File, scene: string) {
if (!['image/jpeg', 'image/png', 'image/webp'].includes(file.type)) return file
if (typeof document === 'undefined') return file
const maxSide = IMAGE_UPLOAD_MAX_SIDE[scene] ?? 1600
const quality = IMAGE_UPLOAD_QUALITY[scene] ?? 0.82
try {
const image = await loadImage(file)
const maxSide = IMAGE_UPLOAD_MAX_SIDE[scene] || 1600
const quality = IMAGE_UPLOAD_QUALITY[scene] || 0.82
const { width, height } = fitSize(image.naturalWidth, image.naturalHeight, maxSide)
const canvas = document.createElement('canvas')
canvas.width = width