fix(web): show video pricing basis in model card title
This commit is contained in:
parent
483f3ab1f5
commit
4c2de4b4c9
@ -127,6 +127,7 @@ function FilterIcon(props: { item: ModelCatalogFilterOption }) {
|
||||
|
||||
function ModelCard(props: { model: ModelCatalogItem }) {
|
||||
const description = props.model.description || '暂无模型描述';
|
||||
const pricing = modelCardPricing(props.model.pricing);
|
||||
return (
|
||||
<Card className="modelCard">
|
||||
<CardContent>
|
||||
@ -164,8 +165,8 @@ function ModelCard(props: { model: ModelCatalogItem }) {
|
||||
</dd>
|
||||
</div>
|
||||
<div className="modelCardFactFull">
|
||||
<dt>模型定价</dt>
|
||||
<dd title={props.model.pricing.title}>{props.model.pricing.lines.join(';')}</dd>
|
||||
<dt>{pricing.label}</dt>
|
||||
<dd title={pricing.title}>{pricing.lines.join(';')}</dd>
|
||||
</div>
|
||||
</dl>
|
||||
</CardContent>
|
||||
@ -173,6 +174,31 @@ function ModelCard(props: { model: ModelCatalogItem }) {
|
||||
);
|
||||
}
|
||||
|
||||
function modelCardPricing(pricing: ModelCatalogItem['pricing']) {
|
||||
const hasFiveSecondBasis = pricing.lines.some((line) => line.includes('5秒基准'));
|
||||
if (!hasFiveSecondBasis) {
|
||||
return {
|
||||
label: '模型定价',
|
||||
lines: pricing.lines,
|
||||
title: pricing.title,
|
||||
};
|
||||
}
|
||||
const lines = pricing.lines.map(stripFiveSecondBasis).filter(Boolean);
|
||||
const title = stripFiveSecondBasis(pricing.title || pricing.lines.join(';'));
|
||||
return {
|
||||
label: '模型定价(每5秒)',
|
||||
lines: lines.length ? lines : pricing.lines,
|
||||
title: title || pricing.title,
|
||||
};
|
||||
}
|
||||
|
||||
function stripFiveSecondBasis(value: string) {
|
||||
return value
|
||||
.replace(/(5秒基准)/g, '')
|
||||
.replace(/\s*\/\s*5秒基准/g, '')
|
||||
.trim();
|
||||
}
|
||||
|
||||
function PermissionValue(props: { permission: ModelCatalogPermission }) {
|
||||
const allowGroups = props.permission.allowGroups ?? [];
|
||||
const denyGroups = props.permission.denyGroups ?? [];
|
||||
|
||||
Loading…
Reference in New Issue
Block a user