Repository navigation
v3.2.0
- 服务端汇总统计:按北京时间按天统计页面访问、爬虫、来源域名和
?from=参数、新建行程(邀请码、自带 Key、管理页)、当天有计算的行程数、发布方案页次数、方案页打开次数;只记次数,不记 IP 和完整地址,不用 Cookie,保留 35 天;/api/admin/stats返回近 30 天。 - 编辑页的计算环境(Pyodide)、地图(Leaflet)和 Markdown 渲染(marked)改为随站点自己托管(
/vendor/),构建时下载固定版本并校验 sha256,不再依赖 jsDelivr 和 cdnjs;编辑页的内容安全策略相应收紧。 - 不兼容:构建(
npm run build、npm run deploy)第一次需要联网下载约 13 MB 的依赖,缓存在.cache/;下载失败或校验不对会让构建报错。 - 不兼容:
wrangler.jsonc的assets增加了not_found_handling: "404-page"和更多的run_worker_first路径;自部署的人要同步这两处,否则页面访问不会计数,不存在的地址也没有站内 404 页。 - 方案页不存在、已停止分享或已删除时,返回说明原因的 404 页面,并给出首页入口;访问口令页也改用统一样式。
- 编辑链接对应的行程已经删除或到期时,接口返回
TRIP_GONE(状态码 404),和密钥不对(UNAUTHORIZED,401)区分开。 /api/env返回版本号。- 新增本更新记录和 GitHub Releases 升级说明。
- 设计系统:统一颜色、深色模式(跟随系统)和组件;编辑页、方案页、示例页、管理页都套用;新增
/design样式指南。 - 编辑页:手机上底部分页签「填写 / 地图 / 方案」,算完自动切到「方案」;车次表格每个车站一行竖排;所有原生 alert / confirm / prompt 换成页内弹窗和轻提示,删除行程要输入行程名称确认;每个方案一张卡片,关键数字(搭车人数、车主多绕、打车人数)放前面;方案过期提示带「重新计算」;还没有方案时有空状态说明。
- 编辑页加载失败不再整页报错:计算环境没加载出来时说明原因并可以重试,地图或 Markdown 渲染没加载出来时仍能填写。
- 行程已经删除或到期时,编辑页显示专门的页面状态,并把它从这台设备的「最近的行程」里去掉。
- 逻辑加固:成员重名会在保存和计算前拦住,并定位到输入框(计算内核
carpool.py也加了校验);车次、时间、日期、空座、同行人数、绕路分钟数的格式和范围校验,计算按钮给出可点击的错误列表;编辑页的日期统一按北京时间显示。 - 方案页模板内嵌同一套设计变量,支持深色,打印时强制浅色;页面图标内嵌,不再引用站点上的图片。
- 管理页新增流量统计面板(近 30 天页面访问、使用漏斗、来源和爬虫排行,突出 AI 爬虫)。
- 隐私页补上服务端汇总统计的口径,第三方一节更新。
- 本地版(
ui.py)也提供设计系统的样式和图标文件。
线上:https://carpool.eigentime.org · 自部署升级见 README 的「自部署升级」一节。