众志成城,共抗疫情,共克时艰

在 丁香园肺炎疫情实时动态 中提供了疫情地图及实时权威新闻,但其中并没有省市地图。我在每天闭门不出为国家做贡献的同时,对疫情地图做了简单的扩展,也为抗击肺炎做一点力量,旨在帮助大家更加直观了解自己家乡的情况。

链接地址在 https://ncov.shanyue.tech,可在左下角点击阅读原文打开连接。以下是山西疫情的截图,目前还偏粗糙。

武汉新型冠状病毒肺炎疫情实时动态省市地图_java

开发

项目地址: https://github.com/shfshanyue/2019-ncov

下面简述下开发流程,有兴趣的同学可以去 github 查看代码

数据来源

数据爬自丁香园,使用脚本 build-origin.js 获取数据

部署

使用 github actions 与 alioss 自动部署,每半个小时部署一次(为了获取最新数据)。

部署配置文件

name: deploy to aliyun oss

on:
 push:
   barches:
     - master
 schedule:
 - cron:  '*/30 * * * *'

jobs:
 build:

   runs-on: ubuntu-latest

   steps:
   # 切代码到 runner
   - uses: actions/checkout@v1
     with:
       submodules: true
   # 使用 node:10
   - name: use Node.js 10.x
     uses: actions/setup-node@v1
     with:
       node-version: 10.x
   # npm install
   - name: npm install
     run: npm install
   - name: build data
     run: node build-origin.js
   - name: build site
     run: npm run build
   # 设置阿里云OSS的 id/secret,存储到 github 的 secrets 中
   - name: setup aliyun oss
     uses: manyuanrong/setup-ossutil@master
     with:
       endpoint: oss-cn-beijing.aliyuncs.com
       access-key-id: ${{ secrets.OSS_KEY_ID }}
       access-key-secret: ${{ secrets.OSS_KEY_SECRET }}
   - name: 删除冗余文件
     run: ossutil rm oss://shanyue-ncov/static -rf
     if: github.event_name == 'schedule'
   - name: cp files to aliyun
     run: ossutil cp -rf build oss://shanyue-ncov/
   - name: set no-cache in index.html
     run: ossutil set-meta oss://shanyue-ncov/index.html cache-control:"no-cache" --update -rf
   - name: set long term cache
     run: ossutil set-meta oss://shanyue-ncov/static cache-control:"max-age=31536000" --update -rf

最后,武汉加油!