getCityCodeByName static method

List<String> getCityCodeByName({
  1. String? provinceName,
  2. String? cityName,
  3. String? townName,
})

根据城市名 找到城市编码 simple use List

Implementation

static List<String> getCityCodeByName({String? provinceName, String? cityName, String? townName}) {
  List<String> cityCode = [];

  if (PicketUtil.strEmpty(provinceName)) return cityCode;
  String initialProvinceCode = '';
  locations['86']!.forEach((key, value) {
    if (value == provinceName) {
      initialProvinceCode = key;
    }
  });
  ///////////////////////
  if (PicketUtil.strNoEmpty(initialProvinceCode)) {
    cityCode.add(initialProvinceCode);

    // 市级
    if (PicketUtil.strEmpty(cityName)) {
      // print('longer 区域代码 >>> $cityCode');
      return cityCode;
    }
    String initialCityCode = '';
    var initialProvinceList = locations[initialProvinceCode];
    if (initialProvinceList == null) {
      // print('longer 区域代码 >>> $cityCode');
      return cityCode;
    }

    initialProvinceList.forEach((key, value) {
      if (value == cityName) {
        initialCityCode = key;
      }
    });

    ///////////////////////
    if (PicketUtil.strNoEmpty(initialCityCode)) {
      cityCode.add(initialCityCode);

      // 区域
      if (PicketUtil.strEmpty(townName)) {
        // print('longer 区域代码 >>> $cityCode');
        return cityCode;
      }
      String initialTownCode = '';
      var initialTownList = locations[initialCityCode];
      if (initialTownList == null) {
        // print('longer 区域代码 >>> $cityCode');
        return cityCode;
      }

      initialTownList.forEach((key, value) {
        if (value == townName) {
          initialTownCode = key;
        }
      });

      if (PicketUtil.strNoEmpty(initialTownCode)) {
        cityCode.add(initialTownCode);
      }
    }
  }
  // print('longer 区域代码 >>> $cityCode');
  return cityCode;
}