Commit Graph

389 Commits

Author SHA1 Message Date
Manus AI
7793093d0a fix: workphone BFF 在 SDK 不可用时降级返回 200
connection/status 不再因 workphone.quwanzhi.com 502 报 500;补 20260530 部署进度。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-30 22:03:04 +08:00
Manus AI
5182529a58 sync(本地→GitHub): 2026-05-30 21:41 全量单向同步
## GitHub 同步说明

| 项 | 内容 |
|:---|:---|
| 仓库 | https://github.com/fnvtk/cunkebao_v3 |
| 分支 | develop |
| 方向 | 本地 → GitHub(单向 push) |
| 是否拉取远程 | 否(未 fetch / pull / merge) |
| 是否改本地文件 | 否(仅 git add/commit,未编辑任何源文件正文) |
| 基准 commit | 0643e78a |
| 变更规模 | 709 files, +26436 / -3407 lines |

## 目录变更统计

| 目录 | 文件数 | 说明 |
|:---|---:|:---|
| 开发文档/ | 404 | 四端进行中/已完成需求、接口文档、官网需求、部署脚本 |
| Server/ | 95 | 后端 API、迁移脚本、触客宝/超管/存客宝服务 |
| Cunkebao/ | 85 | 移动端 H5、设备绑定、客服、转号审批等 |
| Touchkebao/ | 68 | PC 工作台、AI 获客、算力中心、Glass UI |
| SuperAdmin/ | 33 | 超管项目中心、算力计费、内容库 |
| 官网/ | 19 | 新增存客宝官网静态页(index/pricing/solutions 等) |
| .cursor/ | 3 | Cursor 规则与 Skill |
| .obsidian/ | 2 | Obsidian 工作区配置 |

## 重点新增/更新(本地为准)

- 官网/: 完整静态站点(index、pricing、manual、solutions、api)
- 开发文档/1、需求/修改/*_进行中_20260530.md(存客宝/触客宝/AI数智员工)
- 开发文档/1、需求/官网需求.md
- 开发文档/5、接口/开发进度_接口文档.md 等接口文档迭代
- Touchkebao Glass UI 与 P0 收尾、通道获客算力
- SuperAdmin 算力计费规则、项目工作台

## 刻意未上传(本地保留)

- node_modules/
- .DS_Store、.smart-env/
- .开发文档_nested_git_backup/(旧嵌套 git 备份)
- **/__pycache__/

## 验收

