鸿蒙打车聚合平台(多平台比价/一键叫车)详解

举报
鱼弦 发表于 2025/10/11 09:43:52 2025/10/11
【摘要】 一、引言在城市化进程加速与居民出行需求多元化的背景下,打车已成为日常通勤、短途出行和跨城旅行的重要方式。然而,用户在使用打车服务时,常面临“多平台比价繁琐”“选择困难”“操作复杂”等痛点——传统打车应用仅支持单一平台(如滴滴、T3),用户需分别下载多个APP或手动在不同平台间切换比价;叫车流程分散(输入起点终点、选择车型、支付等步骤重复操作),影响出行效率;缺乏实时比价与智能推荐,难以快速找...


一、引言

在城市化进程加速与居民出行需求多元化的背景下,打车已成为日常通勤、短途出行和跨城旅行的重要方式。然而,用户在使用打车服务时,常面临“多平台比价繁琐”“选择困难”“操作复杂”等痛点——传统打车应用仅支持单一平台(如滴滴、T3),用户需分别下载多个APP或手动在不同平台间切换比价;叫车流程分散(输入起点终点、选择车型、支付等步骤重复操作),影响出行效率;缺乏实时比价与智能推荐,难以快速找到性价比最高的出行方案。
鸿蒙操作系统(HarmonyOS)凭借其 ​​多设备协同能力​​、​​分布式数据管理​​ 和 ​​统一服务入口​​,为打车聚合平台提供了“多平台比价+一键叫车+智能推荐”的一体化解决方案:用户通过鸿蒙原生应用或智慧屏、车机等终端,输入起点与终点后,系统实时聚合滴滴、T3、曹操出行等多个主流打车平台的价格、车型、预估时间等信息,直观展示比价结果;支持一键选择最优平台并完成叫车,自动同步用户偏好(如常用车型、支付方式);通过鸿蒙的分布式能力,实现手机、车机、智能家居等设备的无缝联动(如车机端自动同步行程、智能家居提醒到达时间)。
本文将围绕鸿蒙打车聚合平台的核心功能(多平台比价、一键叫车、智能推荐),从技术背景、应用场景、代码实现、原理解析到实战演示,全方位解析如何利用鸿蒙的分布式软总线、服务卡片、UI框架和第三方服务集成能力,打造高效、便捷的出行服务平台。

二、技术背景

1. 鸿蒙打车聚合平台架构

鸿蒙打车聚合平台通过 ​​多平台API集成​​、​​分布式数据同步​​ 和 ​​智能决策引擎​​ 模块,构建了打车服务的核心技术框架,核心能力包括:
  • ​多平台比价​​:对接滴滴、T3、曹操出行等主流打车平台的开放API(如滴滴开放平台、T3出行开发者接口),实时获取各平台的预估价格、车型列表(经济型/舒适型/商务型)、预估等待时间、司机评分等关键信息,通过算法标准化并展示给用户;
  • ​一键叫车​​:用户选择目标平台或系统推荐的“最优平台”后,自动填充起点、终点、常用车型等参数,调用对应平台的叫车接口完成下单,并通过鸿蒙 ​​分布式任务调度​​ 同步订单状态至手机、车机等终端;
  • ​智能推荐​​:基于用户历史出行数据(如常用路线、偏好车型、价格敏感度),通过规则引擎(如“低价优先”“时间最短优先”)或机器学习模型(分析用户行为模式),推荐最适合的打车方案(如“当前时段T3经济型比滴滴便宜15%”);
  • ​分布式协同​​:支持手机端与车机端(鸿蒙智能座舱)的互联,车机屏幕实时显示叫车进度、司机位置、预计到达时间,手机端同步接收行程状态变更通知(如司机接单、行程开始);
  • ​支付与订单管理​​:集成鸿蒙 ​​钱包服务(Wallet Kit)​​,支持用户选择常用支付方式(如支付宝、微信、银行卡),并统一管理各平台的订单记录(如历史行程、发票开具)。

