Kaynağa Gözat

路口相位图mock数据固定为标准四相位:P1南北直行、P2南北左转、P3东西直行、P4东西左转,去除随机图标选取逻辑

画安 2 hafta önce
ebeveyn
işleme
77ad6a8459
1 değiştirilmiş dosya ile 9 ekleme ve 18 silme
  1. 9 18
      src/mock/api.js

+ 9 - 18
src/mock/api.js

@@ -154,31 +154,22 @@ function _makePhaseData(cycleLength = 140, isTwoRows = true) {
   // 修改点:将单个图标改为用逗号分隔的"成对图标"字符串
   // 前端组件会按逗号切割并分别放到对角位置
   // ==========================================
-  const iconsUD = [
-    'STRAIGHT_DOWN,STRAIGHT_UP',                 // 南北直行对放
-    'TURN_DOWN_LEFT,TURN_UP_LEFT',               // 南北左转对放
-    'TURN_DOWN_LEFT_UTURN,TURN_UP_LEFT_UTURN'    // 南北左转+掉头对放
-  ]; 
-  const iconsLR = [
-    'STRAIGHT_LEFT,STRAIGHT_RIGHT',              // 东西直行对放
-    'TURN_LEFT_DOWN,TURN_RIGHT_UP',              // 东西左转对放
-    'TURN_LEFT_DOWN_UTURN,TURN_RIGHT_UP_UTURN'   // 东西左转+掉头对放
+  // 固定4个阶段的图标和方向:P1南北直行、P2南北左转、P3东西直行、P4东西左转
+  const phaseConfig = [
+    { icon: 'STRAIGHT_DOWN,STRAIGHT_UP', direction: 'ns' },       // P1: 南北直行
+    { icon: 'TURN_DOWN_LEFT,TURN_UP_LEFT', direction: 'ns' },     // P2: 南北左转
+    { icon: 'STRAIGHT_LEFT,STRAIGHT_RIGHT', direction: 'ew' },    // P3: 东西直行
+    { icon: 'TURN_LEFT_DOWN,TURN_RIGHT_UP', direction: 'ew' },    // P4: 东西左转
   ];
 
-  const getRandomIcon = (pool) => pool[Math.floor(Math.random() * pool.length)];
-
-  let t = 0; 
+  let t = 0;
   for (let i = 0; i < n; i++) {
     const stageStart = t;
     const stageEnd = stageStart + stageTime;
-    const currentIconPool = (i < 2) ? iconsUD : iconsLR;
+    const { icon: stageIcon, direction } = phaseConfig[i];
 
-    // 辅助函数:生成单条轨道的一个阶段
-    // 第8列 [7] 标记方向: 'ns'(南北) 或 'ew'(东西)
-    const direction = (i < 2) ? 'ns' : 'ew';
     const pushTrackData = (trackIdx, phaseNamePrefix) => {
-      // 这里的 icon 现在抽出来的是诸如 "STRAIGHT_DOWN,STRAIGHT_UP" 的字符串
-      const icon = getRandomIcon(currentIconPool);
+      const icon = stageIcon;
       const phaseName = `${phaseNamePrefix}${i + 1}`;
       const g = Math.floor(Math.random() * 11) + 20; // 绿灯 20-30s
       const s = 3; // 闪烁/条纹 3s