hejianhao
2026-06-02 a21e83743462a885bba733941e51bb8a975c0e9f
refactor(robotaxi/隐私弹窗): 为组件类名添加 rt- 前缀

该修改仅为所有CSS类名添加rt命名空间前缀以避免全局样式冲突,未变更组件的任何功能逻辑。
2个文件已修改
58 ■■■■■ 已修改文件
src/pages/robotaxi/home/components/privacy-popup/index.less 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/pages/robotaxi/home/components/privacy-popup/index.tsx 32 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/pages/robotaxi/home/components/privacy-popup/index.less
@@ -1,4 +1,4 @@
.privacy-popup {
.rt-privacy-popup {
  position: fixed;
  top: 0;
  left: 0;
@@ -9,7 +9,7 @@
  align-items: center;
  justify-content: center;
  .privacy-mask {
  .rt-privacy-mask {
    position: absolute;
    top: 0;
    left: 0;
@@ -18,14 +18,14 @@
    background: rgba(0, 0, 0, 0.5);
  }
  .privacy-content {
  .rt-privacy-content {
    position: relative;
    background: #ffffff;
    padding: 56px 40px 40px 40px;
    border-radius: 32px;
    margin: 0 75px;
    .title {
    .rt-title {
      margin-bottom: 34px;
      text-align: center;
      font-size: 36px;
@@ -35,7 +35,7 @@
      color: rgba(0, 0, 0, 0.9);
    }
    .privacy-text {
    .rt-privacy-text {
      font-size: 28px;
      font-weight: normal;
      line-height: 48px;
@@ -43,28 +43,28 @@
      color: rgba(0, 0, 0, 0.9);
      margin-bottom: 0;
      .txt-tip {
      .rt-txt-tip {
        margin-top: 24px;
      }
    }
    .privacy-link {
    .rt-privacy-link {
      margin-top: 16px;
      .link-item {
      .rt-link-item {
        display: flex;
        align-items: flex-start;
        margin-bottom: 8px;
      }
      .item-radio {
      .rt-item-radio {
        flex-shrink: 0;
        width: 36px;
        height: 36px;
        margin-right: 14px;
      }
      .item-name {
      .rt-item-name {
        flex: 1;
        font-size: 24px;
        font-weight: normal;
@@ -76,7 +76,7 @@
      }
    }
    .agree-btn {
    .rt-agree-btn {
      margin: 0 auto;
      margin-top: 30px;
      width: 472px;
@@ -90,11 +90,11 @@
      color: #FFFFFF;
    }
    .btn-no-agree {
    .rt-btn-no-agree {
      background: rgba(0, 0, 0, 0.1);
    }
    .close-txt {
    .rt-close-txt {
      text-align: center;
      margin-top: 40px;
      font-size: 28px;
src/pages/robotaxi/home/components/privacy-popup/index.tsx
@@ -135,40 +135,40 @@
  if (!visible) return null;
  return (
    <View className='privacy-popup' catchMove>
      <View className='privacy-mask'></View>
      <View className='privacy-content' animation={animationData}>
        <View className='title'>用户协议与隐私政策</View>
    <View className='rt-privacy-popup' catchMove>
      <View className='rt-privacy-mask'></View>
      <View className='rt-privacy-content' animation={animationData}>
        <View className='rt-title'>用户协议与隐私政策</View>
        <View className='privacy-text'>
          <Text className='text-content'>
        <View className='rt-privacy-text'>
          <Text className='rt-text-content'>
            欢迎使用小鹏Robotaxi小程序!为了更好地保障您的个人权益,我们将通过 {agreementNamesText || ''} 等文档来保护您的个人信息。
          </Text>
          <View className='txt-tip'>我已满十四周岁,阅读并同意:</View>
          <View className='rt-txt-tip'>我已满十四周岁,阅读并同意:</View>
        </View>
        <View className='privacy-link'>
        <View className='rt-privacy-link'>
          {
            agreementList.map((item) => (
              <View className='link-item' key={String(item.id)}>
                <Image onClick={checkItem(String(item.id))} className='item-radio' src={isAgree[String(item.id)] ? 'https://s.xiaopeng.com/xp-fe/robot-taxi/imgs/check.png' : 'https://s.xiaopeng.com/xp-fe/robot-taxi/imgs/uncheck.png'}
              <View className='rt-link-item' key={String(item.id)}>
                <Image onClick={checkItem(String(item.id))} className='rt-item-radio' src={isAgree[String(item.id)] ? 'https://s.xiaopeng.com/xp-fe/robot-taxi/imgs/check.png' : 'https://s.xiaopeng.com/xp-fe/robot-taxi/imgs/uncheck.png'}
                  mode='aspectFill' />
                <View className='item-name' onClick={() => handleLinkClick(item.id)}>《 {item.name} 》</View>
                <View className='rt-item-name' onClick={() => handleLinkClick(item.id)}>《 {item.name} 》</View>
              </View>
            ))
          }
          <View className='link-item'>
            <Image onClick={checkAll} className='item-radio' src={isAllAgree ? 'https://s.xiaopeng.com/xp-fe/robot-taxi/imgs/check.png' : 'https://s.xiaopeng.com/xp-fe/robot-taxi/imgs/uncheck.png'}
          <View className='rt-link-item'>
            <Image onClick={checkAll} className='rt-item-radio' src={isAllAgree ? 'https://s.xiaopeng.com/xp-fe/robot-taxi/imgs/check.png' : 'https://s.xiaopeng.com/xp-fe/robot-taxi/imgs/uncheck.png'}
              mode='aspectFill' />
            <View onClick={checkAll} className='item-name'>全部勾选</View>
            <View onClick={checkAll} className='rt-item-name'>全部勾选</View>
          </View>
        </View>
        <View className={'agree-btn ' + (!isAllAgree && 'btn-no-agree')} onClick={handleAgree}>
        <View className={`rt-agree-btn ${!isAllAgree ? 'rt-btn-no-agree' : ''}`} onClick={handleAgree}>
          同意并进入
        </View>
        <View className='close-txt' onClick={handleClose}>暂不同意,留在游客模式</View>
        <View className='rt-close-txt' onClick={handleClose}>暂不同意,留在游客模式</View>
      </View>
    </View>
  )