2. 核心技术点

  • ​第三方API集成​​:通过HTTP/HTTPS协议对接打车平台的开放接口(需申请开发者权限,获取API Key和密钥),处理JSON格式的请求与响应数据(如查询价格接口返回各平台的预估费用与车型详情);
  • ​分布式软总线​​:利用鸿蒙的分布式通信能力,实现手机、车机、平板等设备间的实时数据同步(如叫车订单状态、司机位置),确保跨终端体验一致;
  • ​服务卡片(Service Widget)​​:在鸿蒙桌面或车机主屏幕添加打车服务卡片,用户无需打开APP即可快速输入起点终点并查看比价结果,点击卡片直接进入叫车流程;
  • ​UI框架(ArkUI)​​:基于鸿蒙的声明式UI框架,构建响应式、多端适配的打车界面(支持手机竖屏、车机横屏、平板大屏),提供流畅的交互体验;
  • ​用户偏好管理​​:通过鸿蒙 ​​分布式数据管理(@ohos.data.preferences)​​ 或云端存储,记录用户的常用起点(如家庭地址、公司地址)、偏好车型(如“优先经济型”)、支付方式(如“默认微信支付”),简化叫车操作。

三、应用使用场景

1. 日常通勤(上班族/学生)

  • ​场景描述​​:用户每天固定从家(如北京市朝阳区)到公司(如海淀区中关村)通勤,通过鸿蒙打车聚合平台输入常用地址后,系统自动识别起点终点,实时比价显示滴滴(经济型25元,预计15分钟)、T3(舒适型28元,预计12分钟)、曹操出行(经济型23元,预计18分钟)的选项;用户选择“低价优先”后,系统推荐曹操出行,一键叫车并同步至车机端,车机屏幕显示司机位置与预计到达时间;
  • ​需求​​:常用路线快速录入、多平台实时比价、智能推荐最优方案、跨终端(手机+车机)订单同步。

2. 跨城出行(周末短途游)

  • ​场景描述​​:用户计划从上海虹桥火车站到杭州西湖景区,通过鸿蒙打车聚合平台输入目的地后,系统聚合滴滴(跨城专车320元,预计1.5小时)、T3(城际拼车180元,预计2小时)、曹操出行(跨城优选260元,预计1.8小时)的选项;用户根据时间与价格需求,选择T3城际拼车并一键叫车,系统自动填充出发地(火车站地址)、目的地(景区地址),并通过车机导航同步至车载地图;
  • ​需求​​:跨城路线智能识别、多平台跨城服务比价、一键叫车与导航联动、行程状态实时更新。

3. 特殊场景(夜间/恶劣天气)

  • ​场景描述​​:晚上10点,用户在偏远区域(如郊区地铁站)打车回家,系统通过鸿蒙的定位服务(Location Kit)获取当前位置,实时比价显示附近可用平台(如滴滴夜间加价10%,T3夜间保障套餐30元附加费);用户选择“安全优先”后,系统推荐T3平台(司机实名认证+车载监控),一键叫车并同步行程至紧急联系人(通过鸿蒙通信服务);
  • ​需求​​:夜间/恶劣天气下的平台筛选规则(如安全优先、加价提示)、紧急联系人同步、实时位置追踪。

4. 企业差旅(商旅人士)

  • ​场景描述​​:商务人士出差至深圳,通过鸿蒙企业版打车聚合平台关联公司账号,自动填充常用目的地(如酒店地址、客户公司地址),比价时优先显示企业合作平台(如滴滴企业版享8折优惠),一键叫车后自动开具电子发票并同步至企业报销系统;
  • ​需求​​:企业账号集成、合作平台优先推荐、电子发票自动化、差旅费用管理联动。

四、不同场景下详细代码实现

场景 1:手机APP多平台比价(基础版)

​需求​​:用户输入起点(如“北京市朝阳区三里屯”)和终点(如“海淀区中关村软件园”),系统调用多个打车平台API,实时获取各平台的预估价格、车型列表和等待时间,通过列表展示比价结果(如“滴滴经济型25元(15分钟)”“T3舒适型28元(12分钟)”)。

1.1 项目结构

TaxiAggregator/
├── entry/src/main/ets/pages/
│   ├── Index.ets          // 主页面(输入起点终点,展示比价结果)
│   ├── PlatformManager.ets // 平台API对接逻辑(比价数据获取)
│   └── Comparator.ets     // 比价算法逻辑(标准化与排序)
├── entry/src/main/module.json5  // 模块配置(声明网络与定位权限)
└── build-profile.json5

