Skip to content

Latest commit

 

History

History
135 lines (107 loc) · 2.65 KB

File metadata and controls

135 lines (107 loc) · 2.65 KB

backend

TODO

  • 确保每张图片都能与楼盘对应
  • 增加了可视化脚本

楼盘接口

// development/backend/ds/property.ts
export interface Property {
    province: string
    city: string
    name: string
    link?: string
    month?: number
}

自动验证readme与生成楼盘数据

如果会nodejs的话,可以运行以下语句,它将自动检查README.md文档中的计数问题,您可以根据提示进行逐一人工检查,直到确保准确:

ts-node development/backend/analyze.ts

脚本使用提醒:

  1. ts-node 可以通过 npm i -g ts-node安装
  2. 脚本需要先初始化:cd development/backend && npm i
  3. 建议直接加入hook脚本,每次commit的时候自动检查:
echo 'ts-node development/backend/analyze.ts' >> .git/hooks/post-commit
chmod +x .git/hooks/post-commit

README.md文档人工校验通过的情况下,该脚本输出:

...
parsing province 吉林省
parsing province 内蒙古自治区
总计25个省份,103个城市,276个楼盘
楼盘合计校验通过!

同时它也会自动生成楼盘数据:

// data/generated/properties.json
[
  {
    "name": "恒大珑庭",
    "city": "景德镇市",
    "province": "江西省"
  },
  ...
  {
    "name": "鸿海城",
    "city": "南昌市",
    "province": "江西省",
    "month": 10
  },
  ...
    {
    "name": "豫发白鹭源春晓三期",
    "city": "郑州市",
    "province": "河南省",
    "link": "images/郑州航空港区豫发白鹭源春晓三期全体业主停贷告知书.jpg"
  }
  ...
]

地图可视化数据结构

// frontend/react/src/property.ts
export interface Pos {
    lat: number
    lng: number
}

export interface Address {
    province: string
    city?: string
    district?: string
    pos: Pos
}

export interface AddressWithCount extends Address {
    count: number
}

export type CitiesOnMap = Record<string, AddressWithCount>

生成地图可视化数据

在已有最新的properties.json的数据前提下,运行:

ts-node develpment/backend/genCitiesForVisualization.ts

output:

{
  "江西省-景德镇市": {
    "province": "江西省",
    "city": "景德镇市",
    "pos": {
      "lng": 117.178222,
      "lat": 29.268945
    },
    "count": 3
  },
  ...
}

生成地图

ts-node development/backend/genMap.ts

数据来源