diff --git a/src/app/(main)/config/GuideVideoConfig.tsx b/src/app/(main)/config/GuideVideoConfig.tsx index 706a636..c6cd7d8 100644 --- a/src/app/(main)/config/GuideVideoConfig.tsx +++ b/src/app/(main)/config/GuideVideoConfig.tsx @@ -1,7 +1,18 @@ 'use client'; import { useEffect, useState } from 'react'; -import { Button, Card, InputNumber, Space, Spin, Switch, Tag, Typography, Upload, message } from 'antd'; +import { + Button, + Card, + InputNumber, + Space, + Spin, + Switch, + Tag, + Typography, + Upload, + message, +} from 'antd'; import { DeleteOutlined, UploadOutlined } from '@ant-design/icons'; import { api, errMsg } from '@/lib/api'; import { canDo } from '@/lib/auth'; @@ -38,7 +49,9 @@ function SceneConfig({ scene }: { scene: Scene }) { const load = async () => { setLoading(true); try { - const { data } = await api.get('/admin/api/guide-video', { params: { scene } }); + const { data } = await api.get('/admin/api/guide-video', { + params: { scene }, + }); sync(data); } catch (e) { message.error(errMsg(e)); @@ -56,7 +69,11 @@ function SceneConfig({ scene }: { scene: Scene }) { try { const { data } = await api.patch( '/admin/api/guide-video', - { enabled, max_plays: maxPlays, reward_coin: rewardCoin }, + { + enabled, + reward_coin: rewardCoin, + ...(scene === 'comparison' ? { max_plays: maxPlays } : {}), + }, { params: { scene } }, ); sync(data); @@ -121,11 +138,20 @@ function SceneConfig({ scene }: { scene: Scene }) { size="small" title={meta.title} style={{ marginBottom: 16 }} - extra={cfg?.updated_at ? 更新于 {new Date(cfg.updated_at).toLocaleString('zh-CN')} : null} + extra={ + cfg?.updated_at ? ( + + 更新于 {new Date(cfg.updated_at).toLocaleString('zh-CN')} + + ) : null + } >

- Android 用户点击「{meta.action}」后,前若干次在等候浮层广告位播放本视频并奖励金币。 - 次数按账号、按功能分别计算;开播即计次,播完或中途关闭均发放当次配置的金币。 + Android 用户点击「{meta.action}」后,前 {cfg?.max_plays ?? 3}{' '} + 次在等候浮层广告位播放本视频并奖励金币。次数按账号、按功能分别计算; + 开播即计次,播完或中途关闭均发放当次配置的金币。 + {scene === 'coupon' && + '领券引导视频的播放次数上限请在「监控审计 → 限制策略」中调整。'}

{loading || !cfg ? ( @@ -137,10 +163,24 @@ function SceneConfig({ scene }: { scene: Scene }) {