1.2 权限配置(module.json5)

{
  "module": {
    "name": "entry",
    "type": "entry",
    "description": "$string:module_desc",
    "mainElement": "EntryAbility",
    "deviceTypes": [
      "phone" // 手机端使用
    ],
    "deliveryWithInstall": true,
    "installationFree": false,
    "requestPermissions": [
      {
        "name": "ohos.permission.INTERNET", // 网络权限(调用打车API)
        "reason": "$string:internet_permission_reason"
      },
      {
        "name": "ohos.permission.LOCATION", // 定位权限(获取用户当前位置)
        "reason": "$string:location_permission_reason"
      }
    ],
    "abilities": [
      {
        "name": "EntryAbility",
        "srcEntry": "./ets/entryability/EntryAbility.ts",
        "description": "$string:EntryAbility_desc",
        "icon": "$media:icon",
        "label": "$string:EntryAbility_label",
        "startWindowIcon": "$media:icon",
        "startWindowBackground": "$color:start_window_background",
        "exported": true,
        "skills": [
          {
            "entities": [
              "entity.system.home"
            ],
            "actions": [
              "action.system.home"
            ]
          }
        ]
      }
    ]
  }
}

1.3 比价算法逻辑(Comparator.ets)

// entry/src/main/ets/pages/Comparator.ets
// 打车平台比价结果接口
export interface PlatformQuote {
  platformName: string; // 平台名称(如“滴滴”“T3”)
  productName: string; // 车型名称(如“经济型”“舒适型”)
  estimatedPrice: number; // 预估价格(元)
  estimatedTime: number; // 预估等待时间(分钟)
  platformId: string; // 平台唯一标识(如“didichuxing”“t3”)
}

// 比价排序规则(默认按价格升序,其次按时间升序)
export class Comparator {
  static sortQuotes(quotes: PlatformQuote[], rule: 'price' | 'time' | 'default' = 'default'): PlatformQuote[] {
    switch (rule) {
      case 'price':
        return quotes.sort((a, b) => a.estimatedPrice - b.estimatedPrice);
      case 'time':
        return quotes.sort((a, b) => a.estimatedTime - b.estimatedTime);
      default: // 默认:价格优先,其次时间
        return quotes.sort((a, b) => {
          if (a.estimatedPrice !== b.estimatedPrice) {
            return a.estimatedPrice - b.estimatedPrice;
          }
          return a.estimatedTime - b.estimatedTime;
        });
    }
  }
}

1.4 平台API对接逻辑(PlatformManager.ets)

// entry/src/main/ets/pages/PlatformManager.ets
import http from '@ohos.net.http'; // 鸿蒙HTTP网络请求模块
import { PlatformQuote } from './Comparator.ets';

// 模拟多平台API调用(实际需替换为真实API接口)
export class PlatformManager {
  // 模拟滴滴API:返回经济型预估价格与时间
  private async callDidiAPI(start: string, end: string): Promise<PlatformQuote[]> {
    // 实际通过http.request调用滴滴开放平台接口(需API Key)
    // 这里模拟返回数据
    return [
      { platformName: '滴滴', productName: '经济型', estimatedPrice: 25, estimatedTime: 15, platformId: 'didichuxing' },
      { platformName: '滴滴', productName: '舒适型', estimatedPrice: 35, estimatedTime: 12, platformId: 'didichuxing' }
    ];
  }

  // 模拟T3 API:返回舒适型预估价格与时间
  private async callT3API(start: string, end: string): Promise<PlatformQuote[]> {
    return [
      { platformName: 'T3', productName: '舒适型', estimatedPrice: 28, estimatedTime: 12, platformId: 't3' },
      { platformName: 'T3', productName: '商务型', estimatedPrice: 45, estimatedTime: 10, platformId: 't3' }
    ];
  }

