hejianhao
2026-04-02 bc8e8d115500fba4487bbeb818104dedf9ad25dd
docs(robotaxi): 更新隐私协议和相关文案以符合新规范

- 更新协议类型枚举注释,增加运维APP相关协议类型
- 调整乘客须知页面标题映射,移除旧协议,增加新协议
- 修改隐私弹窗协议列表,更新协议名称和对应ID
- 更新协议页面列表项,调整协议名称和跳转类型
4个文件已修改
35 ■■■■■ 已修改文件
src/pages/robotaxi/home/components/privacy-popup/index.tsx 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/robotaxi/api/home.ts 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/robotaxi/pages/agreement-page/index.tsx 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/robotaxi/pages/passenger-notice/index.tsx 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/pages/robotaxi/home/components/privacy-popup/index.tsx
@@ -18,14 +18,15 @@
  const [visible, setVisible] = useState(false);
  const [animationData, setAnimationData] = useState<any>();
  const [isAgree, setIsAgree] = useState({
    0: false,
    1: false,
    2: false,
    3: false,
    4: false,
    7: false,
  });
  const [isAllAgree, setIsAllAgree] = useState(false);
  const AGREE_NAME = ['用户服务协议', '小鹏Robotaxi 平台隐私政策', '关于小鹏Robotaxi平台敏感个人信息处理情况的说明', '关于小鹏Robotaxi平台向第三方提供个人信息情况的说明']
  const AGREE_NAME = ['小鹏Robotaxi隐私政策', '个人信息收集清单', '第三方共享信息清单', '小鹏Robotaxi录音录像及个人信息采集单独告知书', '权限说明']
  useEffect(() => {
    if (show && !visible) {
@@ -94,10 +95,11 @@
  const checkAll = () => {
    setIsAllAgree(!isAllAgree);
    setIsAgree({
      0: !isAllAgree,
      1: !isAllAgree,
      2: !isAllAgree,
      3: !isAllAgree,
      4: !isAllAgree,
      7: !isAllAgree,
    })
  }
@@ -122,7 +124,7 @@
              <View className='link-item' key={key}>
                <Image onClick={checkItem(key)} className='item-radio' src={isAgree[key] ? check : uncheck}
                  mode='aspectFill' />
                <View className='item-name' onClick={() => handleLinkClick(Number(key) + 1)}>《 {AGREE_NAME[key]} 》</View>
                <View className='item-name' onClick={() => handleLinkClick(Number(key))}>《 {AGREE_NAME[key]} 》</View>
              </View>
            ))
          }
src/robotaxi/api/home.ts
@@ -36,7 +36,7 @@
    }, true);
}
// 获取协议 1=用户服务协议 2=平台隐私政策 3=敏感个人信息处理情况说明 4=向第三方提供个人信息情况的说明 5=乘车须知 6=计费规则说明
// 获取协议 1=小鹏Robotaxi隐私政策 2=个人信息收集清单 3=第三方共享信息清单 4=小鹏Robotaxi录音录像及个人信息采集单独告知书5=乘车须知 6=计费规则说明 7=权限说明 8=运维APP-小鹏Robotaxi自动驾驶出行运维隐私政策 9=运维APP-第三方共享信息清单 10=运维APP-个人信息收集清单 11=运维APP-权限调用
export const getPrivacyContent = async (type) => {
    return request({
        url: _ROBOTAXI_HOST + `/operation/base/v1/mini-program/privacy/content/${type}`,
src/robotaxi/pages/agreement-page/index.tsx
@@ -14,25 +14,29 @@
  return (
    <View className='agreement-page'>
      <View onClick={() => skipToNotice(1)} className='agreement-item' hoverClass='common-hover-class'>
        <View className='agreement-item-title'>用户服务协议</View>
        <View className='agreement-item-title'>小鹏Robotaxi隐私政策</View>
        <Image className='agreement-item-icon' src={require('../../assets/skip-arrows.png')} />
      </View>
      <View onClick={() => skipToNotice(2)} className='agreement-item' hoverClass='common-hover-class'>
        <View className='agreement-item-title'>平台隐私政策</View>
        <View className='agreement-item-title'>个人信息收集清单</View>
        <Image className='agreement-item-icon' src={require('../../assets/skip-arrows.png')} />
      </View>
      <View onClick={() => skipToNotice(3)} className='agreement-item' hoverClass='common-hover-class'>
        <View className='agreement-item-title'>用户敏感信息说明</View>
        <View className='agreement-item-title'>第三方共享信息清单</View>
        <Image className='agreement-item-icon' src={require('../../assets/skip-arrows.png')} />
      </View>
      <View onClick={() => skipToNotice(4)} className='agreement-item' hoverClass='common-hover-class'>
        <View className='agreement-item-title'>向三方提供个人情况</View>
        <View className='agreement-item-title'>小鹏Robotaxi录音录像及个人信息采集单独告知书</View>
        <Image className='agreement-item-icon' src={require('../../assets/skip-arrows.png')} />
      </View>
      <View onClick={() => skipToNotice(5)} className='agreement-item' hoverClass='common-hover-class'>
        <View className='agreement-item-title'>乘车须知</View>
        <Image className='agreement-item-icon' src={require('../../assets/skip-arrows.png')} />
      </View>
      <View onClick={() => skipToNotice(7)} className='agreement-item' hoverClass='common-hover-class'>
        <View className='agreement-item-title'>权限说明</View>
        <Image className='agreement-item-icon' src={require('../../assets/skip-arrows.png')} />
      </View>
    </View>
  )
}
src/robotaxi/pages/passenger-notice/index.tsx
@@ -12,11 +12,12 @@
    const typeParam = Taro.getCurrentInstance()?.router?.params?.type;
    const type = Number(typeParam);
    const titleMap: Record<number, string> = {
      1: '用户服务协议',
      2: '小鹏Robotaxi平台隐私政策',
      3: '关于小鹏Robotaxi平台敏感个人信息处理情况的说明',
      4: '关于小鹏Robotaxi平台向第三方提供个人信息情况的说明',
      5: '乘车须知'
      1: '小鹏Robotaxi隐私政策',
      2: '个人信息收集清单',
      3: '第三方共享信息清单',
      4: '小鹏Robotaxi录音录像及个人信息采集单独告知书',
      5: '乘车须知',
      7: '权限说明',
    };
    setTitle(titleMap[type] || '乘车须知');
    getPrivacyContent(type).then((res: any) => {