# peiwang **Repository Path**: sxran/peiwang ## Basic Information - **Project Name**: peiwang - **Description**: 陪玩 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-10-22 - **Last Updated**: 2026-10-23 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Quasar App (quasar-project) 星球项目 ## 产品目标 该产品帮助想做社交的星球主提供一个属于自己独立运营的’星球‘。 每个星球是独立且隔离互不影响 您拥有该星球完整的运营权:管理星球的内容,将优秀内容(帖子/博客/图集/视频/文章/新闻)推广到搜索引擎上,内容付费,社交活跃,星球变现。 请注意我们不审核内容,星球主自己管控内容,我们一切以用户为主,星球主不能欺骗用户。 每个用户的所有行为都是依赖于具体星球,但是一个账号可以本身可以拥有多个星球。 ## Install the dependencies ```bash yarn # or npm install ``` ### Start the app in development mode (hot-code reloading, error reporting, etc.) ```bash quasar dev ``` ### Lint the files ```bash yarn lint # or npm run lint ``` ### Format the files ```bash yarn format # or npm run format ``` ### Build the app for production ```bash quasar build ``` ### Customize the configuration See [Configuring quasar.config.js](https://v2.quasar.dev/quasar-cli-vite/quasar-config-js). ### SSR的流程是这样的: SSR(服务器) → HTML 发送到浏览器 → 客户端创建 Vue app → 执行 boot files(CLIENT) → 执行 hydration(patch 现有 DOM) → onMounted #### SSR国际化底层技术细节: 客户端用中文重新渲染了一遍页面。(SEO也可以放心的国际化) - 第一阶段:SSR 输出 HTML(英文) - 第二阶段:浏览器加载 JS,Vue 开始 Hydration。这一步 Vue 会对比: 服务器给的 DOM:Browse by Letter 客户端渲染结果:按 zh 语言应该是:按字母浏览(举例) 发现内容不一样 → 触发响应式更新 - 第三阶段:Vue 重新执行了一次虚拟 DOM 渲染,然后把真实 DOM 更新成中文。 ps-Vue 3 的 hydration 很智能: - 文本不一致 → 允许客户端覆盖 - 结构不一致 → 才会 warning - 只是 文本变了,结构

没变,所以 Vue 默默帮你替换了。 可以优化,重点是这几处(按影响优先级): [P1] 六个内容聚合页都未标记 seo: true,当前会被统一 noindex 路由:routes.ts (line 22) 到 :104 (line 104) 你在 router/index.ts 里是 to.meta.seo === true 才允许索引,所以 /board /blog /category /discussion /gallery /timeline 现在默认不可收录。 如果这些是面向搜索流量的落地页,建议加 seo: true。 [P1] /post/:id 未标记 SEO,详情页同样会被 noindex 路由:routes.ts (line 278) 详情页通常是最有 SEO 价值的页面之一,建议明确加 seo: true(前提是允许公开访问且内容可索引)。 [P2] 多入口同一列表组件,存在重复内容风险 路由:routes.ts (line 22) 到 :104 (line 104) 这 6 个路径都指向同一个 pages/posts/IndexPage.vue,搜索引擎可能认为是近重复页。 建议:要么每个页有明确差异化内容与 meta,要么设置 canonical 到主路径,或合并为单一规范路由(如 /posts/:type)+ canonical。 [P2] 动态参数未做约束,容易被异常 URL 污染抓取 路由:routes.ts (line 236)、:264 (line 264)、:278 (line 278) :id 没有限制,爬虫会尝试大量无效变体。 建议用正则约束(如数字 ID::id(\\d+))+ 无效参数重定向/404。 [P3] SEO 页建议统一补充路由级语义字段 已有 seo: true 的页:routes.ts (line 106) 起、:206 (line 206) 起 目前多处只有 seo: true,建议统一约定 meta 结构(如 title、description、ogType、canonical),便于 SSR/head 逻辑一致输出。 如果你愿意,我可以下一步直接给你改一版 routes.ts(含 seo 补齐、参数约束、canonical 规划草案)。 seo-title.ts site-url.ts