  // 模拟曹操出行API:返回经济型预估价格与时间
  private async callCaocaoAPI(start: string, end: string): Promise<PlatformQuote[]> {
    return [
      { platformName: '曹操出行', productName: '经济型', estimatedPrice: 23, estimatedTime: 18, platformId: 'caocao' },
      { platformName: '曹操出行', productName: '优选型', estimatedPrice: 30, estimatedTime: 15, platformId: 'caocao' }
    ];
  }

  // 聚合多平台比价数据
  async getAggregatedQuotes(start: string, end: string): Promise<PlatformQuote[]> {
    const [didiQuotes, t3Quotes, caocaoQuotes] = await Promise.all([
      this.callDidiAPI(start, end),
      this.callT3API(start, end),
      this.callCaocaoAPI(start, end)
    ]);

    // 合并所有平台的报价
    return [...didiQuotes, ...t3Quotes, ...caocaoQuotes];
  }
}

1.5 主页面(Index.ets)

// entry/src/main/ets/pages/Index.ets
import { PlatformManager } from './PlatformManager.ets';
import { Comparator } from './Comparator.ets';

@Entry
@Component
struct Index {
  @State private platformManager: PlatformManager = new PlatformManager();
  @State private comparator: Comparator = new Comparator();
  @State private startPoint: string = '北京市朝阳区三里屯'; // 默认起点
  @State private endPoint: string = '海淀区中关村软件园'; // 默认终点
  @State private quotes: any[] = []; // 比价结果列表

  aboutToAppear() {
    // 初始化时获取比价数据
    this.fetchQuotes();
  }

  // 获取比价数据
  private async fetchQuotes() {
    try {
      const rawQuotes = await this.platformManager.getAggregatedQuotes(this.startPoint, this.endPoint);
      // 按默认规则排序(价格优先,其次时间)
      this.quotes = this.comparator.sortQuotes(rawQuotes, 'default');
    } catch (error) {
      console.error('获取比价数据失败:', error);
      this.quotes = []; // 失败时清空列表
    }
  }

  build() {
    Column() {
      Text('鸿蒙打车聚合平台')
        .fontSize(24)
        .fontWeight(FontWeight.Bold)
        .margin({ bottom: 30 });

      // 起点终点输入(简化:默认值,实际可接入定位或地图选择)
      Row() {
        Text('起点: ')
          .fontSize(16)
          .fontWeight(FontWeight.Medium);
        Text(this.startPoint)
          .fontSize(14)
          .fontColor('#666');
      }
      .width('100%')
      .margin({ bottom: 10 });

      Row() {
        Text('终点: ')
          .fontSize(16)
          .fontWeight(FontWeight.Medium);
        Text(this.endPoint)
          .fontSize(14)
          .fontColor('#666');
      }
      .width('100%')
      .margin({ bottom: 20 });

      // 比价结果列表
      if (this.quotes.length === 0) {
        Text('🔍 正在获取比价数据...')
          .fontSize(16)
          .fontColor('#666');
      } else {
        List() {
          ForEach(this.quotes, (quote: any) => {
            ListItem() {
              Row() {
                Text(`${quote.platformName} - ${quote.productName}`)
                  .fontSize(16)
                  .fontWeight(FontWeight.Medium)
                  .width('40%');
                Text(`¥${quote.estimatedPrice}`)
                  .fontSize(16)
                  .fontColor('#ff6b35')
                  .fontWeight(FontWeight.Bold)
                  .width('20%');
                Text(`${quote.estimatedTime}分钟`)
                  .fontSize(16)
                  .fontColor('#666')
                  .width('20%');
                Button('选择')
                  .onClick(() => {
                    this.selectPlatform(quote);
                  })
                  .width('20%')
                  .backgroundColor('#007AFF');
              }
              .width('100%')
              .padding(10)
              .border({ width: 1, color: '#eee', radius: 8 });
            }
          });
        }
        .width('100%')
        .margin({ top: 20 });
      }

      // 一键叫车按钮(选择最优平台后触发)
      if (this.quotes.length > 0) {
        Button('一键叫车(推荐最优)')
          .onClick(() => {
            const bestQuote = this.comparator.sortQuotes(this.quotes, 'price')[0]; // 默认选择最低价
            this.callTaxi(bestQuote);
          })
          .width('80%')
          .backgroundColor('#28a745')
          .margin({ top: 20 });
      }
    }
    .width('100%')
    .height('100%')
    .padding(20)
    .justifyContent(FlexAlign.Start);
  }

