重构(后台金额): 抽出统一的元金额格式化
- shared AdminFormat 新增 formatAdminCurrencyCents(分 → ¥x.xx)并从 components 导出 - AdminUserDetailDialog / AdminMembershipPlanPage / AdminRechargeOrderPage / AdminRechargeProductPage 删除各自重复的 formatMoney/formatPrice - 补充 formatAdminCurrencyCents 单测,避免后台各页面金额格式漂移
This commit is contained in:
@@ -1,6 +1,10 @@
|
||||
import { describe, expect, test } from 'vitest';
|
||||
|
||||
import { formatAdminDate, formatAdminDateTime } from './AdminFormat';
|
||||
import {
|
||||
formatAdminCurrencyCents,
|
||||
formatAdminDate,
|
||||
formatAdminDateTime,
|
||||
} from './AdminFormat';
|
||||
|
||||
describe('formatAdminDateTime', () => {
|
||||
test('把后端的 seconds.microsZ 口径当成同一时刻渲染', () => {
|
||||
@@ -44,3 +48,11 @@ describe('formatAdminDate', () => {
|
||||
expect(formatAdminDate('1791008678.817257Z')).not.toBe('-');
|
||||
});
|
||||
});
|
||||
|
||||
describe('formatAdminCurrencyCents', () => {
|
||||
test('分转成带两位小数的元', () => {
|
||||
expect(formatAdminCurrencyCents(0)).toBe('¥0.00');
|
||||
expect(formatAdminCurrencyCents(600)).toBe('¥6.00');
|
||||
expect(formatAdminCurrencyCents(1234)).toBe('¥12.34');
|
||||
});
|
||||
});
|
||||
|
||||
@@ -54,6 +54,11 @@ export function formatAdminDateTime(
|
||||
}
|
||||
}
|
||||
|
||||
/** 后台统一的金额展示:分 → `¥12.34`;避免各后台页面各自实现导致格式漂移。 */
|
||||
export function formatAdminCurrencyCents(cents: number): string {
|
||||
return `¥${(cents / 100).toFixed(2)}`;
|
||||
}
|
||||
|
||||
/** 后台统一的日期展示(不含时分秒):同样接受 `seconds.microsZ` 口径。 */
|
||||
export function formatAdminDate(
|
||||
value: string | number | Date | null | undefined,
|
||||
|
||||
@@ -19,7 +19,11 @@ export type {
|
||||
AdminFormRowProps,
|
||||
} from './AdminField';
|
||||
export { AdminField, AdminFieldGroup, AdminFormRow } from './AdminField';
|
||||
export { formatAdminDate, formatAdminDateTime } from './AdminFormat';
|
||||
export {
|
||||
formatAdminCurrencyCents,
|
||||
formatAdminDate,
|
||||
formatAdminDateTime,
|
||||
} from './AdminFormat';
|
||||
export type {
|
||||
AdminInfoItemProps,
|
||||
AdminInfoListEntry,
|
||||
|
||||
Reference in New Issue
Block a user