fdc2f8b94b
feat(ui): 随机实心鼠标 + 拖动隐藏 + 修复刷新闪博客
...
- CursorFollower: 空心环→随机实心几何形状(7选1)+随机颜色,每次刷新换
- 照片墙拖动照片(移动后)隐藏自定义鼠标,松手复现
- App: 加 resolving 闸,异步路由解析完成前不渲染目标页,
修复已登录刷新特殊文件夹时先闪 BlogPage 再跳回照片墙
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-25 21:09:18 +08:00
8d89cee451
@
...
feat(photo-wall): 修复4个问题 + 特殊文件夹(共享公共相册)
**照片墙修复:**
- 右键菜单 z-index 40→9999,不再被元素遮挡
- 图片放大后强制重建 DOM(img key 绑定 w/h)
- 右键菜单添加滑条调节旋转步长(1°-90°)和缩放步长(照片 px / 其他 scale)
- Delete 键可删除右键菜单选中的元素(便签也能删)
**特殊文件夹功能(按设计文档实现):**
- 后端:FolderRegistry 解析 special_folders.txt 注册表 + FolderStore 按文件夹存图
- 后端:5 个接口(存在性检查/列表/上传/获取/删除),白名单 + 管理员鉴权
- 前端:App.tsx 按 hash 路由到特殊文件夹,复用 PhotoWallPage
- 前端:文件夹模式无张数上限,localStorage 按文件夹隔离
- 前端:管理员配额警告条(超 1GiB 时显示)
- 前端:403 无权访问时退回起始页
Co-Authored-By: Claude <noreply@anthropic.com>
@
2026-06-24 22:19:29 +08:00
9685336903
feat(client): photos API client + expose auth token
...
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-24 21:18:43 +08:00
d240c128dc
feat(photo-wall): client-only photo wall behind #photo login entry
...
已部署到线上(frontend-only)。本提交把工作区里已上线但未提交的实现固化为分支基线。
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-24 20:55:03 +08:00
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
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