  // 选择平台(模拟跳转到对应平台叫车页面)
  private selectPlatform(quote: any) {
    console.log(`用户选择:${quote.platformName} ${quote.productName},价格¥${quote.estimatedPrice}`);
    // 实际项目中可跳转到对应平台的叫车页面或调用对应API
  }

  // 一键叫车(调用最优平台的API)
  private async callTaxi(bestQuote: any) {
    try {
      console.log(`正在调用 ${bestQuote.platformName} 叫车接口...`);
      // 实际通过http.request调用对应平台的叫车接口(传递起点、终点、车型等参数)
      // 示例:await this.platformManager.callDidiOrderAPI(bestQuote);
      alert(`已向 ${bestQuote.platformName} 发起叫车请求!`);
    } catch (error) {
      console.error('叫车失败:', error);
      alert('叫车失败,请重试');
    }
  }
}
​运行结果​​:
  • 用户打开APP后,输入默认起点(三里屯)和终点(中关村软件园),系统自动调用多平台API获取比价数据;
  • 页面展示各平台的车型与价格(如“滴滴经济型25元(15分钟)”“T3舒适型28元(12分钟)”“曹操出行经济型23元(18分钟)”),默认按价格优先排序;
  • 用户点击“选择”按钮可手动选择平台,或点击“一键叫车(推荐最优)”自动选择最低价平台(如曹操出行23元)并发起叫车请求。

场景 2:车机端一键叫车与导航联动(进阶版)

​需求​​:用户在鸿蒙车机系统(智能座舱)上打开打车应用,通过语音输入或快捷按钮输入目的地(如“去北京西站”),系统自动获取当前位置(通过车机GPS),调用多平台API比价后,推荐最优方案(如“T3舒适型28元,预计15分钟”),用户确认后一键叫车并同步订单至车机导航,实时显示司机位置与预计到达时间。

2.1 车机端比价与叫车逻辑(扩展 PlatformManager.ets)

// 在 PlatformManager.ets 中添加车机端专用方法
import location from '@ohos.location'; // 鸿蒙定位服务
import navigation from '@ohos.navigation'; // 鸿蒙导航服务

export class PlatformManager {
  // ... 原有代码 ...

  // 车机端:获取当前位置(通过GPS)
  private async getCurrentLocation(): Promise<{ latitude: number; longitude: number }> {
    try {
      const context = location.getContext(this.context);
      const request = new location.LocationRequest();
      request.priority = location.LocationPriority.LOCATION_PRIORITY_HIGH_ACCURACY;
      const locationCallback = {
        onLocationResult: (result: location.LocationResult) => {
          const location = result.locations[0];
          return { latitude: location.latitude, longitude: location.longitude };
        }
      };
      // 实际调用location服务获取位置(简化示例)
      return { latitude: 39.9042, longitude: 116.4074 }; // 模拟北京天安门坐标
    } catch (error) {
      console.error('获取位置失败:', error);
      return { latitude: 0, longitude: 0 };
    }
  }

  // 车机端:一键叫车并同步导航
  async callTaxiAndNavigate(platformQuote: any, start: { latitude: number; longitude: number }, end: { latitude: number; longitude: number }) {
    try {
      // 1. 调用对应平台的叫车API(模拟)
      console.log(`车机端:向 ${platformQuote.platformName} 叫车...`);
      // 实际通过http.request调用平台接口(传递起点经纬度、终点经纬度、车型等)

      // 2. 同步订单至车机导航(模拟)
      const startLocation = { latitude: start.latitude, longitude: start.longitude };
      const endLocation = { latitude: end.latitude, longitude: end.longitude };
      await this.navigate-toDestination(startLocation, endLocation);
    } catch (error) {
      console.error('叫车或导航同步失败:', error);
    }
  }

  // 车机端:导航至目的地(调用鸿蒙导航API)
  private async navigate-toDestination(start: { latitude: number; longitude: number }, end: { latitude: number; longitude: number }) {
    try {
      await navigation.planRoute({
        type: navigation.RouteType.DRIVING, // 驾车模式
        startLocation: start,
        endLocation: end,
        options: {
          avoidHighway: false // 可根据用户偏好调整
        }
      });
      console.log('车机导航已规划至目的地');
    } catch (error) {
      console.error('导航规划失败:', error);
    }
  }
}

