task-116: 后台管理新增/导入表单弹窗化 + 分组管理独立菜单与UI优化 + 轻量进度端点
Build Backend JAR / build (push) Has been cancelled
Build Backend JAR / build (push) Has been cancelled
- 后台管理页(admin)所有面板的新增/导入表单改为弹窗操作,原有字段 ID 全部保留、提交逻辑不变;导入删除入口不再触发二次确认拦截 - 分组管理升级为独立菜单(V102 + schema initializer),移除 5 个面板内的管理分组按钮;分组列表改为蓝白主题、增加权限分组横幅 - Python 侧 group-manage 权限守卫(_ensure_backend_menu_access 补充 group-manage) - 引入 V101(biz_task_file_job 复合索引)+ 新增 TaskProgressLight/TaskFileJob 轻量端点与进度聚合作 - 前端 progress-light / page-separated-loads / dispatch-guard 共享模块及单元测试
This commit is contained in:
@@ -139,6 +139,7 @@ test('test_endpoints_frozen_snapshot', () => {
|
||||
fileActivate: '/api/publish/tasks/{taskId}/files/{fileId}/activate',
|
||||
items: '/api/publish/tasks/{taskId}/items',
|
||||
progressBatch: '/api/publish/tasks/progress/batch',
|
||||
progressLight: '/api/publish/tasks/progress/light',
|
||||
result: '/api/publish/tasks/{taskId}/result',
|
||||
dashboard: '/api/publish/dashboard',
|
||||
history: '/api/publish/history',
|
||||
@@ -154,6 +155,7 @@ test('test_endpoints_frozen_snapshot', () => {
|
||||
resultDownload: '/api/delete-brand/results/{resultId}/download',
|
||||
resultSubmit: '/api/delete-brand/tasks/{taskId}/result',
|
||||
progressBatch: '/api/delete-brand/tasks/progress/batch',
|
||||
progressLight: '/api/delete-brand/tasks/progress/light',
|
||||
},
|
||||
productRisk: {
|
||||
candidates: '/api/product-risk-resolve/candidates',
|
||||
@@ -168,6 +170,7 @@ test('test_endpoints_frozen_snapshot', () => {
|
||||
taskDelete: '/api/product-risk-resolve/tasks/{taskId}',
|
||||
taskBatch: '/api/product-risk-resolve/tasks/batch',
|
||||
progressBatch: '/api/product-risk-resolve/tasks/progress/batch',
|
||||
progressLight: '/api/product-risk-resolve/tasks/progress/light',
|
||||
pendingShopResult: '/api/product-risk-resolve/pending-shop-result',
|
||||
resultDownload: '/api/product-risk-resolve/results/{resultId}/download',
|
||||
},
|
||||
@@ -186,6 +189,7 @@ test('test_endpoints_frozen_snapshot', () => {
|
||||
stageFinished: '/api/shop-match/tasks/{taskId}/stage-finished',
|
||||
taskBatch: '/api/shop-match/tasks/batch',
|
||||
progressBatch: '/api/shop-match/tasks/progress/batch',
|
||||
progressLight: '/api/shop-match/tasks/progress/light',
|
||||
skipAsins: '/api/shop-match/tasks/{taskId}/skip-asins/paginated',
|
||||
resultDownload: '/api/shop-match/results/{resultId}/download',
|
||||
},
|
||||
@@ -201,6 +205,7 @@ test('test_endpoints_frozen_snapshot', () => {
|
||||
history: '/api/patrol-delete/history',
|
||||
historyDelete: '/api/patrol-delete/history/{resultId}',
|
||||
progressBatch: '/api/patrol-delete/tasks/progress/batch',
|
||||
progressLight: '/api/patrol-delete/tasks/progress/light',
|
||||
taskCreate: '/api/patrol-delete/tasks',
|
||||
taskDelete: '/api/patrol-delete/tasks/{taskId}',
|
||||
taskResult: '/api/patrol-delete/tasks/{taskId}/result',
|
||||
@@ -215,6 +220,7 @@ test('test_endpoints_frozen_snapshot', () => {
|
||||
history: '/api/query-asin/history',
|
||||
historyDelete: '/api/query-asin/history/{resultId}',
|
||||
progressBatch: '/api/query-asin/tasks/progress/batch',
|
||||
progressLight: '/api/query-asin/tasks/progress/light',
|
||||
taskCreate: '/api/query-asin/tasks',
|
||||
taskDelete: '/api/query-asin/tasks/{taskId}',
|
||||
taskResult: '/api/query-asin/tasks/{taskId}/result',
|
||||
@@ -230,6 +236,7 @@ test('test_endpoints_frozen_snapshot', () => {
|
||||
history: '/api/shop-data-crawl/history',
|
||||
historyDelete: '/api/shop-data-crawl/history/{resultId}',
|
||||
progressBatch: '/api/shop-data-crawl/tasks/progress/batch',
|
||||
progressLight: '/api/shop-data-crawl/tasks/progress/light',
|
||||
taskCreate: '/api/shop-data-crawl/tasks',
|
||||
taskDelete: '/api/shop-data-crawl/tasks/{taskId}',
|
||||
resultDownload: '/api/shop-data-crawl/results/{resultId}/download',
|
||||
@@ -244,6 +251,7 @@ test('test_endpoints_frozen_snapshot', () => {
|
||||
history: '/api/withdraw/history',
|
||||
historyDelete: '/api/withdraw/history/{resultId}',
|
||||
progressBatch: '/api/withdraw/tasks/progress/batch',
|
||||
progressLight: '/api/withdraw/tasks/progress/light',
|
||||
taskCreate: '/api/withdraw/tasks',
|
||||
taskDelete: '/api/withdraw/tasks/{taskId}',
|
||||
taskResult: '/api/withdraw/tasks/{taskId}/result',
|
||||
@@ -259,6 +267,7 @@ test('test_endpoints_frozen_snapshot', () => {
|
||||
taskDelete: '/api/price-track/tasks/{taskId}',
|
||||
tasksBatch: '/api/price-track/tasks/batch',
|
||||
progressBatch: '/api/price-track/tasks/progress/batch',
|
||||
progressLight: '/api/price-track/tasks/progress/light',
|
||||
loopRuns: '/api/price-track/loop-runs',
|
||||
loopRunDetail: '/api/price-track/loop-runs/{loopRunId}',
|
||||
loopRunStop: '/api/price-track/loop-runs/{loopRunId}/stop',
|
||||
@@ -279,6 +288,7 @@ test('test_endpoints_frozen_snapshot', () => {
|
||||
history: '/api/similar-asin/history',
|
||||
historyDelete: '/api/similar-asin/history/{resultId}',
|
||||
progressBatch: '/api/similar-asin/tasks/progress/batch',
|
||||
progressLight: '/api/similar-asin/tasks/progress/light',
|
||||
taskActivate: '/api/similar-asin/tasks/{taskId}/activate',
|
||||
taskDelete: '/api/similar-asin/tasks/{taskId}',
|
||||
resultDownload: '/api/similar-asin/results/{resultId}/download',
|
||||
@@ -291,6 +301,7 @@ test('test_endpoints_frozen_snapshot', () => {
|
||||
history: '/api/appearance-patent/history',
|
||||
historyDelete: '/api/appearance-patent/history/{resultId}',
|
||||
progressBatch: '/api/appearance-patent/tasks/progress/batch',
|
||||
progressLight: '/api/appearance-patent/tasks/progress/light',
|
||||
taskActivate: '/api/appearance-patent/tasks/{taskId}/activate',
|
||||
taskDelete: '/api/appearance-patent/tasks/{taskId}',
|
||||
resultDownload: '/api/appearance-patent/results/{resultId}/download',
|
||||
@@ -302,6 +313,7 @@ test('test_endpoints_frozen_snapshot', () => {
|
||||
history: '/api/collect-data/history',
|
||||
historyDelete: '/api/collect-data/history/{resultId}',
|
||||
progressBatch: '/api/collect-data/tasks/progress/batch',
|
||||
progressLight: '/api/collect-data/tasks/progress/light',
|
||||
taskActivate: '/api/collect-data/tasks/{taskId}/activate',
|
||||
taskDelete: '/api/collect-data/tasks/{taskId}',
|
||||
fail: '/api/collect-data/tasks/{taskId}/fail',
|
||||
|
||||
Reference in New Issue
Block a user