云云AI 开发日志:用 Astro 与 Vue 3 搭建直播助手网页端

从直播业务出发整理网页端

这次把云云AI 网页端的开发整理成一篇项目日志。网站既要向初次访问的用户介绍直播助手,也要让已经登录的用户管理直播间、订单和账户。两类页面的访问方式不同,放在同一套页面逻辑里,容易让介绍内容和业务状态互相牵扯。

当前工程因此分成 marketing 和 spa 两个部分:前者服务公开内容,后者服务交互业务。它们通过同一个官网入口串起来,但各自保留适合自己的路由和构建方式。

官网内容交给 Astro

首页、定价、关于和博客使用 Astro 静态输出。公开页面可以直接呈现标题、介绍和正文,用户打开页面时就能看到内容,也方便维护每个页面的描述和分享信息。

这里需要注意,营销站的数据是在构建阶段读取的。后端内容发生变化后,要通过重新构建更新静态页面,不能把浏览器里的实时请求行为套用到这些页面上。

业务控制台交给 Vue 3

登录后的控制台使用 Vue 3、TypeScript 和 Vite,包含直播列表、直播数据、订单和个人资料等入口。组件负责交互,路由组织页面,接口层处理数据,让业务页面可以随着登录状态和操作结果及时更新。

维护时我更关心一项操作有没有完整反馈:加载中是否明确、没有数据是否有提示、接口失败后能否恢复、重复点击是否会重复提交。这些细节决定工具是否好用。

部署也保持简单

两个子项目最终都生成静态文件,由 Nginx 提供访问;业务数据直接请求独立的后端 API。开发、测试和正式环境分别选择对应的 API 地址,构建产物与环境配置一起核对。

这份日志记录的是当前项目结构。后续新增功能时,我会继续沿着公开内容与业务交互的边界补充页面,让官网介绍和真正使用工具的流程保持连贯。

项目链接

云云AI · 直播助手

同项目开发日志