打手端流转记录改为后台配置开关控制,默认关闭
- 新增 WORKER_ORDER_TIMELINE_VISIBLE 配置(默认 false):打手端订单详情不展示流转记录 - 打手端 events 接口按开关拦截(关闭时 403) - profile 接口下发 orderTimelineVisible 供前端判断 - 管理端流转记录不受影响,始终可见
This commit is contained in:
@@ -151,6 +151,7 @@ PfQTPNA++KsXtwRX9M6Re3vkTDRsutIIWKtj8jqhUbbYS3vzS8GJnAWavUFVkR15
|
||||
cooldownSeconds: 60,
|
||||
dailyLimit: 10,
|
||||
},
|
||||
orderTimelineVisible: false,
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
@@ -165,6 +165,7 @@ export const ENV_OVERRIDES: readonly EnvOverride[] = [
|
||||
integerEnv('WORKER_SMS_CODE_TTL_SECONDS', ['worker', 'sms', 'codeTtlSeconds']),
|
||||
integerEnv('WORKER_SMS_COOLDOWN_SECONDS', ['worker', 'sms', 'cooldownSeconds']),
|
||||
integerEnv('WORKER_SMS_DAILY_LIMIT', ['worker', 'sms', 'dailyLimit']),
|
||||
booleanEnv('WORKER_ORDER_TIMELINE_VISIBLE', ['worker', 'orderTimelineVisible']),
|
||||
integerEnv('KUAISHOU_FEIFEI_TIMEOUT_MS', ['platforms', 'kuaishouFeifei', 'timeoutMs']),
|
||||
stringEnv('KUAISHOU_FEIFEI_NOTIFY_URL', ['platforms', 'kuaishouFeifei', 'notifyUrl']),
|
||||
kuaishouFeifeiProductRulesEnv('KUAISHOU_FEIFEI_PRODUCT_RULES_JSON', [
|
||||
|
||||
@@ -528,6 +528,7 @@ export async function getWorkerProfile(session: WorkerSession) {
|
||||
},
|
||||
levelProgress,
|
||||
financeConfig,
|
||||
orderTimelineVisible: runtimeConfig.worker.orderTimelineVisible === true,
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1037,6 +1038,12 @@ export async function listWorkerMyOrders(query: JsonObject = {}, session: Worker
|
||||
|
||||
export async function getWorkerMyOrderEvents(workOrderId: number | string, session: WorkerSession) {
|
||||
requireActiveWorkerSession(session)
|
||||
if (runtimeConfig.worker.orderTimelineVisible !== true) {
|
||||
throw createHttpError('流转记录暂未对打手开放', {
|
||||
statusCode: 403,
|
||||
errorCode: 'work_order_events_worker_disabled',
|
||||
})
|
||||
}
|
||||
const workOrder = await getRequiredWorkOrder(workOrderId)
|
||||
const workerId = Number(session.workerId)
|
||||
const sharingShare = await getWorkOrderShare(workOrder.id, workerId)
|
||||
|
||||
@@ -143,6 +143,8 @@ export type RuntimeConfig = {
|
||||
cooldownSeconds: number
|
||||
dailyLimit: number
|
||||
}
|
||||
/** 打手端订单详情是否展示流转记录(默认关闭,仅后台可见) */
|
||||
orderTimelineVisible: boolean
|
||||
}
|
||||
cors: {
|
||||
allowedOrigins: string[]
|
||||
|
||||
@@ -35,6 +35,7 @@ import ImagePreviewList from '@/components/files/ImagePreviewList'
|
||||
import ImageUpload from '@/components/files/ImageUpload'
|
||||
import {
|
||||
fetchWorkerMyOrders,
|
||||
fetchWorkerProfile,
|
||||
saveWorkerAcceptanceDraft,
|
||||
saveWorkerOrderNote,
|
||||
submitWorkerAcceptance,
|
||||
@@ -191,6 +192,14 @@ export default function WorkerOrdersPage() {
|
||||
const pagination = ordersQuery.data?.data.pagination
|
||||
const orders = ordersQuery.data?.data.items || []
|
||||
|
||||
// 流转记录对打手是否可见(后台配置开关,默认关闭)
|
||||
const profileQuery = useQuery({
|
||||
queryKey: ['worker-profile'],
|
||||
queryFn: () => fetchWorkerProfile(),
|
||||
retry: false,
|
||||
})
|
||||
const orderTimelineVisible = profileQuery.data?.data.orderTimelineVisible === true
|
||||
|
||||
const overviewQuery = useQuery({
|
||||
queryKey: ['worker-my-orders-overview'],
|
||||
queryFn: async () => {
|
||||
@@ -1104,13 +1113,14 @@ export default function WorkerOrdersPage() {
|
||||
</Card>
|
||||
) : null}
|
||||
|
||||
<Card title="流转记录" size="small">
|
||||
<WorkOrderEventTimeline orderId={detailOrder.workOrderId} viewer="worker" />
|
||||
</Card>
|
||||
{orderTimelineVisible ? (
|
||||
<Card title="流转记录" size="small">
|
||||
<WorkOrderEventTimeline orderId={detailOrder.workOrderId} viewer="worker" />
|
||||
</Card>
|
||||
) : null}
|
||||
</div>
|
||||
) : null}
|
||||
</Drawer>
|
||||
|
||||
<Modal
|
||||
title={`订单备注 · ${getDisplayOrderNo(noteOrder)}`}
|
||||
open={Boolean(noteOrder)}
|
||||
|
||||
@@ -111,6 +111,8 @@ export type WorkerProfileResponse = {
|
||||
summary: WorkerProfileSummary
|
||||
levelProgress: WorkerLevelProgress | null
|
||||
financeConfig: WorkerFinanceConfig
|
||||
/** 打手端订单详情是否展示流转记录(后台配置开关,默认关闭) */
|
||||
orderTimelineVisible?: boolean
|
||||
}
|
||||
|
||||
export type WorkerLevel = {
|
||||
|
||||
Reference in New Issue
Block a user