feat: 支持批量导入 PDD 商品链接 (#104)

This commit is contained in:
chengma
2026-08-10 16:14:24 +08:00
parent 7bd75510b2
commit 188725ff64
15 changed files with 911 additions and 32 deletions
+13
View File
@@ -7,6 +7,8 @@ import (
"net/http"
"github.com/gin-gonic/gin"
"cmautobuy/admin/service"
)
// CSRF 防护,用的是「双提交 Cookie」这个最简单的方案:
@@ -57,6 +59,17 @@ func CSRFMiddleware() gin.HandlerFunc {
return
}
// multipart 表单会在下面 PostForm 时被解析,所以请求体上限必须在它之前设置。
// 放到具体上传 Handler 里已经太晚:那时文件可能已经被读进临时目录。
switch c.Request.URL.Path {
case "/pdd/import":
c.Request.Body = http.MaxBytesReader(
c.Writer, c.Request.Body, service.MaxPddUploadBytes+1<<20)
case "/shopee/import":
c.Request.Body = http.MaxBytesReader(
c.Writer, c.Request.Body, service.MaxShopeeUploadBytes+1<<20)
}
submitted := c.PostForm(csrfFieldName)
if submitted == "" {
submitted = c.GetHeader("X-CSRF-Token")