项目readme链接:https://github.com/yihong0618/running_page/blob/master/README-CN.md

平台:windows 参考连接:https://github.com/yihong0618/running_page/

linux平台部署链接:

执行步骤

新建文件夹 拉取代码

建议直接使用管理员身份运行命令窗口

命令行中切换路径:

切换盘符(F盘为例) 先输入F:

然后 cd 要跳转的路径(直接在文件夹上方路径栏复制即可)

1
git clone https://github.com/yihong0618/running_page.git --depth=1

拉取代码后会在文件夹多出一个running_page

创建虚拟环境

为了便于项目管理,且保持项目间的独立性 安全性,创建虚拟环境进行单独管理

1
python -m venv run_venv

在本地运行running_page

需要提前安装node

1
2
3
pip3 install -r requirements.txt
npm install -g corepack && corepack enable && pnpm install
pnpm develop

第一步 激活虚拟环境

当前文件夹下执行

1
run_venv\Scripts\activate

第二步 激活虚拟环境后进入running_page文件夹执行

1
pip3 install -r requirements.txt

执行完后第三步(注意这一步需要使用cmd的管理员模式打开

否则会报错npm ERR!

如何这一步刚刚使用管理员身份需要进行:切换盘符 切换路径 激活虚拟环境后才可运行

依次执行以下代码

1
npm install -g corepack
1
corepack enable
1
pnpm install
1
pnpm develop

查看是否能在本地运行

删除作者跑步数据

打开assets文件夹 将带有年份的数据删除

image-20240407092635337

错误解决后的爬取数据keep步骤

1.激活虚拟环境后使用

注意需要断开科学上网的工具

1
2
3
4
python run_page/keep_sync.py 188********* *******

python run_page/keep_sync_2.py 188******** ********
# 输入的是自己的手机号和自己的密码

2.执行totle 处理

1
2
3
4
5
python run_page/gen_svg.py --from-db --title "${{ env.TITLE }}" --type github --athlete "${{ env.ATHLETE }}" --special-distance 10 --special-distance2 20 --special-color yellow --special-color2 red --output assets/github.svg --use-localtime --min-distance 0.5

# distance代表将大于多少的单独列出来
# 自己处理时将$的改成一个字符串
python run_page/gen_svg.py --from-db --title "20240407" --type github --athlete "20240407" --special-distance 3 --special-distance2 20 --special-color yellow --special-color2 red --output assets/github.svg --use-localtime --min-distance 0.5

3.

1
2
3
python run_page/gen_svg.py --from-db --title "${{ env.TITLE_GRID }}" --type grid --athlete "${{ env.ATHLETE }}"  --output assets/grid.svg --min-distance 10.0 --special-color yellow --special-color2 red --special-distance 20 --special-distance2 40 --use-localtime

python run_page/gen_svg.py --from-db --title "20240406" --type grid --athlete "20240407" --output assets/grid.svg --min-distance 10.0 --special-color yellow --special-color2 red --special-distance 20 --special-distance2 40 --use-localtime

4.生成年度数据

1
python run_page/gen_svg.py --from-db --type circular --use-localtime

爬取悦跑圈数据

0.启动虚拟环境

1
2
3
4
转到对应文件夹
F:\runtest2\running_page

run\Scripts\activate

1.获取悦跑圈数据

同时注意关闭科学上网工具

1
python run_page/joyrun_sync.py 18863542881 验证码

2.执行totle 处理

1
2
3
4
5
python run_page/gen_svg.py --from-db --title "${{ env.TITLE }}" --type github --athlete "${{ env.ATHLETE }}" --special-distance 10 --special-distance2 20 --special-color yellow --special-color2 red --output assets/github.svg --use-localtime --min-distance 0.5

# distance代表将大于多少的单独列出来
# 自己处理时将$的改成一个字符串
python run_page/gen_svg.py --from-db --title "20250320" --type github --athlete "20250320" --special-distance 3 --special-distance2 20 --special-color yellow --special-color2 red --output assets/github.svg --use-localtime --min-distance 0.5

3.

1
2
3
4
# 将最小距离小于多少的生成统计数据
python run_page/gen_svg.py --from-db --title "${{ env.TITLE_GRID }}" --type grid --athlete "${{ env.ATHLETE }}" --output assets/grid.svg --min-distance 10.0 --special-color yellow --special-color2 red --special-distance 20 --special-distance2 40 --use-localtime

python run_page/gen_svg.py --from-db --title "20050320" --type grid --athlete "20050320" --output assets/grid.svg --min-distance 3.0 --special-color yellow --special-color2 red --special-distance 20 --special-distance2 40 --use-localtime

4.生成年度数据

1
python run_page/gen_svg.py --from-db --type circular --use-localtime

5.运行查看

1
pnpm develop

使用keep时:

1
keep_sync.py 18863542881 example

成功实现了足迹上传 但是有个问题就是因为上一次获取的keep数据有问题导致的重复

image-20240407083922809

image-20240407092010916

导致的数据存放,但是我不知道运行跑的数据存放到哪了,就有点问题了

搭建过程中的问题及解决方式:

  • python3报错 那就不使用python3

image-20240406213358764

python3(python) F:\大三上课程\WebGIS\hexo\test\running_page\run_page\joyrun_sync.py 188

原因:python3找不到

解决方式:python F:\大三上课程\WebGIS\hexo\test\running_page\run_page\keep_sync.py 188

  • 运行keep获取时可能遇到服务器错误:

解决方式:关闭科学上网工具

  • ERR!报错 使用管理员身份打开

第二步:

python F:\大三上课程\WebGIS\hexo\test\running_page\run_page\keep_sync.py 18863542881 Lfg188635 —with-gpx

  • from Crypto.Cipher import AES报错

将小写的crypto的c改为大写

image-20240406230505884

参考连接:from Crypto.Cipher import AES报错解决_cannot import name ‘_create_cipher’ from ‘crypto.c-CSDN博客

小结与回顾

keep数据问题

2024年的keep数据只获取大了数值,但并没获取到轨迹

image-20240406230233791

原因发现了 是因为欢太健康向keep导入数据时没有将轨迹信息导入

经发现是keep本身的问题,必须是使用keep软件运动才能记录轨迹,但不记录手环轨迹【避雷】

转悦跑圈

但问题是悦跑圈只有2024年的数据,于是,清除使用keep获取2024年之前的数据;

使用悦跑圈获取2024年数据,此后每次同步悦跑圈数据即可


2024.8.7

本地部署后的推送

该项目使用vite项目,如果设备支持自动化可以使用yihong项目的工作流进行自动化操作

但我使用的悦跑圈暂不能至此自动化,如果以最简单的方式发布到github页面让别人访问,以下是我认为最简单的操作

注意:前提是能正确在本地跑通,能够实现pnpm develop后能正常的预览效果

vite项目部署指导:【Vue/Vite项目静态站点部署】这名博主真的很厉害,跟他也学习了git的基本操作【10分钟git快速上手使用,教会你项目克隆,版本库的修改与推送更新,git配置帐户和角色,2022年git最新小白教程程,git入门必看】 ,讲的细致认真,通熟易懂;

在vite项目的启发下,我们推送是需要进行的pnpm vite build,将我们的vite项目进行打包,打包后会生成一个dist目录的静态网页,然后我们只需要利用dest文件夹即可进行静态页面的显示了

但是要注意的是vite打包后生成的路径,要和自己要部署的路径保持一致,才能实现正常访问

否则经常出现的错误就是找不到这个文件位置

此问题需要查看package.json文件

base:“ ”内的内容修改为自己要部署的那个的文件夹

然后重新pnpm vite build即可,修改base后 dist目录一般没有问题了

然后就可以把dist目录推送至github远端自己对应的仓库位置或者文件夹

然后就可以实现了

终于成功了!!! 欢迎访问:lfg12.github.io/running_map

后续有时间希望能够发挥GIS专业的优势,把mapbox的底图颜色优化以下,设置可以切换地图底图的功能,提交pr试试

回顾

整体的操作方式:(个人使用,自己使用时请结合自己的具体路径)

0.启动虚拟环境

1
2
3
4
转到对应文件夹(指的是你本地存放runningpage代码的文件夹)
F:\runtest2\running_page

run\Scripts\activate

1.获取悦跑圈数据

同时注意关闭科学上网工具 输入自己的电话和对应的验证码

1
python run_page/joyrun_sync.py 188******** 验证码

2.执行totle 处理

1
2
3
4
5
python run_page/gen_svg.py --from-db --title "${{ env.TITLE }}" --type github --athlete "${{ env.ATHLETE }}" --special-distance 10 --special-distance2 20 --special-color yellow --special-color2 red --output assets/github.svg --use-localtime --min-distance 0.5

# distance代表将大于多少的单独列出来
# 自己处理时将$的改成一个字符串
python run_page/gen_svg.py --from-db --title "20250324" --type github --athlete "20250324" --special-distance 3 --special-distance2 20 --special-color yellow --special-color2 red --output assets/github.svg --use-localtime --min-distance 0.4

3.

1
2
3
4
# 将最小距离小于多少的生成统计数据
python run_page/gen_svg.py --from-db --title "${{ env.TITLE_GRID }}" --type grid --athlete "${{ env.ATHLETE }}" --output assets/grid.svg --min-distance 10.0 --special-color yellow --special-color2 red --special-distance 20 --special-distance2 40 --use-localtime

python run_page/gen_svg.py --from-db --title "20250324" --type grid --athlete "20250324" --output assets/grid.svg --min-distance 3.0 --special-color yellow --special-color2 red --special-distance 20 --special-distance2 40 --use-localtime

4.生成年度数据

1
python run_page/gen_svg.py --from-db --type circular --use-localtime

5.运行查看

1
pnpm develop

6.打包

1
pnpm vite build

7.将新生成的dist文件夹放到要推送的位置,然后推送 hexo 三连即可

印象中dist文件夹内好像要修改些什么东西

dist文件夹下内容

  • assets
  • images (图标文件,一般不用修改)
  • index.html
  • manifest.json

将以上四个文件,放入自己的博客 runingpage目录下(我的目录为runningmap)

然后hexo三连;

1
hexo clean && hexo g && hexo d

参考链接: