{"release":{"tag":{"name":"v0.9.0","path":"/public_client/coding-plan-query/tags/v0.9.0","tree_path":"/public_client/coding-plan-query/tree/v0.9.0","message":"v0.9.0 悬浮窗位置记忆下沉到后端，修复贴边与越界","commit":{"id":"08df15256d80eb12fc1909ece9553c1a18adc1db","short_id":"08df152","title":"chore: 版本号升至 0.9.0","title_markdown":"chore: 版本号升至 0.9.0","description":"","description_markdown":"","message":"chore: 版本号升至 0.9.0\n","message_markdown":"chore: 版本号升至 0.9.0","detail_path":"/public_client/coding-plan-query/commit/08df15256d80eb12fc1909ece9553c1a18adc1db","commits_path":"/public_client/coding-plan-query/commits/08df15256d80eb12fc1909ece9553c1a18adc1db","tree_path":"/public_client/coding-plan-query/tree/08df15256d80eb12fc1909ece9553c1a18adc1db","author":{"name":"讴讴酱","email":"984769263@qq.com","username":"ououjiang","user_path":"/ououjiang","enterprise_user_path":null,"image_path":"no_portrait.png#讴讴酱-ououjiang","is_gitee_user":true,"is_enterprise_user":null,"widget_url":""},"committer":{"name":"讴讴酱","email":"984769263@qq.com","username":"ououjiang","user_path":"/ououjiang","enterprise_user_path":null,"image_path":"no_portrait.png#讴讴酱-ououjiang","is_gitee_user":true,"is_enterprise_user":null,"widget_url":""},"authored_date":"2026-11-03T17:00:41+08:00","committed_date":"2026-11-03T17:00:41+08:00","signature":null,"build_state":null},"archive_path":"/public_client/coding-plan-query/repository/archive/v0.9.0","signature":null},"operating":{"edit":false,"download":true,"destroy":false,"enterprise_forbid_zip":false},"release":{"title":"v0.9.0","path":"/public_client/coding-plan-query/releases/tag/v0.9.0","tag_path":"/public_client/coding-plan-query/tree/v0.9.0","project_id":51129315,"created_at":"2026-11-03T17:03:30+08:00","is_prerelease":false,"description":"## 悬浮窗位置记忆修复\n\n### 位置记住得更牢\n\n悬浮窗的位置不再只存在浏览器本地存储，而是存进应用数据库（`app_settings`）。悬浮窗和主窗口是两个独立的 webview，之前各存各的，久了会对不上；浏览器本地存储也可能被清理。现在两边读同一份，重启应用也在。\n\n### 修掉几个位置乱跑的问题\n\n- **自动贴边之后不再「僵住」**：程序自己把窗口挪到右下角时，会被误判成「用户拖过」，之后悬浮窗就不再跟着屏幕走了，拔掉显示器或改分辨率后位置会飘。现在程序自己的移动有登记，不会被算成用户操作。\n- **恢复位置不再被抢走**：开窗时「回到上次位置」和「按内容改尺寸后贴回右下角」是两条并发的异步链，谁后落地谁说了算，贴边那条一旦后到，用户摆好的位置就被抢回右下角。现在顺序固定，恢复一定排在贴边前面。\n- **多屏混合缩放下不再飘**：位置计算全程改用物理像素，逻辑坐标折算过去带来的偏差没有了。\n- **展开明细掉出屏幕时不再整个挪走**：展开后窗口变大变宽，可能有一截掉到屏幕外。现在只做「刚好不越界」的最小平移，把用户摆的位置留在原处。\n- **拖动中的坐标不再写旧值**：落盘取的是窗口实时坐标，而不是移动事件里带着的那个，避免把用户刚摆好的位置冲掉。\n\n### 其他\n\n- 悬浮窗拖动改为走系统原生拖动（支持贴边吸附），左键才算拖动，右键弹菜单不会被误记。\n\n---\n提交：08df15256d80eb12fc1909ece9553c1a18adc1db","author":{"name":"讴讴酱","username":"ououjiang","path":"/ououjiang","avatar_url":"no_portrait.png#讴讴酱-ououjiang"},"attach_files":[{"download_url":"/public_client/coding-plan-query/attach_files/3581047/download/AI%20%E8%AE%A2%E9%98%85%E9%A2%9D%E5%BA%A6%E6%9F%A5%E8%AF%A2%E5%8A%A9%E6%89%8B_0.9.0_x64-setup.exe","name":"AI 订阅额度查询助手_0.9.0_x64-setup.exe","cli_download_url":"https://gitee.com/public_client/coding-plan-query/releases/download/v0.9.0/AI%20%E8%AE%A2%E9%98%85%E9%A2%9D%E5%BA%A6%E6%9F%A5%E8%AF%A2%E5%8A%A9%E6%89%8B_0.9.0_x64-setup.exe","censor_failed":false,"censor_tip":null},{"download_url":"/public_client/coding-plan-query/attach_files/3581048/download/update-manifest.json","name":"update-manifest.json","cli_download_url":"https://gitee.com/public_client/coding-plan-query/releases/download/v0.9.0/update-manifest.json","censor_failed":false,"censor_tip":null}],"zip_download_url":"/public_client/coding-plan-query/releases/tag/v0.9.0.zip","tar_download_url":"/public_client/coding-plan-query/releases/tag/v0.9.0.tar.gz"}}}