# jike-publisher **Repository Path**: Fr1997/jike-publisher ## Basic Information - **Project Name**: jike-publisher - **Description**: 账号管理发布 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-01-28 - **Last Updated**: 2026-09-28 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Jike Publisher(极客发布器) 基于 Electron 开发的多平台内容发布工具,支持 B站、抖音、小红书等平台的账号管理和内容发布。 ## 技术栈 - **Electron** - 桌面应用框架 - **HTML/CSS/JavaScript** - 前端界面 - **Node.js** - 后端逻辑 - **Go/Gin** - 后端 API 服务 --- ## 快速开始 ```bash # 安装依赖 npm install # 启动开发(本地后端) npm run start:dev # 启动开发(测试环境) npm run start:test # 启动生产环境 npm start ``` ## 打包构建 ### Windows ```bash # 正式版(连接生产服务器) npm run build # 测试版(连接测试服务器) npm run build:test # 本地版(连接本地后端) npm run build:local ``` 打包产物在 `dist/` 目录下,生成 `多账号管理工具-1.0.0-Setup.exe`。 ### Mac 需要在 Mac 电脑上执行: ```bash # 拉取代码 git clone <仓库地址> cd jike-publish-work-tool # 安装依赖 npm install # 测试版 npm run build:test:mac # 正式版 npm run build:mac # 本地版 npm run build:local:mac ``` 打包产物在 `dist/` 目录下,生成 `.dmg` 安装包。 ### 环境说明 | 环境 | API 地址 | 任务窗口 | 用途 | |------|----------|----------|------| | 本地 (local) | http://localhost:18546 | 可见 | 开发调试 | | 测试 (test) | https://gin-test.100.city/api | 可见 | 内部测试 | | 生产 (production) | https://dso100.com | 隐藏 | 正式发布 | ## 环境配置 | 命令 | 环境 | API 地址 | |------|------|----------| | `npm run start:dev` | 本地开发 | http://localhost:18546 | | `npm run start:test` | 测试环境 | https://gin-test.100.city | | `npm start` | 生产环境 | https://dso100.com | --- ## 开发阶段规划 ### 第一阶段:基础架构 ✅ 已完成 **1.1 项目工程化** - [x] Electron 项目初始化 - [x] 目录结构规划 - [x] 开发环境配置 - [x] 打包构建配置 **1.2 整体布局框架** - [x] 自定义标题栏(最小化/最大化/关闭) - [x] 页面独立布局架构 - [x] 顶部导航栏/Tab 栏 - [x] 账号管理页面(侧边栏 + 浏览器区域) **1.3 通用样式系统** - [x] CSS 变量(颜色、字体、间距、圆角等) - [x] 基础样式重置 - [x] 亮色/暗色主题支持 **1.4 通用组件库** - [x] 基础组件:Button、Input、Select、Switch、Checkbox、Tabs - [x] 反馈组件:Toast、Modal、Alert、Loading - [x] 数据展示:Table、Empty、Pagination - [x] 增强组件:Dropdown、Tooltip、Badge、Tag、Avatar、Progress **1.5 页面路由系统** - [x] 视图切换机制 - [x] 基础页面(首页、设置页、关于页) - [x] 页面状态管理 **1.6 基础设施** - [x] 本地配置管理(读/写/监听) - [x] 日志系统 - [x] IPC 通信封装(主进程 ↔ 渲染进程) - [x] 事件总线 **1.7 系统功能** - [x] 系统托盘(最小化到托盘、托盘菜单) - [x] 窗口状态记忆(位置、大小) - [x] 开机自启 - [x] 全量自动更新 --- ### 第二阶段:账号管理 ✅ 已完成 **2.1 本地账号管理** - [x] 账号数据结构设计 - [x] 添加/编辑/删除账号 - [x] 账号分组管理 - [x] 账号列表展示 - [x] 本地数据持久化(electron-store) - [x] 账号搜索/筛选 **2.2 登录与信息提取** - [x] 扫码登录窗口 - [x] 登录成功自动检测 - [x] Cookie 自动提取 - [x] 用户信息自动提取(昵称、头像、UID) - [x] 用户信息定时更新机制 --- ### 第三阶段:内置浏览器 ✅ 已完成 **3.1 浏览器核心功能** - [x] WebContentsView 集成 - [x] 账号隔离(session partition) - [x] 多标签页支持 - [x] 浏览器控制栏(地址栏、刷新、主页) - [x] Cookie 自动管理 **3.2 用户信息管理** - [x] B站:API 接口获取用户信息 - [x] 抖音:页面结构提取 - [x] 用户信息定时更新(可配置间隔) --- ### 第四阶段:后端对接 ✅ 已完成 **4.1 认证系统** - [x] API Client 模块(axios) - [x] Token Manager(存储、刷新、过期检查) - [x] Auth Service(登录、登出、状态检查) - [x] 验证码获取和验证 - [x] JWT Token 自动刷新 **4.2 用户服务** - [x] 获取用户信息 - [x] 更新用户信息 - [x] 修改密码 **4.3 发布器服务** - [x] 平台配置管理(获取/更新) - [x] 用户设置同步(云端) - [x] 发布记录上报(单条/批量) - [x] 发布历史查询 - [x] 统计数据汇总 **4.4 IPC 通信桥接** - [x] electronAPI.auth 命名空间 - [x] electronAPI.user 命名空间 - [x] electronAPI.publisher 命名空间 --- ### 第五阶段:业务功能 ⬅️ 当前 - [ ] 内容发布功能 - [ ] 平台数据抓取 - [ ] 粉丝/作品数据统计 - [ ] 数据可视化面板 - [ ] 数据导出 --- ## 项目结构 ``` ├── main/ # 主进程 │ ├── index.js # 主进程入口 │ ├── window.js # 窗口管理 │ ├── config-manager.js # 配置管理 │ ├── api-client.js # HTTP 请求客户端 │ ├── token-manager.js # Token 管理 │ ├── auth-service.js # 认证服务 │ ├── user-service.js # 用户服务 │ ├── publisher-service.js # 发布器服务 │ ├── account-manager.js # 账号管理 │ ├── browser-manager.js # 浏览器管理 │ ├── tab-manager.js # 标签页管理 │ ├── publish-manager.js # 发布管理 │ ├── task-manager.js # 任务管理 │ └── logger.js # 日志系统 │ ├── preload/ # 预加载脚本 │ └── index.js # IPC 桥接 │ ├── renderer/ # 渲染进程(界面) │ ├── index.html # 入口 HTML │ ├── assets/styles/ # 样式文件 │ ├── components/ # 通用组件 │ ├── pages/ # 页面 │ │ ├── home.js # 首页 │ │ ├── accounts.js # 账号管理 │ │ ├── publish.js # 发布页面 │ │ ├── tasks.js # 任务管理 │ │ ├── settings.js # 设置页面 │ │ └── login.js # 登录页面 │ ├── router.js # 路由管理 │ └── app.js # 渲染进程入口 │ ├── docs/ # 文档 │ └── Jike_Publisher_API对接文档.md │ ├── .env.development # 开发环境配置 ├── .env.test # 测试环境配置 ├── .env.production # 生产环境配置 ├── package.json └── README.md ``` --- ## API 接口 ### 认证接口 | 接口 | 方法 | 说明 | |------|------|------| | /base/captcha | POST | 获取验证码 | | /base/login | POST | 用户登录 | | /user/logout | POST | 退出登录 | | /user/getUserInfo | GET | 获取用户信息 | ### 发布器接口 | 接口 | 方法 | 说明 | |------|------|------| | /publisher/platforms | GET | 获取平台列表 | | /publisher/platforms/:id | PUT | 更新平台配置 | | /publisher/settings | GET | 获取用户设置 | | /publisher/settings | PUT | 保存用户设置 | | /publisher/records | POST | 上报发布记录 | | /publisher/records/batch | POST | 批量上报记录 | | /publisher/records | GET | 获取发布历史 | | /publisher/statistics | GET | 获取统计汇总 | --- ## 设置分工 | 类型 | 存储位置 | 说明 | |------|----------|------| | 发布间隔、重试次数 | 云端 | 业务设置,换电脑同步 | | 平台启用/禁用 | 云端 | 业务设置 | | 发布记录和统计 | 云端 | 业务数据 | | 开机自启动 | 本地 | 系统级设置 | | 最小化到托盘 | 本地 | 系统级设置 | | 窗口位置/大小 | 本地 | 本地体验 | | 主题设置 | 本地 | 本地体验 | --- ## 开发环境要求 - Node.js >= 16 - npm 或 pnpm --- ## 参考文档 - [Electron 官方文档](https://www.electronjs.org/docs) - [API 对接文档](docs/Jike_Publisher_API对接文档.md)