GitHub 浏览: https://github.com/fnvtk/cunkebao_v3/tree/develop

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-30 21:41:40 +08:00
Manus AI
5517457929 sync: 以本地为准同步全量变更至 GitHub
含四端需求文档、前端/后端/超管/触客宝迭代及部署脚本更新;未拉取远程。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-30 04:24:56 +08:00
Manus AI
03ae8c07b6 feat: 同步本地全量开发到 GitHub(前端/后端/超管/开发文档规则)
含 AI 助手、抖音 OAuth、流量池推送、支付获客、SuperAdmin 设备与场景管理等本地迭代;以本地为准单向推送,未拉取远程。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-26 22:12:40 +08:00
Manus AI
a3bda0ccac fix: API获客 sceneId=11 列表500与小宝AI网关联通
Query whereIn 合并 legacy 场景;karuoAi 120s 超时,避免误降级 doubao 欠费。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-26 16:08:15 +08:00
Manus AI
148962cbc2 feat(场景获客): 付款码mock验收+计划编辑对齐+场景字典修正
本地无威富通时可 mock 下单/模拟支付;更新计划与创建规则对齐;编辑回填 sceneConf;抖音 env 合并。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-25 20:19:16 +08:00
Manus AI
beb13bb280 fix(场景获客): 统一新建计划按钮与 payment notify 配置
好友迁移等全场景列表展示新建计划;PaymentConfigService 默认 notify 指向 /v1/pay/notify;非 API 计划创建后回列表便于付款码验收。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-25 20:12:35 +08:00
Manus AI
5b0766d2b4 fix(场景获客): API获客去重并合并legacy统计到id=11
旧库 sceneId 6/9 若 DB 名仍含 API,统计并入规范 API 卡片,展示名强制用目录,避免两张「API获客」。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-25 20:10:12 +08:00
Manus AI
a6ba0af9f8 feat(付款码获客): 微信Native支付全链路+开放对接+前端付款码弹窗
复用 PaymentService 生成付款码;支付回调后小程序授权手机号入池;开放 /v1/open/payment 供第三方对接。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-25 19:45:14 +08:00
Manus AI
9614a3138d fix(场景获客): 仅展示已实现场景,修复列表接口500
过滤未落地场景;修复 scenarioTags 已是数组时 json_decode 报错;接口失败时降级展示可用场景。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-25 19:35:45 +08:00
Manus AI
b5facefde8 feat(场景获客): 补全11种场景含扫码获客,统一渐变图标
后端合并 SCENE_CATALOG 保证列表完整;前端 SceneIcon 替换杂乱图片;附 plan_scene 落库迁移。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-25 19:32:42 +08:00
Manus AI
48fc5a7a7d fix(统计): 场景今日真实获客数,首页简化,编辑计划直达计划接口
场景列表 count 改为 task_customer 今日统计;首页汇总三指标+紧凑场景卡;已有计划自动补 apiKey 并开放计划接口面板。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-25 18:46:13 +08:00
Manus AI
cd7d00b4f8 fix(海报获客): 暂停计划仍可扫码留资,列表支持批量启用
已暂停不再返回「任务已结束」;修正 posters 数组 URL 解析;Tab 改为已启用/已暂停/全部并支持独立计划批量启用。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-25 16:23:06 +08:00
Manus AI
db85605352 fix(plan): 修复客资列表500并支持全局Webhook回退
traffic_pool_company 查询改用 identifier|phone|ownerWechatId;扩展查询失败降级不抛500;计划未配 Webhook 时回退全局配置。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-25 13:17:46 +08:00
Manus AI
434d09183b feat(plan): 客资列表支持一键推送到 Webhook
新增 export-batch 接口,弹窗底部增加全宽 Webhook 推送按钮,与文档/表格导出并列布局。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-25 13:15:51 +08:00
Manus AI
c553198d5a feat(plan): 海报获客客资列表筛选与导出
已获客/已添加弹窗统一为客户列表,支持状态筛选、旅程详情,以及 Markdown/CSV 导出。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-25 13:14:19 +08:00
Manus AI
c05fe80b89 feat(设备管理): 功能开关与手机端 device_taskconf 同步
统一 DeviceTaskConfigService 读写;修复 task-config 校验与布尔转换;详情返回 features;autoAddFriend 与 autoCustomerDev 联动。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-25 13:04:31 +08:00
Manus AI
700f3ab5d2 fix(设备管理): 修复扫码二维码获取失败与本地 Docker 缺配置
补 device_bind 默认配置与 .env.docker [api] 段;新增 POST /v1/devices/qrcode BFF;前端弹窗即拉码并展示真实错误。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-25 12:47:08 +08:00
Manus AI
82bc96884a fix(local): 修复本地首页 dashboard 500 并接通 dev API
.env.docker 注释中的 h5= 导致 parse_ini_file 失败,异常页模板路径为空进而全站 500;同步 npm dev 反代与 dashboard 路由别名。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-25 12:33:36 +08:00
Manus AI
745d14c93f fix(设备管理): 默认在线Tab,扫码未绑微信设备在全部可见
列表查询改为 LEFT JOIN,避免无微信登录记录的扫码设备被过滤;前端 Tab 顺序调整为在线/离线/全部。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-25 12:21:30 +08:00
Manus AI
b838ae8fc1 fix: 设备管理获取二维码 Endroid 3.9 枚举调用修复
生产 endroid/qr-code 3.9 要求 ErrorCorrectionLevel::HIGH() 实例化调用,
旧写法传字符串导致 /v1/api/device/add 返回 HTTP 500。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-25 12:20:34 +08:00
Manus AI
06ca494e02 fix: 海报获客手机号解密改直连微信 API
EasyWeChat phone_number 未注册导致 decryptphone 500,阻断入池与 Webhook。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-25 10:28:47 +08:00
Manus AI
4ed9821c5d fix: 海报小程序码 AppId 改回 wx789850448e26c91d
存客宝小程序 ID 以用户确认为准;落地页保持 pages/poster/index2,缓存前缀升 v5。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-25 10:21:01 +08:00
Manus AI
f0ba9b387d fix: 海报小程序码落地页改回 pages/poster/index2
误将小程序码指向表单页 input2;恢复获客海报页,生产切换存客宝 AppId。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-25 10:14:59 +08:00
Manus AI
12cd0808bc fix: 海报获客弹窗改为小程序码,H5表单链接隔离
默认 poster_qrcode_mode=miniprogram;弹窗主区展示微信无限码,
H5获客表单仅作下方可复制链接,与小程序码分离。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-25 10:05:33 +08:00
Manus AI
07bfc890c2 fix: 场景获客容错、海报二维码URL与部署Skill沉淀
去掉二维码URL的.png后缀(Nginx静态404);删除老游条文案;401优先跳登录;
新增存客宝宝塔部署Skill汇总历次踩坑。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-25 09:59:44 +08:00
Manus AI
67dfc0a87c perf: 海报获客二维码缓存与 PNG 直链,加快弹窗与扫码页
二维码 Redis 缓存、qrImageUrl 可缓存 PNG、海报 getone GET+缓存,管理端弹窗秒开。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-25 09:49:26 +08:00
Manus AI
ffd66d0f5e fix: MiniProgramQrCodeService 使用全局 config() 并完善 smoke 测试
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-25 09:44:32 +08:00
Manus AI
afe4dbd131 fix: 海报获客二维码默认改 H5,避免扫码进老游条小程序
wx789850448e26c91d 微信侧绑定老游条首页;posterQrcodeMode=h5 生成存客宝表单二维码。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-25 09:44:14 +08:00
Manus AI
1f46065ebc fix(workbench): 朋友圈列表 config 改直连查询并 setAttr
修复 relation 未挂载导致 config 为空;避免 data[] 触发 Model::data 报错。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-25 06:48:16 +08:00
Manus AI
597941fbd1 fix(workbench): 朋友圈列表改用 setAttr 写入 config
避免 $item->data[] 触发 ThinkPHP Model::data() 参数错误。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-25 06:47:30 +08:00
Manus AI
ec2d4957e4 fix(workbench): 修复朋友圈同步列表500与token stale
朋友圈列表改用 data.config 数组避免 Model 属性异常;getList 加 try/catch;
JwtAuthTrait 补 getUserInfo 别名;前端 request 每次读取最新 token。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-25 06:05:43 +08:00
Manus AI
5c1463ffa9 fix: 运营报告推送真实数据并附带鉴权详情链接
飞书/企微不再误用客资变更模板;推送含汇总数据与 HMAC token 详情页,支持今日/近3日/近7日查看。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-25 05:59:25 +08:00
Manus AI
6ec8df94dc fix(api): 修复工作台 JWT 鉴权与流量池分页 count 污染
Workbench 等控制器改用 JwtAuthTrait 替代失效的 request->userInfo;
TrafficPoolGroupService 与 getUserList 使用 clone count,避免 500 与错误分页。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-25 05:50:04 +08:00
Manus AI
f40649a534 fix(api): StatsController 改用 JwtUtil 鉴权,生产 Dashboard 接口恢复
docker-compose 生产构建固定 VITE_API_BASE_URL=ckbapi,修复宝塔部署 405 与首页接口错误。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-25 05:32:03 +08:00
Manus AI
99cbabbaaf fix: 修复生产 JWT 鉴权导致全站数据接口 500
getUserInfo 改从 Authorization 解析 token,避免 userInfo 写入 param 触发
variable type error;补齐 app\http\middleware\jwt 并统一 middleware 别名。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-25 05:27:07 +08:00
Manus AI
9eaedd2c28 fix: 场景获客 Webhook 推送改为简洁双块 IM 格式
飞书/企微仅标题+客户信息+用户旅程,去掉计划归因与 JSON 附录;HTTP 改为精简 JSON。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-25 05:07:22 +08:00
Manus AI
2e856b1922 feat: 场景获客总设置新增运营报告定时推送(默认09:00)
按公司汇总各平台客资数据,支持 Webhook/飞书定时与立即发送,含预览面板。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-25 05:02:33 +08:00
Manus AI
d1c926205a fix: 全局 Webhook 推送增加公司边界校验并写入开发铁律
推送前校验 plan.companyId 与 customer.task_id,跨公司或不归属本计划的客资不推送。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-25 04:56:53 +08:00
Manus AI
65fa2986b1 fix: 存客宝小程序码 opcache 与接口结构化返回
Docker opcache 缓存旧 EasyWeChat 代码导致 500;开启 validate_timestamps,接口返回存客宝小程序元数据+qrCode,前端兼容解析。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-25 04:42:03 +08:00
Manus AI
69e7c282ca fix: 海报获客小程序码改用 curl 直连微信 API
Docker 挂载后无 vendor 导致 EasyWeChat 不可用;新增 MiniProgramQrCodeService 直连 getwxacodeunlimit,失败时 H5 二维码兜底。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-25 04:37:04 +08:00
Manus AI
109e9fef37 fix: 飞书 Webhook 自动转 msg_type 并校验响应体 code
飞书机器人返回 HTTP 200 但 code=19002(缺少 msg_type)时原先误判为成功;现自动适配飞书文本格式并在 body code≠0 时报错。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-25 04:33:01 +08:00
Manus AI
69bdce481f 增强场景获客 Webhook 载荷:计划归因、时间线与标签汇总
推送 JSON 现包含 attribution(来源计划/场景/入计划时间)、planTimeline、tags 合并及带 planId 的行为轨迹,便于外部系统识别客资从哪条计划来、做了什么。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-25 04:23:46 +08:00
Manus AI
10527ecfa8 feat(场景获客): 总设置页(全局 Webhook / 默认设备 / 统一流量池)
公司级配置与单计划并存:全局 Webhook 叠加推送、新建计划预填设备、客资自动入指定流量池分组。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-25 04:19:31 +08:00
Manus AI
82c15699cc fix(场景获客): 补全 Webhook 批量导入触发与校验
订单 Excel/电话场景批量客资、计划创建更新 URL 校验、smoke 测试脚本。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-25 04:13:22 +08:00
Manus AI
faf907b61b feat(场景获客): 计划级客资出站 Webhook 推送与配置 UI
计划可配置出站 URL,客资进入或状态变更时 POST 完整数字化客资(电话、标签、行为轨迹);操作菜单与编辑计划均可配置。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-25 04:09:42 +08:00
wong
41ffb8a220 自动点赞提交 2026-05-12 16:58:46 +08:00
wong
1deebf3f5c feat(media): 微信消息媒体 OSS 归档与下载地址回写
- 新增 MediaArchiveJob、MediaOssArchiveService、WechatMediaArchiveService 与回填命令
- Message/DataProcessing 等支持归档调度与持久化下载 URL
- WebSocket 控制器整理;朋友圈与文档/定时任务说明更新

Made-with: Cursor
2026-04-14 09:37:00 +08:00
wong
af79d1e860 代码提交 2026-03-11 14:01:50 +08:00
wong
7534dd79fa 新版流量池服务端提交 2026-02-04 10:58:56 +08:00