HarmonyOS Next应用开发实战——汽车品牌与车型信息管理(part2)

111 阅读1分钟
3. 车型信息管理

除了品牌信息,还需要对车型信息进行管理。定义了CarInfo类来存储车型的基本信息,CarModel类提供了获取车型列表的方法。

export class CarInfo {
  image: ResourceStr;
  name: string;
  tag: string[];
  price:number;

  constructor(image: ResourceStr, name: string, tag: string[],price:number) {
    this.image = image;
    this.name = name;
    this.tag = tag;
    this.price = price;
  }
}

class CarModel {
  getCarList(): CarInfo[] {
    const stnList = [
      new CarInfo($r('app.media.brand_car1'), 'M5 智驾版', ['2024款-增程器1.5L 涡轮增压 发动机152马力 电动机272马力','2024款 1.5T 240km 后驱PLUS版 5座'],24.98),
      new CarInfo($r('app.media.brand_car1'), 'M5 标准版2023款', ['星星充电'],24.98),
      // 更多车型信息...
    ]
    return stnList;
  }
}

export const car = new CarModel();

通过CarModelgetCarList方法,我们可以获取到一系列车型信息,为在界面上展示车型列表提供了数据基础。

4. 参数信息管理

还定义了ParamInfo类来存储参数的基本信息,ParamIconModelModelCarParamIconModel类分别提供了获取不同类型参数列表的方法。

export class ParamInfo {
  image: ResourceStr;
  name: string;

  constructor(image: ResourceStr, name: string) {
    this.image = image;
    this.name = name;
  }
}

class ParamIconModelModel {
  getMainList(): ParamInfo[] {
    return [
      new ParamInfo($r('app.media.ic_param1'), '裸车价'),
      new ParamInfo($r('app.media.ic_param2'), '点评'),
      // 更多参数信息...
    ];
  }
}

export const paramIconModel = new ParamIconModelModel();

class CarParamIconModel {
  getMainList(): ParamInfo[] {
    return [
      new ParamInfo($r('app.media.ic_car_param1'), '加入对比'),
      new ParamInfo($r('app.media.ic_car_param2'), '购车计算'),
      // 更多参数信息...
    ];
  }
}

export const carParamIcon = new CarParamIconModel();

通过这些方法,我们可以获取到不同类型的参数信息,用于在界面上展示参数图标和名称。

在HarmonyOS Next应用开发中,通过这些数据模型和方法,我们可以方便地管理和展示汽车品牌、车型及相关参数信息,为用户提供更好的交互体验。