本文完整记录一个「闲鱼自动发布系统」全栈项目的技术方案、Docker 部署方式与实际操作流程,并附上对接闲鱼网页版时踩过的坑。项目仅供学习与个人合规使用。

一、项目简介

一套完整、可直接运行的闲鱼商品自动发布管理系统:后端基于 Go + Gin + GORM + PostgreSQL,自动化基于 Playwright(Chromium),前端基于 React + Vite + TypeScript + Ant Design,整体遵循 Clean Architecture / Repository / Service 分层,支持 Docker 一键启动。

二、技术栈

后端:Go 1.25、Gin、GORM、PostgreSQL、JWT、Zap、Viper、robfig/cron、Playwright-Go。

前端:React 18、Vite、TypeScript、Ant Design 5、Axios、Zustand。

自动化:Playwright + Chromium(无头/有头可配)。基础设施:PostgreSQL 16、Redis 7(可选)、Docker / Docker Compose、Nginx。

三、功能特性

用户登录:JWT 认证、管理员账户、修改密码。

商品管理:增删改查、分页搜索、分类价格库存标签;多图上传、预览、拖拽排序,已整合进新增/编辑弹窗。

发布任务:立即/定时发布、任务队列、多 Worker 并发、失败自动重试、取消、删除、清空。

自动发布:Playwright 注入 Cookie 自动填写并发布,失败自动截图与 HTML 留存。

在线商品管理:发布成功自动记录闲鱼商品 ID,可一键下架/删除。

Cookie 管理:多账号,Cookie 存数据库+文件,失效自动暂停任务。

Dashboard:今日发布/成功/失败/等待数量、成功率、近 7 天趋势、最近日志。

四、快速开始(Docker 一键部署)

前置:安装 Docker 与 Docker Compose。进入项目目录后执行 docker compose up -d --build 一键启动。启动后前端为 http://localhost ,后端 API 为 http://localhost:8080 ,默认账户 admin / admin123。

提示:若本机 80 / 8080 / 5432 端口被占用,可用 docker-compose.override.yml 重映射端口——注意用 !override 标签替换端口列表,否则 Compose 会把端口列表合并、导致冲突端口仍被保留。

五、使用操作流程

登录:浏览器打开前端地址,用 admin / admin123 登录进入仪表盘。

账号管理与 Cookie:闲鱼需要登录态才能发布,方案为人工首登加 Cookie 复用——在账号管理新增账号,用浏览器登录闲鱼后导出 Cookie(JSON 数组),在设置 Cookie 弹窗粘贴保存,账号即激活。

商品管理(含图片):在商品管理新增商品,填写标题、描述、价格、库存等;图片上传已整合进新增/编辑弹窗,可多图上传、预览、删除、拖拽排序,第一张为主图。

创建发布任务:在商品行点发布,选择账号;留空为立即发布,填时间为定时发布,任务进入队列由 Worker 执行。

自动发布:Worker 启动 Chromium,注入该账号 Cookie,打开闲鱼发布页,自动填写描述、价格等并提交;发布成功后系统自动从结果 URL 解析并记录闲鱼商品 ID。

下架与删除:发布成功的商品会出现闲鱼下架、闲鱼删除按钮,下架可逆(收回仓库、可重新上架),删除不可逆。

任务管理:发布任务页可查看状态、重试次数、创建时间,支持取消、重新发布、删除单条、一键清空已结束任务。

六、对接闲鱼网页版的关键要点(实战踩坑)

发布页地址是 https://www.goofish.com/publish ,老的 2.taobao.com 已废弃会跳首页。

页面为 Ant Design 加 CSS Modules,类名是哈希值不可作选择器,应优先用 placeholder、contenteditable、结构化属性定位。

没有独立标题输入框,标题需并入宝贝描述富文本编辑器首行。

填写描述后闲鱼会用 AI 自动识别并填好分类、品牌、型号、成色等属性。

必须至少一张宝贝图片否则发布必失败,图片上传后表单才会展开出价格、分类等字段。

虚拟商品类目(软件安装包、序列号、激活码)会多出必填项计价方式,需自动选择(实测选项为其他),否则校验不通过。

成功判定:发布成功后不弹提示而是跳转到宝贝详情页(出现下架、删除按钮),应据此判定,否则会出现已发布成功却误报失败、商品卡在待发布的问题。

部分分类(如其他服务)闲鱼网页版不支持发布,会提示用 App 扫码,无法通过网页自动化发布。

短时间高频自动化(连续发布、下架、删除)会触发闲鱼滑块验证码风控,操作要低频分散,被风控后用本人浏览器手动操作通常正常。

七、运行界面

系统提供仪表盘、商品管理、发布任务等界面。仪表盘展示今日发布/成功/失败/等待数量、成功率与近 7 天发布趋势;商品管理列表展示商品图片、标题、价格、库存、状态与创建时间,并支持新增、编辑(含多图上传与拖拽排序)、发布、闲鱼下架、闲鱼删除;发布任务列表展示任务的商品、账号、状态、重试次数、定时与创建时间,支持取消、重新发布、删除与一键清空。完整运行界面可在本地部署后于 http://localhost 登录体验。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

八、合规提示

本项目为电商卖家自用效率工具,用于管理与批量发布自己账号的商品。请遵守闲鱼/淘宝平台用户协议与相关法律法规,合理控制发布频率,风险自负。仅供学习与个人合规使用。

下载链接地址:》〉》

更多推荐