e8f3f1674d
feat(web): per-user photo endpoints (list/upload/get/delete) behind JWT
...
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-24 21:12:14 +08:00
29cbf524e9
feat(routes): AuthUser extractor validating Bearer JWT
...
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-24 21:08:42 +08:00
e1820d0ec8
feat(auth): issue/verify username-bearing HS256 JWT
...
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-24 20:57:37 +08:00
58bed0ae44
feat(server): 登录与开发者入口门改走 MySQL
...
UserStore/DevGate 不再写死,改为从 MySQL 实时查询(每次校验一条索引查询、
不缓存整表,照顾内存):
- 新增 db_pool_from_env(),UserStore 与 DevGate 共用一个 sqlx 懒连接池
- verify() 查 ccuser 表、allows() 查 dev_gate 表,均改为 async
- 未设置 DATABASE_URL 时各自回退到内置/文件兜底,便于本地无库开发
连接串经环境变量 DATABASE_URL 注入(线上写在 weather.env)。
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-20 20:43:23 +08:00
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
58284f3fe0
feat: add login/auth system + blog page with rainbow design
...
- Client: auth API wrapper (api/auth.ts) + useAuth hook with localStorage persistence
- Client: LoginPage/LoginForm with remember-me and loading states
- Client: BlogPage with hero section, rainbow spotlight cursor effect, post list
- Client: CSS rainbow gradient utilities for text/borders/backgrounds
- Server: POST /api/web/login with username/password verification + token
- Server: CORS extended to POST + Content-Type header
- Server: auth.rs token issuer, serde dependency for JSON
- Chore: gitignore Server/.vite
Co-Authored-By: Claude <noreply@anthropic.com>
2026-06-18 00:00:38 +08:00
2205408252
Initial commit: React client + Rust server full-stack project
...
Co-Authored-By: Claude <noreply@anthropic.com>
2026-06-17 20:49:17 +08:00