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