dc63632e77
- app/utils/geo.py: reverse_geocoder 单例(mode=1 单进程 KDTree),经纬度→最近聚居点 - app/utils/meituan_city.py: 坐标→美团 city_id(省份/城市名桥接 + 多级兜底 + lru_cache 量化) - feed(rec) / top-sales: 按解析出的 city_id 过滤离线库;城市解析不出 / 老客户端不带坐标 → degraded - top-sales 与 rec 一致置空库内距离(相对城市默认点,对用户无意义) - main.py 启动预热 KDTree;pyproject 加 reverse_geocoder 依赖 + 分发 city_dict.txt - 新增 geo / meituan_city 测试(56 例);scripts/load_meituan_coupon_tsv.py 灌样本到本地 SQLite - .gitignore 忽略样本 TSV 与 .claude 本地设置 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
60 lines
1.2 KiB
Plaintext
60 lines
1.2 KiB
Plaintext
__pycache__/
|
|
*.py[cod]
|
|
*$py.class
|
|
|
|
.venv/
|
|
venv/
|
|
env/
|
|
|
|
*.egg-info/
|
|
build/
|
|
dist/
|
|
.eggs/
|
|
|
|
.pytest_cache/
|
|
.ruff_cache/
|
|
.mypy_cache/
|
|
|
|
.env
|
|
.env.*
|
|
!.env.example
|
|
|
|
*.db
|
|
*.db-journal
|
|
*.db-shm
|
|
*.db-wal
|
|
# data/ 整体不入库(运行时数据/上传文件/大二进制)。例外:邀请落地页 dl.html 及其
|
|
# 引用的静态插画(coupon-page-bg.png 底图 + sb-brand.png logo)——既是生产落地页资产
|
|
# 又是本地测试资产,纳入 git 便于同事一致测试、且随部署进生产 /media(否则线上 404→落地页毛坯)。
|
|
# (见 docs/邀请功能-实现原理与本地测试.md)。其余(avatars/ / *.apk / app.db 等)仍忽略。
|
|
data/*
|
|
!data/media/
|
|
data/media/*
|
|
!data/media/dl.html
|
|
!data/media/taobao_landing.jpg
|
|
!data/media/coupon-page-bg.png
|
|
!data/media/sb-brand.png
|
|
|
|
secrets/*
|
|
!secrets/.gitkeep
|
|
*.pem
|
|
*.key
|
|
|
|
.DS_Store
|
|
.idea/
|
|
.vscode/
|
|
*.swp
|
|
|
|
# 运行日志(run.sh 输出, 不入库)
|
|
*.log
|
|
logs/
|
|
|
|
# Claude Code 自动持久化的权限 allowlist / 个人本地设置(会话专属,不入库)。
|
|
# 需要团队共享的 Claude 配置(commands/ 等)可单独 git add -f,不受此忽略影响。
|
|
.claude/settings.json
|
|
.claude/settings.local.json
|
|
tests/meituan_coupon_bj.tsv
|
|
tests/meituan_coupon_data.tsv
|
|
tests/meituan_coupon_fz.tsv
|
|
tests/meituan_coupon_xm.tsv
|