huangzd1997
|
6fe67b648f
|
feat(patrol-delete): 删除条件改为添加式交互——输入后回车/点添加逐个加入chips列表(可单项移除),去掉原'保存到条件库+勾选'两步式与已知状态下拉,启动时随任务携带条件
|
2026-09-09 19:06:27 +08:00 |
|
huangzd1997
|
96e93944d9
|
fix(patrol-delete): 删除条件为空的任务四层拦截——①前端启动前拦截(不再先创建后失败,避免任务残留执行中)并创建时上传delete_conditions ②Java服务端校验删除条件非空(旧版本/直调兜底) ③Python端空条件直接按失败上报,不再逐店空转
|
2026-09-09 18:59:45 +08:00 |
|
huangzd1997
|
0cf20527a4
|
fix(frontend): 菜单点击偶发无响应三处根因——①路由懒加载chunk失败被静默吞掉(新增onError自动整页重载+保险丝防循环) ②首页入口被权限接口阻塞(改乐观显示+缓存TTL10分钟+超时30s→8s) ③菜单hover预取目标页chunk(工具卡片/工作流步骤/顶部导航)
|
2026-09-09 18:53:34 +08:00 |
|
huangzd1997
|
83cb3ff84e
|
style(frontend): 全站背景图 webp 化(bg.jpg 4MB→251KB 压缩 + bg.webp)+品牌工具页默认策略调优(品牌检测默认改精确匹配 Simple、Terms 后置)+任务面板/登录页/亚马逊控制台观感微调
|
2026-09-09 18:32:56 +08:00 |
|
huangzd1997
|
5fad0ae027
|
feat(brand): 品牌检测任务统一轮询驱动并展示行级实时进度
任务面板状态改为独立轮询(getTaskPollIntervalMs 节奏),刷新/提交/取消/删除后
按是否有运行中任务自动续轮询或停表;运行中任务通过详情接口拉取 Redis 行级进度,
进度按"已处理品牌行/总行(含查询失败)"推进并展示 crawling/assembling/uploading 阶段文案
|
2026-09-08 22:52:49 +08:00 |
|
huangzd1997
|
3cc5a64609
|
fix(brand): 品牌检测提交统一立即执行,去掉无人消费的"添加到队列"模式
queue 模式只建 pending 无后台消费者,任务会永久停在排队中;统一走 /api/brand/run 立即执行(与历史链路一致)
|
2026-09-08 21:54:02 +08:00 |
|
huangzd1997
|
ba581ed095
|
fix(brand): 品牌检测源文件改走 OSS URL(服务端化跨节点组装可用)
前端上传桥与降级桥透传 uploadOss;品牌页提交时 fileUrl 优先取上传响应的 OSS url,localPath 仅作旧桌面桥兜底。
|
2026-09-08 15:19:21 +08:00 |
|
huangzd1997
|
4ac8f8b472
|
fix(pricetrack): ASIN文件路径防本地路径误提交+fileKey兜底反查
|
2026-09-08 13:34:08 +08:00 |
|
huangzd1997
|
7b6f62f1bc
|
fix(brand): 品牌检测补上传链+新增 /api/brand/run 端点+文件夹展开桥
- BrandBrandTab 对齐其它工具页:选文件/文件夹后先 upload_file_to_java 再提交(服务器可读路径),修复本地路径直传导致的「请先上传待处理文件/没有有效的xlsx文件路径」
- runBrandNow/createBrandTask 改为 files 契约(fileUrl=临时路径 localPath)+ 传 userId
- Java 新增 POST /api/brand/run(等价 /tasks 并返回待爬取数据),修复前端「立即运行」No static resource
- 选择文件夹改走新版桌面客户端桥 expand_brand_folder(本机展开);旧客户端提示改用文件多选
- 生产 .env 已另配 AIIMAGE_BRAND_CHECK_TOKEN(上游 16890 鉴权),非代码变更
|
2026-09-08 13:18:58 +08:00 |
|
huangzd1997
|
d9e3f34d37
|
chore: 移除项目内无用代码(28 文件)
- 清理任务面板/SPA 化改造遗留的未使用变量与函数(模板管理配套 6 函数、
payloadForDisplay/showTip/hasRunning/schedulePoll/removeMatchedRowLocally 等 30+ 处)
- 清理未使用 import(getBrandTemplateXlsxUrl/uploadTempFileToJava/getProductRiskTasksBatch 等)
- useTaskProgressLoop 改为仅类型导入;progress/task-request 缓存未用参数精简
- DeleteBrandRunService 删除永不执行的 taskItems 死分支
- 全量 vue-tsc(含 --noUnusedLocals/--noUnusedParameters)0 错误;648 测试全过
|
2026-09-08 10:20:30 +08:00 |
|
huangzd1997
|
e248b6e43a
|
feat(web): 前端 SPA 化 + 工具页任务面板统一与历史批量删除
- SPA 化:22 个 MPA html 入口与 *-main.ts 合并为 index.html + vue-router(URL 无 .html 后缀),
页面跳转全部 router-link,/new_web_source/xxx.html 旧路径归一为 /xxx
- 任务面板统一:共享 TaskCenterPanel/TaskItemCard/TaskStatCards/HistoryTaskLayer,
16 个工具页右侧统一为统计卡 + 当前任务 + 历史任务弹层(任务ID/开始/结束/状态必展示)
- 历史记录支持单条删除 + 批量勾选删除(确认框/全选/失败提示)
- Java 7 模块(dedupe/convert/split/productrisk/shopmatch/pricetrack/deletebrand)
history 接口补齐任务时间字段(VO+Service,复用 biz_file_task 列)
- 图片工作台/API 层(brand/permission/user)既有未提交改动一并提交
|
2026-09-08 10:02:55 +08:00 |
|
huangzd1997
|
c086d402a7
|
feat(web): 品牌检测/图片生成服务端化——URL 统一 https+域名,入口文件带 hash 防长缓存失效
- brand/image 本地执行 API 服务端化(主机A shufu-web-api:15126,nginx 转发 /api/brand/* 等)
- 前端撤销本地回连逻辑(local-http 删除,http.ts/brand.ts 还原为域名相对路径)
- 版本更新改桌面桥 do_update_app(原 Flask /api/update/do 桥化,Web 无更新入口)
- 品牌检测页 Web 可用(hasBridge 恢复 blanket 判定:文件选择走浏览器降级、任务/SSE 走域名)
- vite 入口文件带内容 hash(/assets 配了 immutable 长缓存,无 hash 入口导致更新永不生效)
- public/logo.jpg:Web 版 /logo.jpg 素材(原 app_client/logo.jpg 随桌面瘦身移除)
|
2026-09-07 17:11:33 +08:00 |
|
huangzd1997
|
30b8c910e8
|
feat(web): 桌面端前端 Web 独立部署适配——浏览器降级桥+登录态引导+页面动态修正
- 新增 web-fallback.ts:无 pywebview 时以浏览器能力降级(文件选择/上传/模板下载/配置),
其余桌面能力(enqueue_json/vc_*/folder 选择等)保持 undefined 交由页面既有请在本地客户端中打开提示
- 新增 ensure-auth.ts:无 uid 时经 /newApi/check_login 恢复登录态,无 token/失效跳登录页;
21 个入口 main.ts 挂载前先引导(桌面端已注入 uid 时零开销)
- pywebview.ts:getPywebviewApi() 在纯浏览器环境返回降级桥;新增 isDesktopRuntime 标志
(首页更新面板/退出链接据此区分桌面与 Web);hasPywebview 语义修正为真实桥判定
- 登录页跳转、首页登出链接、品牌检测页 hasBridge 判定(select_brand_folder 存在性)适配 Web
|
2026-09-07 16:35:19 +08:00 |
|
huangzd1997
|
d2301db292
|
feat(frontend-vue): 亚马逊运营工具台与新功能页接入——新版工具台(amazon-console+tool-catalog)、品牌检测/ASIN变体采集/查询ASIN 三个工具页 Vue 化并对接既有后端与桌面桥接;桌面首页/登录页 Vue 化(沿用旧视觉);补充 vc_*/get_device_id/save_file_from_url 桥类型、dev 代理;品牌默认勾选排名+FBM;修正 query-asin 标题
含未提交新版改造累积:Brand*Tab 套入工具台壳(AmazonToolPageShell/AmazonTopBar)与目录/权限联动。
|
2026-09-07 11:06:05 +08:00 |
|
huangzd1997
|
417a2bf831
|
后台店铺数据记录页新增 Tab 切换与重复 ASIN 分析;task-169/170 HTTP 客户端配置接入;dedupe/brand 相关改造
Build Backend JAR / build (push) Has been cancelled
- 管理后台:店铺数据记录改为列表分页展示(去任务号/文件列/累计标题,'最新'改'更新时间'),新增'重复 ASIN' Tab 按跨店聚合展示 ASIN/店铺/分组/国家/日期/价格;修复失败/进行中任务被过滤不显示的问题
- task-169: BrandCheckHttpConfigResolver 从 aiimage.http-client.* 读取品牌检查超时/重试(默认同现状、钳制),附 8 条测试
- task-170: surefire 内存调整为 1536m
- dedupe: DedupeRunService 重构(事务边界/进度)、新增 DedupeRunProgressVo、Controller 与结果 VO 调整,PermissionMenuService 相应适配
- brand/dedupe 前端:BrandDedupeTab/BrandPatrolDeleteTab 改造、新增 CountrySelector 组件与 country-options、类型与接口端对齐、测试更新
- 移除无引用文件:backend/static/logo.jpg、prompts/
|
2026-09-03 01:57:41 +08:00 |
|
huangzd1997
|
759f0b15d8
|
task-101: 上传/解析/入队三道前端拦截,阻止坏数据卡死 Python 自动化
Build Backend JAR / build (push) Has been cancelled
新增 shared/dispatch-guard.ts(纯 TS 校验,可单测)与 dispatch-guard-ui.ts
(ElMessageBox 弹窗层),在数据流的三个位置设闸:
- 选文件:空选择、非 xlsx/xls/csv、空路径直接拦;重复文件弹确认
- 解析结果:taskId 非法、totalRows 为 0、整批行被丢弃、需要分组却无分组直接拦;
部分行被丢弃弹确认后才允许推送
- 入队前:结构不符、必填字段缺失、items/groups/country_codes 为空数组、
行数页数为 0、JSON 不安全值(NaN/Infinity/BigInt/循环引用/数组洞)
覆盖 11 个推 Python 队列的 Tab 与 dedupe/split/convert 三个纯 Java Tab。
闸位按 Tab 挑选以免留下孤儿后端状态:collect-data 校验前置到
activateCollectDataTask 之前(任务保持 PENDING 无需回滚)、product-risk 的国家
检查提到建任务之前;已建任务后才拦下的复用各 Tab 原有失败补偿路径。
两处边界:对象属性 undefined 放行(taskNo 这类可选字段是惯用写法),只拦数组
元素 undefined 与数组洞;price-track 的 asin_rows_by_country 仅在 mode=asin
时要求非空,status 模式下 loadAsinRowsForAppClient 本就返回 {}。
顺带修复 similar-asin / appearance-patent 的 selectFiles 缺少 try/catch,
上传失败会残留上一批文件与解析结果。
测试:tests/dispatch-guard.test.ts 新增 37 个 test_task_101_* 用例。
|
2026-09-01 12:53:12 +08:00 |
|
huangzd1997
|
e2607ab723
|
task-98: 移除 similar-asin/appearance-patent 模块 Coze,状态机与共享组件改名 LLM
Build Backend JAR / build (push) Has been cancelled
- similarasin/appearancepatent 模块全部 Coze 工作流调用改走 direct-LLM(已确认唯一运行路径)
- 共享组件改名:CozeTaskQueueGate→TaskQueueGate、CozeGroupResultPropagator→GroupResultPropagator
- 状态机改名:biz_task_scope_state 的 coze_* 列→llm_*、stateJson coze 键→llm(V100 迁移已应用生产)
- 删除 biz_coze_credential 表、CozeCredential* 类、SimilarAsinCozeClient、AppearancePatentCozeClient→LlmClient
- 前端 brand 页 Coze 文案→LLM;Python 后端删除 cozepy 依赖与死配置
- 修复 TaskResultFileJobWorker 启动失败:TaskFileJobConfig 注册 ResultFileJobHandlerRegistry 与 13 个 handler bean(含 validateCoverage 启动校验)
|
2026-09-01 02:20:50 +08:00 |
|
huangzd1997
|
6600bfaa99
|
task-88: 解析结果前端只接收预览数据,避免大 payload 进入响应式对象
新增纯 TS 预览裁剪 parse-preview:把解析 Vo 裁剪为摘要字段
(taskId/行数统计/开关/prompt),items/groups 整包剔除,可按
previewRowLimit/previewGroupLimit 有界保留样本行供表格展示。输入
对象永不修改,taskId 非法 fail-fast,属性读取抛错时零部分结果。
BrandSimilarAsinTab 的 parseFiles 改为只接收裁剪后的预览(保留
200 行样本),数千行 items 不再进入 Vue 响应式 ref。8 个测试覆盖
默认、批量、幂等、空、单元素、截断溢出、非法输入与 getter 故障。
|
2026-08-30 22:55:27 +08:00 |
|
huangzd1997
|
25d5a5a5e3
|
task-85: 优化 Similar ASIN 轮询与文件生成等待,避免重复 force 请求
新增纯 TS force 节流守卫 asin-force-throttle:为每个 taskId 维护 TTL
冷却窗口,窗口内不重复发 force 请求(避免反复触发后端生成文件),到期
后允许重试,任务终态后 clear 立即释放记录。BrandSimilarAsinTab 的
refreshTaskProgress 改为按 pendingFileTaskIds 逐项查守卫决定本轮是否
带 force,请求成功后整批进入冷却。8 个测试覆盖默认、批量、幂等、空、
单元素、200 任务溢出、非法输入与时钟故障恢复。
|
2026-08-30 22:49:45 +08:00 |
|
huangzd1997
|
5caca86ad1
|
task-84: 优化店铺抓取队列状态合并,消除 historyItems 的线性重复查找
新增纯 TS 合并模块 merge-history-items:以 taskId→行列表 二级索引替代
原 mergeProgress 的 [...map.values()].find() 全表扫描(O(n×m)→O(n+m))。
命中语义与原实现一致(taskId 相同且 resultId 相同或 incoming 无
resultId),命中后删除旧 key 写入新 key,shopName 变化不再留下幽灵
重复条目,同批内后到条目可命中先到新增。BrandShopDataCrawlTab 的
mergeProgress 改用该模块。9 个测试覆盖默认、批量、幂等、空、单元素、
maxItems 限流、非法输入、keyOf 故障零变更与幽灵条目场景。
|
2026-08-30 22:47:41 +08:00 |
|
huangzd1997
|
79596a970c
|
采集数据进度条改为按关键词计算:processedRows/totalRows,标签改为关键词进度
Build Backend JAR / build (push) Has been cancelled
|
2026-08-28 11:43:51 +08:00 |
|
huangzd1997
|
ea0a319c27
|
品牌页前端工具菜单新增「ASIN变体采集」入口
Build Backend JAR / build (push) Has been cancelled
|
2026-08-27 05:10:51 -04:00 |
|
huangzd1997
|
7b238522ed
|
去重导出列固定顺序为 id/ASIN/国家/价格/品牌;QueryAsin 按店铺加载数据并修正前端回退逻辑
Build Backend JAR / build (push) Has been cancelled
|
2026-08-25 22:38:38 +08:00 |
|
huangzd1997
|
c287fe01a8
|
品牌去重默认勾选列调整为 id/ASIN/国家/价格/品牌
Build Backend JAR / build (push) Has been cancelled
|
2026-08-25 22:05:35 +08:00 |
|
huangzd1997
|
7b81b7aa01
|
品牌去重默认勾选列调整为 ASIN/国家/价格/SKU ID/品牌
Build Backend JAR / build (push) Has been cancelled
|
2026-08-25 22:00:33 +08:00 |
|
huangzd1997
|
a11f44664f
|
还原ASIN变体采集入口,仅保留变体分析移除
Build Backend JAR / build (push) Has been cancelled
|
2026-08-24 23:21:53 +08:00 |
|
huangzd1997
|
9ba7181212
|
导航变体分析改为ASIN变体采集入口,修复AiAssetDropzone类型
Build Backend JAR / build (push) Has been cancelled
|
2026-08-24 23:20:54 +08:00 |
|
huangzd1997
|
5acf3c79ed
|
移除品牌页导航栏的变体分析入口
Build Backend JAR / build (push) Has been cancelled
|
2026-08-24 22:48:03 +08:00 |
|
huangzd1997
|
205b0b71b4
|
数据去重默认勾选列增加品牌/SKU ID/发货类型
Build Backend JAR / build (push) Has been cancelled
|
2026-08-24 20:13:14 +08:00 |
|
supernijia
|
159d52194c
|
更新任务存储、权限与货源查询流程
Build Backend JAR / build (push) Has been cancelled
|
2026-08-22 21:23:01 +08:00 |
|
supernijia
|
7a7f1dfa21
|
完善任务存储、权限及货源查询流程
Build Backend JAR / build (push) Has been cancelled
|
2026-08-14 22:49:15 +08:00 |
|
supernijia
|
38216a1885
|
处理后台新需求
Build Backend JAR / build (push) Failing after 16m58s
|
2026-08-09 20:08:39 +08:00 |
|
supernijia
|
28e7fce11c
|
新需求更新 同步更新
|
2026-08-06 01:11:54 +08:00 |
|
supernijia
|
7c3c9e53a0
|
菜单修改优化
|
2026-07-28 13:40:19 +08:00 |
|
supernijia
|
4ddb8b47b0
|
完成上架相关优化、oss迁移
|
2026-07-25 17:57:34 +08:00 |
|
supernijia
|
8ab36b1aaf
|
上架需求增加
|
2026-07-25 09:58:29 +08:00 |
|
super
|
cbde22ec79
|
视频任务管理更新
|
2026-07-19 22:23:26 +08:00 |
|
super
|
8543dad514
|
修复后端BUG
|
2026-07-14 22:11:19 +08:00 |
|
super
|
aab4ce942c
|
更新带货视频工作流接口和页面
|
2026-07-09 00:27:49 +08:00 |
|
super
|
0ecf5cd45a
|
后端优化修复问题
|
2026-06-18 18:53:16 +08:00 |
|
super
|
ac19637ad6
|
处理修复BUG
|
2026-06-14 16:48:20 +08:00 |
|
super
|
8672668c33
|
处理下载为公共模块
|
2026-06-12 13:40:29 +08:00 |
|
super
|
17236265c6
|
修复删除asinBUG
|
2026-06-11 20:37:05 +08:00 |
|
super
|
c9efdf8b0e
|
修复菜单消失
|
2026-06-10 17:52:58 +08:00 |
|
super
|
c3d43aa26a
|
更新新需求-采集
|
2026-06-09 21:07:50 +08:00 |
|
super
|
967eedcad7
|
提交更新
|
2026-06-08 18:31:55 +08:00 |
|
super
|
eeb27e21ed
|
删除本地APP项目
|
2026-06-08 11:49:46 +08:00 |
|
super
|
c85e5b278f
|
新增内容,新增拉起软件层
|
2026-06-08 09:19:15 +08:00 |
|
super
|
8ab647c419
|
提交更改
|
2026-06-05 21:25:03 +08:00 |
|
super
|
ea37d82d73
|
合并分支
|
2026-05-31 09:28:48 +08:00 |
|