hejianhao
2026-02-06 6a5a3a41d3744d2631a0dc58eefd0562391233aa
fix: 修复资产导入路径大小写及添加页面导航功能

- 修正 `subtract.png` 导入路径的大小写错误,确保在区分大小写的文件系统中正常加载
- 在首页、路线选择页和开始路线页为优惠券和订单图标添加点击导航功能
- 在车辆呼叫组件中增加费用说明页面导航
- 调整状态轮询间隔从3秒至5秒以优化性能
- 修复后备箱和车门锁状态图标显示逻辑错误
6个文件已修改
75 ■■■■■ 已修改文件
src/pages/robotaxi/home/index.tsx 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/robotaxi/pages/begin-route/components/calling-car.tsx 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/robotaxi/pages/begin-route/index.tsx 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/robotaxi/pages/expense-description/index.tsx 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/robotaxi/pages/expense-detail/index.tsx 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/robotaxi/pages/select-map-site/index.tsx 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/pages/robotaxi/home/index.tsx
@@ -384,6 +384,18 @@
    })
  }
  const toCoupon = () => {
    Taro.navigateTo({
      url: '/robotaxi/pages/coupon/index',
    })
  }
  const toOrder = () => {
    Taro.navigateTo({
      url: '/robotaxi/pages/order/index',
    })
  }
  return (
    <View className="home-container">
      <Map
@@ -405,9 +417,9 @@
        <View className="map-entry">
          <Image onClick={openService} className="map-entry-icon" src={contactService} />
          <View className="split-line"></View>
          <Image className="map-entry-icon" src={coupon} />
          <Image onClick={toCoupon} className="map-entry-icon" src={coupon} />
          <View className="split-line"></View>
          <Image className="map-entry-icon" src={suggest} />
          <Image onClick={toOrder} className="map-entry-icon" src={suggest} />
        </View>
        {/* 指针 */}
        <View className="pointer-box">
src/robotaxi/pages/begin-route/components/calling-car.tsx
@@ -1,3 +1,4 @@
import Taro, { useDidShow } from "@tarojs/taro";
import { View, Image, Text } from "@tarojs/components";
import './css-folder/calling-car.less'
import { useState, useEffect, useRef } from "react";
@@ -39,7 +40,7 @@
                if (updateStatusRef.current) {
                    updateStatusRef.current();
                }
            }, 3000);
            }, 5000);
        }
        return () => {
            if (timer) clearInterval(timer);
@@ -71,6 +72,12 @@
        if (index == 1) {
            handleOpenEvaluatePopup?.()
        }
    }
    const toExplainDetail = () => {
        Taro.navigateTo({
            url: '/robotaxi/pages/expense-description/index',
        })
    }
    return (
@@ -125,18 +132,18 @@
                            <View className="car-card-arrive-item" onClick={() => setTrunkStatus(!trunkStatus)}>
                                {
                                    trunkStatus ?
                                        <Image className="car-card-arrive-item-img" src={require('../../../assets/trunk-close.png')} />
                                        :
                                        <Image className="car-card-arrive-item-img" src={require('../../../assets/trunk-open.png')} />
                                        :
                                        <Image className="car-card-arrive-item-img" src={require('../../../assets/trunk-close.png')} />
                                }
                                <View className="car-card-arrive-item-text">{trunkStatus ? '关闭后备箱' : '打开后备箱'}</View>
                            </View>
                            <View className="car-card-arrive-item" onClick={() => setLockStatus(!lockStatus)}>
                                {
                                    lockStatus ?
                                        <Image className="car-card-arrive-item-img" src={require('../../../assets/lock-close.png')} />
                                        :
                                        <Image className="car-card-arrive-item-img" src={require('../../../assets/lock-open.png')} />
                                        :
                                        <Image className="car-card-arrive-item-img" src={require('../../../assets/lock-close.png')} />
                                }
                                <View className="car-card-arrive-item-text">{lockStatus ? '加锁车门' : '解锁车门'}</View>
                            </View>
@@ -207,7 +214,7 @@
                                <View className="car-card-end-cost-money">
                                    全程2.8公里|10分钟
                                </View>
                                <View className="car-card-end-cost-view">
                                <View onClick={toExplainDetail} className="car-card-end-cost-view">
                                    <View>费用说明</View>
                                    <Image src={require('../../../assets/ccc-icon-right.png')} />
                                </View>
@@ -230,9 +237,9 @@
                        <View className="car-card-reach-btn-item" onClick={() => setTrunkStatus(!trunkStatus)}>
                            {
                                trunkStatus ?
                                    <Image className="car-card-reach-btn-item-img" src={require('../../../assets/trunk-close.png')} />
                                    :
                                    <Image className="car-card-reach-btn-item-img" src={require('../../../assets/trunk-open.png')} />
                                    :
                                    <Image className="car-card-reach-btn-item-img" src={require('../../../assets/trunk-close.png')} />
                            }
                            <View className="car-card-reach-btn-item-text">{trunkStatus ? '关闭后备箱' : '打开后备箱'}</View>
                        </View>
src/robotaxi/pages/begin-route/index.tsx
@@ -334,6 +334,18 @@
    toSelectSite(markerId);
  }
  const toCoupon = () => {
    Taro.navigateTo({
      url: '/robotaxi/pages/coupon/index',
    })
  }
  const toOrder = () => {
    Taro.navigateTo({
      url: '/robotaxi/pages/order/index',
    })
  }
  return (
    <View className="home-container">
      <Map
@@ -406,9 +418,9 @@
        <View className="map-entry">
          <Image onClick={openService} className="map-entry-icon" src={contactService} />
          <View className="split-line"></View>
          <Image className="map-entry-icon" src={coupon} />
          <Image onClick={toCoupon} className="map-entry-icon" src={coupon} />
          <View className="split-line"></View>
          <Image className="map-entry-icon" src={suggest} />
          <Image onClick={toOrder} className="map-entry-icon" src={suggest} />
        </View>
        <View className="container">
          <View className="container-inner">
src/robotaxi/pages/expense-description/index.tsx
@@ -2,7 +2,7 @@
import { Component, useState, useEffect } from 'react';
import { View, Text, Image, Input } from '@tarojs/components';
import './index.less';
import Subtract from '../../assets/subtract.png';
import Subtract from '../../assets/Subtract.png';
import more from '../../assets/more.png';
// FAQ数据
src/robotaxi/pages/expense-detail/index.tsx
@@ -2,7 +2,7 @@
import { Component, useState, useEffect } from 'react';
import { View, Text, Image, Input } from '@tarojs/components';
import './index.less';
import Subtract from '../../assets/subtract.png';
import Subtract from '../../assets/Subtract.png';
export default function OrderPage() {
src/robotaxi/pages/select-map-site/index.tsx
@@ -242,6 +242,18 @@
    setSelectedSite({ name: item })
  }
  const toCoupon = () => {
    Taro.navigateTo({
      url: '/robotaxi/pages/coupon/index',
    })
  }
  const toOrder = () => {
    Taro.navigateTo({
      url: '/robotaxi/pages/order/index',
    })
  }
  return (
    <View className="home-container">
      <Map
@@ -262,9 +274,9 @@
        <View className="map-entry">
          <Image onClick={openService} className="map-entry-icon" src={contactService} />
          <View className="split-line"></View>
          <Image className="map-entry-icon" src={coupon} />
          <Image onClick={toCoupon} className="map-entry-icon" src={coupon} />
          <View className="split-line"></View>
          <Image className="map-entry-icon" src={suggest} />
          <Image onClick={toOrder} className="map-entry-icon" src={suggest} />
        </View>
        {/* 指针 */}
        <View className="pointer-box">