Przeglądaj źródła

fix(billing): 修复 Claude 计费明细未应用用户渠道折扣的问题

renderClaudeModelPrice 函数缺少 userChannelRatio 参数声明,导致运行时
ReferenceError;同时价格计算未乘以用户倍率,明细文本也未显示折扣信息。

Co-Authored-By: Claude Sonnet 4 <noreply@anthropic.com>
master
fengsilin 3 dni temu
rodzic
commit
f9eeb7e47e
1 zmienionych plików z 7 dodań i 3 usunięć
  1. +7
    -3
      web/src/helpers/render.jsx

+ 7
- 3
web/src/helpers/render.jsx Wyświetl plik

@@ -1893,6 +1893,7 @@ export function renderClaudeModelPrice(
cacheCreationRatio5m = 1.0,
cacheCreationTokens1h = 0,
cacheCreationRatio1h = 1.0,
userChannelRatio,
) {
const { ratio: effectiveGroupRatio, label: ratioLabel } = getEffectiveRatio(
groupRatio,
@@ -1950,9 +1951,11 @@ export function renderClaudeModelPrice(
cacheCreationTokens5m * cacheCreationRatio5m +
cacheCreationTokens1h * cacheCreationRatio1h;

const userRatio = userChannelRatio ?? 1.0;
let price =
(effectiveInputTokens / 1000000) * inputRatioPrice * groupRatio +
(completionTokens / 1000000) * completionRatioPrice * groupRatio;
((effectiveInputTokens / 1000000) * inputRatioPrice * groupRatio +
(completionTokens / 1000000) * completionRatioPrice * groupRatio) *
userRatio;

const inputUnitPrice = inputRatioPrice * rate;
const completionUnitPrice = completionRatioPrice * rate;
@@ -2132,11 +2135,12 @@ export function renderClaudeModelPrice(
<p></p>
<p>
{i18next.t(
'{{breakdown}} * {{ratioType}} {{ratio}} = {{symbol}}{{total}}',
'{{breakdown}} * {{ratioType}} {{ratio}}{{userRatioText}} = {{symbol}}{{total}}',
{
breakdown: breakdownText,
ratioType: ratioLabel,
ratio: groupRatio,
userRatioText: userRatio !== 1.0 ? i18next.t(' * 用户倍率 {{userRatio}}', { userRatio }) : '',
symbol: symbol,
total: (price * rate).toFixed(6),
},


Ładowanie…
Anuluj
Zapisz