<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>Galilieo Atlas — Works, Notes &amp; Explorations</title><description>Galilieo 的个人作品、开发笔记与探索记录，展示 AI 应用开发、真实项目、实习实践和持续学习。</description><link>https://galilieo.cn/</link><item><title>Ionic 缓存页面里，URL 变化、页面显示和数据刷新为什么是三件事</title><link>https://galilieo.cn/notes/ionic-cached-navigation-and-refresh/</link><guid isPermaLink="true">https://galilieo.cn/notes/ionic-cached-navigation-and-refresh/</guid><description>从嵌套 Router Outlet、页面缓存和返回来源出发，复盘跨模块预览与列表刷新策略的边界。</description><pubDate>Wed, 26 Aug 2026 16:00:00 GMT</pubDate><category>前端与移动端</category><category>Ionic</category><category>状态管理</category><category>问题排查</category></item><item><title>修复 Bug 之后，怎样真正吃透相关代码</title><link>https://galilieo.cn/notes/learn-after-fixing-bugs/</link><guid isPermaLink="true">https://galilieo.cn/notes/learn-after-fixing-bugs/</guid><description>从状态来源、正常路径、框架生命周期和测试脚本四个角度，整理一次修复结束后继续读懂系统的方法。</description><pubDate>Wed, 26 Aug 2026 16:00:00 GMT</pubDate><category>工程笔记</category><category>问题排查</category><category>状态管理</category><category>工程实践</category></item><item><title>付费页面里，入口参数为什么不能代替真实权益状态</title><link>https://galilieo.cn/notes/purchase-eligibility-entitlement-orchestration/</link><guid isPermaLink="true">https://galilieo.cn/notes/purchase-eligibility-entitlement-orchestration/</guid><description>复盘一次付费页面的状态错位：路由参数只说明用户从哪里来，真实权益仍应由可验证的数据源决定。</description><pubDate>Wed, 26 Aug 2026 16:00:00 GMT</pubDate><category>工程笔记</category><category>状态管理</category><category>问题排查</category></item><item><title>一个一直显示“生成中”的任务，为什么不能直接重新提交</title><link>https://galilieo.cn/notes/recoverable-async-tasks-need-server-id/</link><guid isPermaLink="true">https://galilieo.cn/notes/recoverable-async-tasks-need-server-id/</guid><description>从本地任务快照、服务端任务标识和恢复语义出发，复盘异步生成页面刷新后的安全恢复边界。</description><pubDate>Wed, 26 Aug 2026 16:00:00 GMT</pubDate><category>工程笔记</category><category>AI 应用</category><category>异步任务</category><category>状态管理</category></item><item><title>为什么 object-fit: contain 仍然会让视频控制条被裁切</title><link>https://galilieo.cn/notes/video-element-box-vs-object-fit/</link><guid isPermaLink="true">https://galilieo.cn/notes/video-element-box-vs-object-fit/</guid><description>从父级媒体舞台、video 元素盒子、固有尺寸（intrinsic size）与 overflow 出发，复盘一次低高度窗口中的原生控制条裁切问题。</description><pubDate>Wed, 26 Aug 2026 16:00:00 GMT</pubDate><category>前端与移动端</category><category>CSS</category><category>问题排查</category></item><item><title>把 AI 生图与生视频迁到 Web 时，真正需要迁移的是什么</title><link>https://galilieo.cn/notes/ai-creation-web-migration/</link><guid isPermaLink="true">https://galilieo.cn/notes/ai-creation-web-migration/</guid><description>复盘一次从移动端 AI 媒体生成业务迁移到 Vue Web 的过程：如何拆分平台能力、异步任务、图片与视频表单，以及跨路由草稿恢复。</description><pubDate>Mon, 03 Aug 2026 16:00:00 GMT</pubDate><category>前端与移动端</category><category>AI 应用</category><category>Vue 3</category><category>异步任务</category></item><item><title>一个聊天 TTS 按钮，为什么要拆成三层边界</title><link>https://galilieo.cn/notes/chat-tts-three-boundaries/</link><guid isPermaLink="true">https://galilieo.cn/notes/chat-tts-three-boundaries/</guid><description>从会话开关、消息是否可朗读到 App 后台播放，复盘 Ionic + Vue 聊天 TTS 的权限、内容与生命周期设计。</description><pubDate>Mon, 03 Aug 2026 16:00:00 GMT</pubDate><category>前端与移动端</category><category>Ionic</category><category>Vue 3</category><category>TTS</category></item><item><title>进入第一份开发实习后，我对真实项目协作的理解</title><link>https://galilieo.cn/notes/first-internship-collaboration/</link><guid isPermaLink="true">https://galilieo.cn/notes/first-internship-collaboration/</guid><description>从分支整合、产品规则确认、验证边界和提交范围出发，整理我进入真实项目后逐渐建立的协作方法。</description><pubDate>Mon, 03 Aug 2026 16:00:00 GMT</pubDate><category>实习复盘</category><category>实习</category><category>协作</category><category>工程实践</category></item><item><title>一个两行修复，为什么从 Vue 一直追到了 Android 原生插件？</title><link>https://galilieo.cn/notes/capacitor-android-media-save-debugging/</link><guid isPermaLink="true">https://galilieo.cn/notes/capacitor-android-media-save-debugging/</guid><description>从正常与失败保存路径的第一次分叉出发，复盘一次跨越 Vue、Capacitor、Android MediaStore 和 Git 历史的媒体保存问题。</description><pubDate>Thu, 16 Jul 2026 16:00:00 GMT</pubDate><category>前端与移动端</category><category>Vue 3</category><category>Capacitor</category><category>Android</category><category>问题排查</category></item><item><title>AI 图片与视频任务异常时，怎样建立一条完整证据链</title><link>https://galilieo.cn/notes/ai-media-task-evidence-chain/</link><guid isPermaLink="true">https://galilieo.cn/notes/ai-media-task-evidence-chain/</guid><description>从请求图片、任务 ID、轮询结果到最终资源，复盘移动端 AI 异步生成问题的前后端边界与排查方法。</description><pubDate>Sun, 12 Jul 2026 16:00:00 GMT</pubDate><category>工程笔记</category><category>AI 应用</category><category>异步任务</category><category>问题排查</category></item><item><title>如何整理一次实习问题，让它以后能写进简历和面试</title><link>https://galilieo.cn/notes/internship-notes-for-resume/</link><guid isPermaLink="true">https://galilieo.cn/notes/internship-notes-for-resume/</guid><description>把零散日报整理成问题、证据、方案、验证和边界五部分，让一次 Bug 排查沉淀为可以复述的工程经验。</description><pubDate>Sun, 12 Jul 2026 16:00:00 GMT</pubDate><category>工程笔记</category><category>实习</category><category>问题排查</category></item><item><title>Ionic + Capacitor 项目中，Android 和 iOS 的返回行为有什么区别</title><link>https://galilieo.cn/notes/ionic-capacitor-platform-back/</link><guid isPermaLink="true">https://galilieo.cn/notes/ionic-capacitor-platform-back/</guid><description>从 Android ionBackButton 到 iOS swipeBackEnabled，复盘混合应用中路由、全局弹窗和页面内弹窗的分层返回处理。</description><pubDate>Sun, 12 Jul 2026 16:00:00 GMT</pubDate><category>前端与移动端</category><category>Ionic</category><category>Android</category><category>iOS</category></item><item><title>3000 条聊天记录下，怎样保持历史消息加载后的阅读位置</title><link>https://galilieo.cn/notes/webview-chat-history-scroll-anchor/</link><guid isPermaLink="true">https://galilieo.cn/notes/webview-chat-history-scroll-anchor/</guid><description>从 visibleStartIndex、scrollHeight 差值补偿到虚拟列表取舍，复盘 Android WebView 长聊天记录的阶段性优化。</description><pubDate>Sun, 12 Jul 2026 16:00:00 GMT</pubDate><category>前端与移动端</category><category>Android</category><category>性能优化</category><category>问题排查</category></item><item><title>一次 Android 返回手势问题的完整排查过程</title><link>https://galilieo.cn/notes/android-back-gesture-debugging/</link><guid isPermaLink="true">https://galilieo.cn/notes/android-back-gesture-debugging/</guid><description>从路由栈、组件弹窗和系统返回事件三个层次，复盘一次 Ionic 应用中 Android 返回行为的统一处理。</description><pubDate>Fri, 10 Jul 2026 16:00:00 GMT</pubDate><category>前端与移动端</category><category>Android</category><category>Ionic</category><category>问题排查</category></item><item><title>Ionic 缓存 Tab 中，怎样找到当前真正的滚动容器</title><link>https://galilieo.cn/notes/ionic-cached-tabs-scroll-container/</link><guid isPermaLink="true">https://galilieo.cn/notes/ionic-cached-tabs-scroll-container/</guid><description>从 iOS statusTap 需求出发，复盘 Ionic 页面缓存、嵌套 Tab、虚拟视频流和多种滚动容器的识别与策略分流。</description><pubDate>Fri, 10 Jul 2026 16:00:00 GMT</pubDate><category>前端与移动端</category><category>Ionic</category><category>iOS</category><category>问题排查</category></item><item><title>虚拟列表中，为什么组件看得见却仍会被下一项遮挡</title><link>https://galilieo.cn/notes/virtual-list-height-and-transform/</link><guid isPermaLink="true">https://galilieo.cn/notes/virtual-list-height-and-transform/</guid><description>从真实内容高度、虚拟列表占位高度和 transform 布局语义，复盘一次只在 iOS 真机出现的模块遮挡问题。</description><pubDate>Fri, 10 Jul 2026 16:00:00 GMT</pubDate><category>前端与移动端</category><category>虚拟列表</category><category>iOS</category><category>问题排查</category></item><item><title>心屿为什么需要多轮对话和轻量长期记忆</title><link>https://galilieo.cn/notes/heart-island-multi-turn-memory/</link><guid isPermaLink="true">https://galilieo.cn/notes/heart-island-multi-turn-memory/</guid><description>心屿为什么需要多轮对话和轻量长期记忆</description><pubDate>Thu, 09 Jul 2026 16:00:00 GMT</pubDate><category>项目日志</category><category>AI 应用</category><category>多轮对话</category></item></channel></rss>