更新日志
本项目遵循 Keep a Changelog 格式。
[Unreleased]
[2.0.0] - 2026-08-14
新增
多标签分类系统:每家餐厅支持主分类 + 跨分类属性标签(自助/清真/炸鸡),筛选面板按标签过滤
人均价格展示:调研美团/大众点评数据,为 123 家餐厅添加 avgPrice 字段,卡片显示"人均XX元"
重复门店防重:添加页面实时查重(blur 触发),提交前二次校验;API 代理层 POST 拦截返回 409
评分功能(代码就绪,暂未启用):详情页星级评分交互 + 表单集成
优化
分类体系精简:18 类 → 12 类,遵循"按吃法/场景分,不按菜品分"原则
烤串 + 烤肉 + 烧烤 → **烧烤**(46 家)
小吃 + 快餐简餐 → **小吃快餐**(31 家)
东北菜 + 铁锅炖 → **东北菜**(22 家)
东南亚菜/新疆菜 → 并入西餐/烧烤/小吃快餐
卡片 UI 统一:grid 等高 + 附加标签 pill 展示
数字同步:header / 筛选区 / footer 三处收录数实时同步
安全
XSS 防护:所有动态内容经 esc() 转义(index / admin / 详情页)
管理密码改为服务端校验(/api/auth 端点),移除前端明文密码
CORS 白名单限制为项目域名
评论删除增加频率计数器保护
内联 onclick 改为 data-attribute 事件绑定
修复
图片代理:Supabase Storage 请求补充 Auth 头,修复 403
41 家重复餐厅合并(含评论迁移),保留 3 家合理分店
loadDynamic() 动态加载不再覆盖静态卡片的分类数据
PASTA BAR 手工意面分类修正(其他菜系 → 西餐)
数据
210 家餐厅完成新分类重映射
123 家餐厅有人均价格数据(中位数 50 元)
Supabase ai_note 列存储结构化 tags + avgPrice JSON
移除
src/styles/global.css(未引用的死代码)
src/lib/supabase.ts(未引用的死代码)
[1.0.0] - 2026-08-11
新增
首页静态渲染 + Supabase 动态增量加载
餐厅详情页 SSR + 评论系统
管理后台(登录/删除餐厅/删除评论)
添加餐厅表单 + 图片上传
Cloudflare Pages 部署 + Supabase PostgreSQL
筛选面板(分类/区域/排序)+ 搜索
状态持久化(sessionStorage + URL 参数)
[Unreleased]: https://github.com/voidleap-dev/xiaozhong-dianping/compare/v2.0.0...HEAD
[2.0.0]: https://github.com/voidleap-dev/xiaozhong-dianping/compare/v1.0.0...v2.0.0
[1.0.0]: https://github.com/voidleap-dev/xiaozhong-dianping/releases/tag/v1.0.0