const PROVINCES = [
  '北京市', '天津市', '河北省', '山西省', '内蒙古自治区',
  '上海市', '江苏省', '浙江省', '安徽省', '福建省', '江西省', '山东省',
  '广东省', '广西壮族自治区', '海南省',
  '河南省', '湖北省', '湖南省',
  '辽宁省', '吉林省', '黑龙江省',
  '重庆市', '四川省', '贵州省', '云南省', '西藏自治区',
  '陕西省', '甘肃省', '青海省', '宁夏回族自治区', '新疆维吾尔自治区',
];

export function parseFullAddress(fullAddress: string): {
  provinceCity: string;
  detailAddress: string;
} {
  const text = fullAddress.trim();
  if (!text) return { provinceCity: '', detailAddress: '' };

  const province = PROVINCES.find((item) => text.startsWith(item));
  if (!province) {
    return { provinceCity: '', detailAddress: text };
  }

  const rest = text.slice(province.length);
  const cityMatch = rest.match(/^([\u4e00-\u9fa5]+?(?:市|区|州|盟|县))/);
  const city = cityMatch?.[1] ?? '';
  const detailAddress = city ? rest.slice(city.length).trim() : rest.trim();

  return {
    provinceCity: city ? `${province}-${city}` : province,
    detailAddress: detailAddress || text,
  };
}
