feat(media-supply): add media resource supply marketplace
Desktop Client Build / Resolve Build Metadata (push) Successful in 43s
Frontend CI / Frontend (push) Successful in 3m49s
Backend CI / Backend (push) Failing after 7m10s
Desktop Client Build / Build Desktop Client (push) Successful in 23m4s
Desktop Client Build / Publish Client Artifacts to NAS (push) Successful in 28s

Introduce an end-to-end media-supply feature: tenant-side resource sync
service/worker backed by a Meijiequan supplier client, ops-side management
APIs, and admin/ops web views for resources, orders, favorites and
submission. Adds a shared digitocr helper, MediaSupply config blocks for
tenant and ops, shared types, and migrations for supplier media resources,
price overrides, customer visibility and order refunds.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-05-29 23:17:01 +08:00
parent 607a3fffe7
commit 9d6181260a
121 changed files with 14909 additions and 36 deletions
+32
View File
@@ -255,3 +255,35 @@ browser_fetch:
- 502
- 503
- 504
media_supply:
enabled: true
default_markup_percent: 50
minimum_markup_cents: 0
worker:
enabled: true
poll_interval: 5s
batch_size: 1
order_max_attempts: 3
sync_max_attempts: 2
backlink_sync_interval: 10m
backlink_batch_size: 20
meijiequan:
base_url: http://www.meijiequan.com
# 建议用环境变量注入,或放到未入库的 configs/config.local.yaml
# export MEIJIEQUAN_USER_ID=962
# export MEIJIEQUAN_USERNAME=your-phone
# export MEIJIEQUAN_PASSWORD=your-password
user_id: ""
username: ""
password: ""
session_ttl: 4h
request_timeout: 30s
sync_page_delay: 800ms
sync_page_size: 100
max_sync_pages: 200
published_page_size: 20
published_max_pages: 3
search_options_ttl: 12h
upstream_lock_ttl: 2m
upstream_min_interval: 800ms
+29 -2
View File
@@ -187,7 +187,7 @@ auth:
private_key_pem: ""
log:
level: debug,info,warn,error
level: info
format: json
# https://console.volcengine.com/ark/region:ark+cn-beijing/model/detail?Id=doubao-seed-2-0-pro
@@ -261,4 +261,31 @@ browser_fetch:
- 502
- 503
- 504
media_supply:
enabled: true
default_markup_percent: 50
minimum_markup_cents: 0
worker:
enabled: true
poll_interval: 5s
batch_size: 1
order_max_attempts: 3
sync_max_attempts: 2
backlink_sync_interval: 30m
backlink_batch_size: 20
meijiequan:
base_url: http://www.meijiequan.com
user_id: ""
username: "17788409108"
password: "happy114"
session_ttl: 4h
request_timeout: 30s
sync_page_delay: 800ms
sync_page_size: 100
max_sync_pages: 200
published_page_size: 20
published_max_pages: 3
search_options_ttl: 12h
upstream_lock_ttl: 2m
upstream_min_interval: 800ms
+24
View File
@@ -78,6 +78,30 @@ default_admin:
admin_users:
default_plan_code: free
media_supply:
enabled: true
default_markup_percent: 50
minimum_markup_cents: 0
worker:
enabled: true
poll_interval: 5s
batch_size: 1
order_max_attempts: 3
sync_max_attempts: 2
meijiequan:
base_url: http://www.meijiequan.com
user_id: ""
username: "17788409108"
password: "happy114"
session_ttl: 4h
request_timeout: 30s
sync_page_delay: 800ms
sync_page_size: 100
max_sync_pages: 200
search_options_ttl: 6h
upstream_lock_ttl: 30s
upstream_min_interval: 2s
ip_region:
# 可选外部 xdb 路径;文件不存在时自动使用二进制 embed 内置数据。
v4_xdb_path: ""