fix:修改常量为单独文件

This commit is contained in:
clz
2026-07-21 19:46:02 +08:00
parent ad900489f5
commit 9f6a0c642b
2 changed files with 11 additions and 10 deletions
@@ -1,6 +1,7 @@
import { PeriodRange, RankItem, TabMetric } from './MarketRankingTypes';
import { MarketRankingModel } from './MarketRankingModel';
import { formatGreatNumber, formatPercent, riseFallColor } from '../common/NumberFormat';
import { PERIOD_RANGES, TAB_METRICS } from './MarketRankingConstant';
const NORMAL_SIZE = 3;
const MAX_SIZE = 5;
@@ -15,9 +16,9 @@ export struct MarketRanking {
// 第三列标题随 Tab 变化
private thirdColumnTitle(): string {
const metric = this.vm.tabMetrics[this.primaryIdx];
const metric = TAB_METRICS[this.primaryIdx];
if (metric.hasChildren) {
return `${this.vm.periodRanges[this.secondaryIdx].label}${metric.label}`;
return `${PERIOD_RANGES[this.secondaryIdx].label}${metric.label}`;
}
if (metric.id === 'rise' || metric.id === 'fall') {
return '涨跌幅';
@@ -27,13 +28,13 @@ export struct MarketRanking {
// 成交额/日增仓列用中性色,其余按涨跌上色
private isNeutralColumn(): boolean {
const id = this.vm.tabMetrics[this.primaryIdx].id;
const id = TAB_METRICS[this.primaryIdx].id;
return id === 'turnOver' || id === 'increPosit';
}
// 第三列展示值:按当前一级 Tab 从对应原始字段取值并格式化
private thirdColumnValue(item: RankItem): string {
const id = this.vm.tabMetrics[this.primaryIdx].id;
const id = TAB_METRICS[this.primaryIdx].id;
if (id === 'turnOver') {
return formatGreatNumber(item.turnover);
}
@@ -51,7 +52,7 @@ export struct MarketRanking {
if (this.isNeutralColumn()) {
return $r('app.color.text_primary');
}
const id = this.vm.tabMetrics[this.primaryIdx].id;
const id = TAB_METRICS[this.primaryIdx].id;
const raw = id === 'riseSpeed' || id === 'fallSpeed' ? item.chg_speed : item.price_chg;
return riseFallColor(raw);
}
@@ -83,7 +84,7 @@ export struct MarketRanking {
// 一级 Tab(胶囊按钮,可横向滚动)
Scroll() {
Row({ space: 8 }) {
ForEach(this.vm.tabMetrics, (metric: TabMetric, index: number) => {
ForEach(TAB_METRICS, (metric: TabMetric, index: number) => {
Text(metric.label)
.fontSize(14)
.fontWeight(this.primaryIdx === index ? FontWeight.Bold : FontWeight.Normal)
@@ -108,9 +109,9 @@ export struct MarketRanking {
.align(Alignment.Start)
// 二级 Tab(仅涨速/跌速出现,右对齐文字 + 分隔线)
if (this.vm.tabMetrics[this.primaryIdx].hasChildren) {
if (TAB_METRICS[this.primaryIdx].hasChildren) {
Row() {
ForEach(this.vm.periodRanges, (period: PeriodRange, index: number) => {
ForEach(PERIOD_RANGES, (period: PeriodRange, index: number) => {
if (index !== 0) {
Divider()
.vertical(true)
@@ -6,8 +6,8 @@ import { MOCK_RANK_LISTS, MOCK_SPEED_LISTS } from './MarketRankingMock';
// 状态持有 + 编排类;
@Observed
export class MarketRankingModel {
tabMetrics: TabMetric[] = TAB_METRICS;
periodRanges: PeriodRange[] = PERIOD_RANGES;
private tabMetrics: TabMetric[] = TAB_METRICS;
private periodRanges: PeriodRange[] = PERIOD_RANGES;
rankLists: RankItem[][] = MOCK_RANK_LISTS;
speedLists: RankItem[][][] = MOCK_SPEED_LISTS;