闲鱼自动发布系统实战:Go+Gin+React+Playwright 全栈项目部署与自动发布/下架删除(附源码)
本文完整记录一个「闲鱼自动发布系统」全栈项目的技术方案、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 登录体验。





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



所有评论(0)