53 lines
1.8 KiB
Markdown
53 lines
1.8 KiB
Markdown
# 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/<kebab-name>/index.vue`
|
||
- `src/stores`:`app`、`cart`
|
||
- `src/services`:请求封装与 Mini API 领域接口
|
||
- `src/shared`:类型、常量、mock 数据、格式化函数
|
||
|
||
当前拆分约定:
|
||
- 页面入口 `src/pages/**/index.vue` 只保留模板和薄脚本,逻辑下沉到 `composables/useXxxPage.ts`
|
||
- 复杂页面继续在 `composables/<page-key>/` 下拆 `helpers.ts`、`*actions.ts`
|
||
- 页面样式统一落在 `styles/index.scss`,必要时按视觉域继续拆分
|
||
- 根组件统一改为目录入口,例如 `src/components/page-hero/index.vue`
|
||
|
||
## 联调说明
|
||
- `bootstrap` 和 `health` 走真实接口。
|
||
- 当前其余业务页面仍通过 `src/shared/mock` 数据驱动。
|
||
- 后端业务接口上线后,只需要在 `src/services/mini.ts` 中切换真实请求即可。
|