# TakeoutSaaS C-Side Mini Program (Taro) 基于官方 `Taro CLI` 初始化的微信小程序前端,当前使用 `Taro 4 + Vue3 + Pinia + NutUI Taro + Vite`。 ## 当前状态 - 已切换到 `Taro + Vue3 + NutUI` 方案。 - 已接入真实 Mini API 基址:`https://api-mini-dev.laosankeji.com/api/mini/v1` - 已默认注入租户头:`X-Tenant-Code: t1770086772899` - 当前真实接口:`bootstrap`、`health` - 业务接口:默认仍走 mock,方便先完成前端主流程联调 ## 本地开发 ```bash pnpm install pnpm dev:weapp ``` ## 常用命令 ```bash pnpm dev:weapp pnpm build:weapp pnpm typecheck pnpm lint ``` ## 环境变量 - `.env.development` - `.env.production` 当前关键变量: - `TARO_APP_API_BASE_URL` - `TARO_APP_USE_MOCK` - `TARO_APP_REQUEST_TIMEOUT` - `TARO_APP_TENANT_CODE` ## 目录结构 - `src/pages`:按页面域拆分,每个页面保持 `index.vue + composables + styles` - `src/components`:复用组件目录,统一使用 `src/components//index.vue` - `src/stores`:`app`、`cart` - `src/services`:请求封装与 Mini API 领域接口 - `src/shared`:类型、常量、mock 数据、格式化函数 当前拆分约定: - 页面入口 `src/pages/**/index.vue` 只保留模板和薄脚本,逻辑下沉到 `composables/useXxxPage.ts` - 复杂页面继续在 `composables//` 下拆 `helpers.ts`、`*actions.ts` - 页面样式统一落在 `styles/index.scss`,必要时按视觉域继续拆分 - 根组件统一改为目录入口,例如 `src/components/page-hero/index.vue` ## 联调说明 - `bootstrap` 和 `health` 走真实接口。 - 当前其余业务页面仍通过 `src/shared/mock` 数据驱动。 - 后端业务接口上线后,只需要在 `src/services/mini.ts` 中切换真实请求即可。