feat(worker-platform): 增加寄卖白名单总开关,关闭后全员可发布

资金配置与打手列表可一键切换白名单模式;发布校验、打手端入口按总开关放行。同时收紧未开通判定、关权限确认和开通弹窗文案。

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
yml2213
2026-09-21 14:23:00 +08:00
co-authored by Cursor
parent 937e51db6b
commit 9298b31b9b
17 changed files with 342 additions and 56 deletions
@@ -0,0 +1,26 @@
import assert from 'node:assert/strict'
import test from 'node:test'
import { canWorkerPublishConsignment } from './consignment-whitelist.js'
test('白名单关闭时所有打手都能发布寄卖', () => {
assert.equal(
canWorkerPublishConsignment({ whitelistEnabled: false, workerCanConsign: false }),
true,
)
assert.equal(
canWorkerPublishConsignment({ whitelistEnabled: false, workerCanConsign: true }),
true,
)
})
test('白名单开启时仅开通权限的打手能发布', () => {
assert.equal(
canWorkerPublishConsignment({ whitelistEnabled: true, workerCanConsign: false }),
false,
)
assert.equal(
canWorkerPublishConsignment({ whitelistEnabled: true, workerCanConsign: true }),
true,
)
})
@@ -0,0 +1,12 @@
/**
* 寄卖白名单总开关。
*
* 开启:只有 worker.can_consign 的打手能发布新寄卖。
* 关闭:所有打手都能发布;打手身上的白名单标记仍保留,方便再次开启。
*/
export function canWorkerPublishConsignment(input: {
whitelistEnabled: boolean
workerCanConsign: boolean
}): boolean {
return !input.whitelistEnabled || input.workerCanConsign
}