基于 Astro 与 Vue 的 Cloud Commerce 主题,仓库为薄壳,店面逻辑位于 @cloudcommerce/* 依赖包中
tema-focinho — Astro 电商模板
作者 ecomplus
E-Com Plus 的 Cloud Commerce 宠物店主题,基于 Astro 与 Vue,围绕犬猫用品的订阅制补货、重货配送和兽医处方场景做了定制。
看看你的网站会是什么样
浏览真实页面截图,比较内容排版与手机效果。点击下方缩略图切换,放大查看整页细节。
全部页面与视图 3
截图用于了解视觉与布局,交互效果请以实际项目为准。
值得关注的模板亮点
从已有项目资料中,快速了解它的特点。
新增 NichoPetSection.astro 宠物区块,提供按动物画像筛选、包装使用时长表和订阅入口
settings.json 预设蓝橙配色、Pix 5% 折扣、3 期免息和满 R$149 免运费
首页含两屏 hero、三个商品橱窗与三格 banner,extra-pages/ 提供葡萄牙语联系、退换货和条款页
演示站为 noindex,robots.txt 屏蔽全部抓取,品牌名、logo 与域名均为占位
模板详细介绍
tema-focinho 是 E-Com Plus 官方组织下的一份 Cloud Commerce 主题,基于 Astro 与 Vue 构建,面向犬猫宠物用品零售。它由通用 starter ecomplus/store 复制并主题化而来,仓库本身是薄壳:店面组件与店铺逻辑位于 @cloudcommerce/* 依赖包中,本仓库只保留 functions/ssr/src/、functions/ssr/content/ 和 functions/ssr/public/ 等属于主题的部分。
主题的定制集中在宠物补货场景。首页包含两屏 hero、三个商品橱窗、三格 banner 以及一个新增的 NichoPetSection.astro 区块,该区块提供按动物画像筛选、包装使用时长表、重货配送/处方/换粮过渡提示和订阅入口。settings.json 中配置了蓝橙配色、Pix 5% 折扣、3 期免息和满 R$149 免运费;tailwind.config.js 使用蓝灰色中性色阶和较大圆角;extra-pages/ 下提供葡萄牙语的联系、退换货和条款页面。
README 明确说明该主题是市场假设而非已有客户验证:九个细分主题中只有宠物这一支没有真实客户案例,品牌名、logo 和域名均为占位。已知限制包括:包装使用时长表是静态样稿,不进行计算也不读取商品标签;兽医处方流程仅为文案,没有上传或校验;/s/cao-filhote、/assine 等路由需要目录中存在对应分类后才会响应;robots.txt 当前屏蔽全部抓取,因为演示站为 noindex。
目录为远程数据,未配置 E-Com Plus 店铺时商品橱窗为空,hero、banner 和宠物区块仍可正常渲染。仓库采用 MIT 许可,可免费使用、修改、商用和分发该版本代码,但演示图片来自 Unsplash 等第三方素材需单独核对许可,Firebase 等外部服务可能产生费用。
适合你的项目吗?
适用场景
- 搭建面向犬猫用品的巴西葡萄牙语宠物电商店面
- 以订阅制补货为核心设计商品陈列与首页结构
- 需要展示重货配送、兽医处方和换粮过渡提示的宠物零售场景
- 作为 E-Com Plus Cloud Commerce 主题的二次开发起点
适合人群
- 使用 E-Com Plus / Cloud Commerce 平台并需要宠物细分主题的开发者
- 希望以订阅制补货为主要卖点的宠物用品商家
- 需要葡萄牙语宠物店前端模板并进行定制的前端团队
上手与定制指南
结合仓库当前版本的说明,按下面的资料检查内容、配置与运行要求。
- 1
运行 npm i 安装依赖,npm run dev 启动本地开发(默认 http://localhost:3000),npm run build 构建
- 2
目录为远程数据,需通过 npm run setup 配置 E-Com Plus 店铺,否则商品橱窗为空
- 3
上线前替换 settings.json 中的名称、域名、logo 与颜色,以及 public/img/uploads/ 中的占位图片和 extra-pages/ 页面内容
- 4
robots.txt 当前屏蔽全部抓取,正式发布前需按需调整
- 5
更新平台版本时统一提升 @cloudcommerce/* 依赖版本并运行 npm run build 验证,而非与 starter 合并
授权与来源资料
使用条件与限制
免费使用 · 保留许可声明本次收录的是公开仓库中采用 MIT 许可的免费版本;免费范围为该版本代码,不代表外部服务或第三方素材免费。
使用时需要遵守
- 允许免费使用、修改、商用和分发该版本代码。
- 分发代码副本或实质性部分时,保留原作者版权声明和完整 MIT 许可声明。
- 代码按现状提供;担保与责任限制以原许可证及适用法律为准。
额外费用与待核对事项
- README 提及 Firebase 集成;启用相关动态功能前需自行配置,并核对 Firebase 的额度与收费。
- 演示图片、字体、图标及其他第三方素材需按各自许可核对,不能仅凭代码的 MIT 许可判断。
- 域名、托管、数据库、支付或 AI 等外部服务可能另外收费。
- 商品目录为远程数据,必须配置 E-Com Plus 店铺(npm run setup)才能显示商品橱窗,否则橱窗为空。
- /s/cao-filhote、/assine 等路由只有在目录中存在对应分类后才会响应,否则不可用。
- 包装使用时长表是静态样稿,不进行计算,也不读取商品标签数据。
- 兽医处方流程仅为文案,没有文件上传或校验功能。
- Logo 与图标为占位用的位图字标,上线前需替换。
- robots.txt 当前屏蔽全部抓取,因为演示站为 noindex,正式发布前需调整。
- 横幅图片来自 Unsplash,需按 CREDITOS.md 单独核对第三方素材许可。
- 需配置 storeId 与 Firebase 项目(npm run setup),涉及外部服务可能产生费用。
查看原文依据
Permission is hereby granted, free of charge
许可证原文
O catálogo é remoto: sem uma loja E-Com Plus configurada (`npm run setup`), as vitrines de produto vêm vazias
README 原文
As rotas (`/s/cao-filhote`, `/assine`…) só respondem depois que o catálogo tiver as categorias correspondentes.
README 原文
**A tabela de duração é maquete estática.** Não calcula nada e não vem do rótulo do produto.
README 原文
**O fluxo de receita veterinária é copy.** Não há upload nem validação de documento.
README 原文
Logo e ícone são wordmarks placeholder rasterizados.
README 原文
`functions/ssr/public/robots.txt` — hoje bloqueia tudo, porque a demo é `noindex`
README 原文
Banners do Unsplash; imagens do starter removidas. Créditos em `CREDITOS.md`
README 原文
https://github.com/ecomplus/tema-focinho/blob/main/LICENSEhttps://github.com/ecomplus/tema-focinho/blob/main/README.md`functions/*/config.json` — `storeId` e projeto Firebase (`npm run setup`)
README 原文
DeepSeek 根据仓库许可证和 README 整理 ·2026-10-13。结果仅覆盖已读取资料,依赖、图片、字体及后续条款变更以各自原文为准。
项目核对记录与介绍依据
模板资料
- 来源平台
- GitHub
- 资料与维护参考分
- 资料较完整 · 85 / 100
- 技术栈
- Astro · Vue
- 网站类型
- 电商
这个分数如何计算
本站按许可资料(最高30分)、演示链接(12分)、预览图(10分)、Star数(15分)、记录的维护时间(15分)、描述完整度(8分)、功能记录(5分)和分类资料(5分)计算。它不是代码、安全或性能测试,也不是 Google 评分;有链接不代表已实测可用。
这个项目需要核对什么
- 记录的仓库更新时间
- 2026-08-03
- 截图检查日期
- 2026-10-13
已收录演示链接。请用你的内容与屏幕尺寸检查;有演示不代表表单、认证或支付已经可用。
目录记录的主要技术栈是 Astro。请通过依赖清单和锁文件核对实际版本与托管要求。这些说明基于收录资料,不代表代码审计或部署实测。
查看具体选型方法 →介绍的制作与核对状态
介绍由 AI 辅助整理目录与仓库资料。仓库作者不等于这篇介绍的审核者。
审核声明: codex-user-requested-batch-review-20261015 · 2026-10-15
查看当时使用的来源资料
SHA-256: 89d197a495138f0ca013c7bb8c7fcfee59bc71f58afce082f791541db7746daf
2026-10-13T01:27:22.415Z
来源文件 / 仓库# Focinho — loja demo do nicho pet Cópia do starter [`ecomplus/store`](https://github.com/ecomplus/store) tematizada para **cães e gatos**. Pet é a categoria de maior crescimento do e-commerce brasileiro (~38%) e casa quase perfeitamente com recursos que a plataforma já tem: assinatura, multi CD e fidelidade. ## ⚠️ Esta é a única das nove sem prova interna Todas as outras variantes ancoram em cliente real da base: | Nicho | Prova na base | |---|---| | Alimentício | Tia Sônia, BarraDoce, Festpan | | Beleza | Help Perfumaria, Vênus Nails | | Moda | Don't Quest, Lado Fit, Lua Cheia | | Casa | Conexão Home, Conexão Office, Para la Casa | | Construção | Atlas Parafusos, Desicon, Disfoil | | Eletrônicos | Aolar, Eletrogel, Quality Áudio | | Suplementos | Suplementos RP, Grãos da Vida | | **Pet** | **nenhuma** | **Isso é aposta de mercado, não de prova.** Em call de venda não há case do nicho para mostrar — o argumento tem que se apoiar em recurso (assinatura, multi CD) e em cases de outros nichos com dor parecida. Vale saber disso antes de levar a demo para um prospect. > Este nicho também não existe no site institucional: não há marca em > `src/config/brands.ts` nem página em `/segmentos/`. Nome, logo e domínio são > placeholders. ## O eixo: assinatura de ração Ração é o **caso canônico de reposição programada** — consumo previsível (peso do animal × gramas/dia), embalagem grande, recompra mensal. O bloco de "quanto tempo dura o saco" é o que transforma assinatura de desconto em utilidade: a pergunta do tutor não é quanto custa, é quando acaba. Em volta disso, três dores que só existem aqui: 1. **Item pesado** — saco de 15 kg não é frete comum; é caso de multi CD. 2. **Prescrição veterinária** — dieta terapêutica e medicamento exigem receita, e a loja não pode fingir que não. Mesmo tratamento dado ao produto controlado na variante de clubes de tiro. 3. **Transição de ração** — mudança brusca faz mal ao animal, então o pedido sugere proporção de mistura em vez de só entregar o saco novo. ## O que foi customizado em relação ao starter | Arquivo | O que mudou | |---|---| | `functions/ssr/content/settings.json` | Nome, descrição, domínio, logo/ícone, `primaryColor` azul + `secondaryColor` laranja, 5% no Pix, 3x sem juros, frete grátis a partir de R$ 149 | | `functions/ssr/tailwind.config.js` | Escala neutra azul-acinzentada, canto bem arredondado | | `functions/ssr/content/layout.json` | Pitch bar (assinatura, frete, Pix), listas do rodapé, `ogImage` | | `functions/ssr/content/pages/home.json` | Hero de 2 slides, 3 vitrines, grade de 3 banners e a seção de nicho | | `functions/ssr/src/sections/NichoPetSection.astro` | **Novo.** Filtro por perfil do animal, tabela de duração da embalagem, cuidados (frete pesado, receita, transição) e chamada de assinatura | | `functions/ssr/src/sections/_Sections.astro` | Registro da seção `c:nicho-pet` | | `functions/ssr/content/extra-pages/` | Contato, trocas (saco violado, pet não aceitou, medicamento) e termos em PT-BR | | `functions/ssr/public/img/uploads/` | Banners do Unsplash; imagens do starter removidas. Créditos em `CREDITOS.md` | ## Por que azul e laranja É o par que o varejo pet brasileiro já usa — reconhecível de longe, não exige explicação. É deliberadamente a variante mais alegre das nove: aqui a compra é afetiva, não técnica. ## Por que a seção de nicho é um componente, e não HTML no CMS O UnoCSS/Tailwind desta stack varre apenas `./src/**` — classe utilitária escrita dentro de `content/pages/*.json` (seção `custom-html`) não gera CSS. Por isso a vitrine do nicho é um `.astro` em `src/sections/`, registrado pela convenção `c:` que o `_Sections.astro` já previa. ## Rodando ```bash npm i npm run dev # http://localhost:3000 npm run build ``` O catálogo é remoto: sem uma loja E-Com Plus configurada (`npm run setup`), as vitrines de produto vêm vazias — o hero, os banners e a seção de nicho renderizam normalmente. ## Pendências conhecidas - **A tabela de duração é maquete estática.** Não calcula nada e não vem do rótulo do produto. A conta real varia por marca, fórmula e animal. - **O fluxo de receita veterinária é copy.** Não há upload nem validação de documento. Se a hipótese avançar, é o primeiro item a especificar. - Logo e ícone são wordmarks placeholder rasterizados. - As rotas (`/s/cao-filhote`, `/assine`…) só respondem depois que o catálogo tiver as categorias correspondentes. ## Como atualizar a base da plataforma Este repositório é uma **casca fina**. O storefront, os componentes e a lógica de loja moram nos pacotes `@cloudcommerce/*`, não aqui. Atualizar o tema para uma versão nova da plataforma **não** é fazer merge com o starter [`ecomplus/store`](https://github.com/ecomplus/store) — é subir a versão das dependências, exatamente como as lojas em produção fazem: a [tiasonia](https://www.tiasonia.com.br) tem mais de 260 commits `Update to v` no próprio repositório e nenhum merge com o starter. Todos os pacotes `@cloudcommerce/*` andam na mesma versão, na raiz e em cada grupo de functions (`ssr`, `many`, `with-apps`): ```bash # 1. ver a versão mais recente e o changelog npm view @cloudcommerce/cli version # https://github.com/ecomplus/cloud-commerce/releases V=2.61.4 # troque pela versão alvo # 2. raiz npm i -D @cloudcommerce/cli@$V @cloudcommerce/eslint@$V # 3. cada grupo de functions (cd functions/ssr && npm i \ @cloudcommerce/api@$V @cloudcommerce/firebase@$V @cloudcommerce/ssr@$V \ @cloudcommerce/i18n@$V @cloudcommerce/storefront@$V @cloudcommerce/types@$V) (cd functions/many && npm i \ @cloudcommerce/feeds@$V @cloudcommerce/firebase@$V @cloudcommerce/passport@$V) (cd functions/with-apps && npm i \ @cloudcommerce/events@$V @cloudcommerce/firebase@$V @cloudcommerce/modules@$V) # 4. validar antes de commitar npm run build # 5. commitar no padrão das lojas em produção git commit -am "Update to v$V" ``` Se o build quebrar depois de atualizar, a correção pertence ao [`cloud-commerce`](https://github.com/ecomplus/cloud-commerce), não a este repositório. Aqui só entra o que é **do tema**: `functions/ssr/src/`, `functions/ssr/content/` e `functions/ssr/public/`. ## Este repositório é um template Use **"Use this template"** no GitHub para começar uma loja a partir deste tema. O repositório gerado é independente: não existe upstream para puxar, e a manutenção segue o fluxo de versão acima. Antes de ir ao ar, troque o que é placeholder: - `functions/ssr/content/settings.json` — nome, domínio, logo, cores, contato - `functions/ssr/public/img/uploads/` — logo, ícone e banners (as fotos atuais vêm do Unsplash; créditos em `CREDITOS.md`) - `functions/ssr/content/extra-pages/` — contato, trocas e termos - `functions/ssr/public/robots.txt` — hoje bloqueia tudo, porque a demo é `noindex` - `functions/*/config.json` — `storeId` e projeto Firebase (`npm run setup`) > **Demo publicada:** [tema-focinho.web.app](https://tema-focinho.web.app) — `noindex`, com > catálogo compartilhado de demonstração. --- Documentação do starter: [SETUP.pt-BR.md](./SETUP.pt-BR.md) · [Cloud Commerce](https://github.com/ecomplus/cloud-commerce)
看看同类模板
对比同技术栈与用途的模板,找到更适合的视觉与内容结构。

astro-shopify
astro-shopify 是一个面向开发者的轻量级电商启动模板,用于构建基于 Shopify 的无头店面。
Astro · 电商

astro-ecommerce
Astro Ecommerce - Ready to use components
Astro · 电商

astro-medusa-starter
Astro + Medusa starter for e-commerce. Optimized to the core.
Astro · 电商

sanity-astro-club
sanity-astro-club 开源网站模板。
Astro · 电商

atelier-ko
Atelier Kō 是一个为小型家具工坊或类似手工艺目录设计的 Astro 电商主题,它的核心假设是:作品不多,摄影足够有力,因此界面刻意保持冷静和建筑感。
Astro · 电商

starter-astro
A small, production-minded storefront starter for Astro.
Astro · 电商
