Commit Graph

4 Commits

Author SHA1 Message Date
cc
5b60185f94 feat(start): 背景按时段选图(6-24 随机 No.1~5,0-6 用 Night),标题改 CCStart
- StartPage 背景改为纯本地时间:白天从 No.1~No.5 随机取一张并固定整页生命周期,夜间(0-6点)用 Night
- 登录页 h2 与 index.html 标签页标题由 Sign in 改为 CCStart
- 起始页背景图压成 WebP(限宽 2560,质量 ~82),单图从 2.5~4.7MB 降到 113~375KB,适配 3Mbps 带宽
- 删除旧 dark.png/light.jpg
- 部署文档补充前端单独重发流程与 WSL 实际路径

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-22 22:18:47 +08:00
cc
0b3b85c528 feat(start): 快捷入口改为底部分类抽屉
- 移除搜索框下方的快捷入口宫格(QuickLinks)
- 新增 CategoryDock:底部玻璃分类胶囊(社交/娱乐/开发/游戏),
  悬停时菜单以 transform-origin:bottom 从胶囊向上抽出,链接错位浮现;
  含悬停桥、点击/焦点开合、reduced-motion 降级
- StartPage 加透明占位,保持问候/搜索框删除前的垂直位置与比例
- 文档:startpage-quicklinks → startpage-category-dock 并重写;
  修正 weather 部署文档过期的 /mnt/f 路径

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-21 21:23:12 +08:00
cc
b2a0b563c9 feat(client): 隐藏登录入口改为后端校验 URL hash
去掉起始页右下角设置齿轮(SettingsGear),登录页不再有任何 UI 入口;
改为监听地址栏 `#<hash>`,经 checkGate() 交后端 /api/web/gate 校验,
命中合法开发者才放行到登录页。合法 hash 只存在后端、前端不写死。

- 新增 api/gate.ts;App.tsx 用 hashchange 监听 + 防竞态校验
- 返回起始页时抹掉地址栏 hash,避免密钥留在历史里
- Server/.gitignore 忽略 dev_gate.txt(秘密,单独部署)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-20 20:45:30 +08:00
cc
a185e56c22 feat: 导航起始页 + 天气/定位 + 天气动态效果
起始页(StartPage)
- 极简玻璃风导航页作未登录首页:时段问候、Bing 默认可切换搜索、10 个快捷位、右下齿轮进登录
- 昼夜背景自动切换(light/dark),按天气图标码 + 本地时间判断
- 天气动态效果(WeatherFx canvas):雨/雪/雷,克制风格,尊重 reduced-motion

天气与定位(前后端)
- 后端 /api/web/weather:高德 IP 定位(城市+坐标) + 和风实时天气
- 和风用 JWT(EdDSA/Ed25519)认证,密钥走环境变量、仅后端持有
- 每日限流(高德 300、和风 900,北京 0 点归零) + 10 分钟按 IP 缓存
- 前端 useWeather + WeatherIcon(7 类极简 SVG)

导航与登录
- 浏览器返回键支持(History API);返回即登出
- 记住我:勾选存 localStorage、不勾存 sessionStorage,默认不勾

其他
- .gitignore 忽略 *.pem/*.env 等密钥
- 新增文档 docs/startpage-weather-location.md 及部署 spec/plan

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-18 20:13:18 +08:00