项目结构
.├── db/ # Drizzle schema + D1 migrations├── scripts/ # seed-admin · seed-products├── store.config.ts # 可提交的项目默认值(URL、品牌、功能开关)├── wrangler.jsonc # Worker + D1 DB + R2 STORAGE├── migrations/└── src/ ├── admin/ # 后台 SPA(Ant Design) ├── lib/ │ ├── config/ # 公开配置 / 服务端密钥读取 │ ├── sdk.ts # 前台 mock SDK │ ├── stores/cart.ts # Nanostores 购物车 │ ├── store-settings.ts │ └── media.ts # R2 URL / 流出 ├── modules/ # cart · checkout · products · layout ├── pages/ │ ├── *.astro # 前台页面 │ ├── api/ # REST │ └── media/ # 公开图片路径 └── middleware.ts # Admin / API 会话鉴权| 层 | 位置 | 放什么 |
|---|---|---|
| 项目默认 | store.config.ts |
站点 URL、默认市场、品牌默认、CDN、功能开关 |
| 运营配置 | D1 · Admin → Settings | 店铺资料、公告、运费、优惠码 |
| 密钥 / 绑定 | .env + Wrangler secrets + wrangler.jsonc |
会话密钥、Stripe/PayPal/Resend、D1/R2 |
不要提交 .env 或生产密钥。