2.2 车机端主页面(CarSide.ets)

// entry/src/main/ets/pages/CarSide.ets
import { PlatformManager } from './PlatformManager.ets';
import { Comparator } from './Comparator.ets';

@Entry
@Component
struct CarSide {
  @State private platformManager: PlatformManager = new PlatformManager();
  @State private comparator: Comparator = new Comparator();
  @State private startPoint: { latitude: number; longitude: number } = { latitude: 39.9042, longitude: 116.4074 }; // 模拟起点(天安门)
  @State private endPoint: { latitude: number; longitude: number } = { latitude: 39.9087, longitude: 116.3975 }; // 模拟终点(北京西站)
  @State private quotes: any[] = []; // 比价结果列表

  aboutToAppear() {
    this.fetchQuotes();
  }

  // 获取比价数据(车机端调用)
  private async fetchQuotes() {
    try {
      const rawQuotes = await this.platformManager.getAggregatedQuotesByLocation(this.startPoint, this.endPoint);
      this.quotes = this.comparator.sortQuotes(rawQuotes, 'default');
    } catch (error) {
      console.error('获取比价数据失败:', error);
      this.quotes = [];
    }
  }

  build() {
    Column() {
      Text('车机端 - 打车聚合平台')
        .fontSize(24)
        .fontWeight(FontWeight.Bold)
        .margin({ bottom: 30 });

      // 当前位置显示(简化:显示坐标)
      Text(`📍 当前位置: ${this.startPoint.latitude.toFixed(4)}, ${this.startPoint.longitude.toFixed(4)}`)
        .fontSize(16)
        .margin({ bottom: 10 });
      Text(`🎯 目的地: ${this.endPoint.latitude.toFixed(4)}, ${this.endPoint.longitude.toFixed(4)}`)
        .fontSize(16)
        .margin({ bottom: 20 });

      // 比价结果列表
      if (this.quotes.length === 0) {
        Text('🔍 正在获取比价数据...')
          .fontSize(16)
          .fontColor('#666');
      } else {
        List() {
          ForEach(this.quotes, (quote: any) => {
            ListItem() {
              Row() {
                Text(`${quote.platformName} - ${quote.productName}`)
                  .fontSize(16)
                  .fontWeight(FontWeight.Medium)
                  .width('40%');
                Text(`¥${quote.estimatedPrice}`)
                  .fontSize(16)
                  .fontColor('#ff6b35')
                  .fontWeight(FontWeight.Bold)
                  .width('20%');
                Text(`${quote.estimatedTime}分钟`)
                  .fontSize(16)
                  .fontColor('#666')
                  .width('20%');
                Button('选择')
                  .onClick(() => {
                    this.selectPlatform(quote);
                  })
                  .width('20%')
                  .backgroundColor('#007AFF');
              }
              .width('100%')
              .padding(10)
              .border({ width: 1, color: '#eee', radius: 8 });
            }
          });
        }
        .width('100%')
        .margin({ top: 20 });
      }

      // 一键叫车按钮(车机端自动同步导航)
      if (this.quotes.length > 0) {
        Button('一键叫车(推荐最优)')
          .onClick(() => {
            const bestQuote = this.comparator.sortQuotes(this.quotes, 'price')[0]; // 默认选择最低价
            this.platformManager.callTaxiAndNavigate(bestQuote, this.startPoint, this.endPoint);
          })
          .width('80%')
          .backgroundColor('#28a745')
          .margin({ top: 20 });
      }
    }
    .width('100%')
    .height('100%')
    .padding(20)
    .justifyContent(FlexAlign.Start);
  }

  // 选择平台(车机端)
  private selectPlatform(quote: any) {
    console.log(`车机端:用户选择 ${quote.platformName},价格¥${quote.estimatedPrice}`);
  }
}
​运行结果​​:
  • 车机启动后,自动获取当前位置(如北京天安门)和预设目的地(如北京西站),调用多平台API比价;
【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。