- add .trae/rules/git-commit-message.md with official commit rules - update AGENTS.md to add Chinese commit message requirement - overhaul README.md: update tech stack, directory structure, env vars, routing, i18n and request lib docs
98 lines
2.6 KiB
Markdown
98 lines
2.6 KiB
Markdown
# nianxx-h5
|
||
|
||
基于 Vite 的 H5 Web 项目(Vue 3 + TypeScript)。
|
||
|
||
## 技术栈
|
||
|
||
- Vite(见 `package.json`,本仓库使用 ESM:`"type": "module"`)
|
||
- Vue 3 + TypeScript
|
||
- vue-router 4
|
||
- Pinia
|
||
- Vant 4(配合 `unplugin-auto-import` / `unplugin-vue-components` 自动导入)
|
||
- Tailwind CSS v4(通过 `@tailwindcss/vite`)
|
||
- vue-i18n(支持:`zh-CN` / `en-US` / `th-TH`)
|
||
- axios(统一请求库:`src/utils/request.ts`)
|
||
- mitt(事件总线)
|
||
|
||
## 目录约定
|
||
|
||
- 入口:`src/main.ts`
|
||
- 根组件:`src/App.vue`
|
||
- 路由:`src/router/index.ts`
|
||
- 页面:`src/pages/`
|
||
- 公共组件:`src/components/`
|
||
- 首页模块组件:`src/pages/home/components/`
|
||
- 国际化:`src/i18n/`
|
||
- 状态管理:`src/store/`
|
||
- 全局样式:`src/styles/main.css`
|
||
- 工具:`src/utils/`
|
||
- 共享类型:`src/shared/`
|
||
|
||
## 本地开发
|
||
|
||
使用 Yarn。
|
||
|
||
```bash
|
||
yarn
|
||
yarn dev
|
||
```
|
||
|
||
常用命令:
|
||
|
||
- `yarn dev`:启动开发服务器(端口 5174,配置见 `vite.config.ts`)
|
||
- `yarn typecheck`:`vue-tsc --noEmit`
|
||
- `yarn build`:类型检查 + 构建
|
||
- `yarn preview`:预览构建产物
|
||
- `yarn test`:运行 `src/**/*.test.ts`(Node 原生 test runner)
|
||
|
||
需要编译/测试时请手动确认执行。
|
||
|
||
## 环境变量
|
||
|
||
本项目使用 Vite 环境变量(`import.meta.env.*`)。
|
||
|
||
必须配置:
|
||
|
||
- `VITE_API_BASE_URL`:接口基础地址(请求库会校验,缺失会直接抛错)
|
||
|
||
常用配置:
|
||
|
||
- `VITE_CLIENT_ID`:请求 header 注入的 `clientId`
|
||
- `VITE_API_TIMEOUT_MS`:请求超时毫秒数(默认 15000)
|
||
- `VITE_TOKEN`:临时 token(当前请求库会在请求前写入上下文,属于临时逻辑)
|
||
|
||
## 路由
|
||
|
||
当前路由配置见 `src/router/index.ts`(按 `src/pages/` 目录落地):
|
||
|
||
- `/`、`/home`:首页
|
||
- `/login`:登录
|
||
- `/booking`:预定
|
||
- `/goods`:商品详情
|
||
- `/album`:相册
|
||
- `/quick`:快速预定
|
||
- `/order`、`/order/detail`:订单列表 / 订单详情
|
||
- `/service`:工单列表
|
||
|
||
## 国际化(i18n)
|
||
|
||
- i18n 实例:`src/i18n/index.ts`
|
||
- 语言包:`src/i18n/modules/**/{zh-CN,en-US,th-TH}.ts`
|
||
- 切换语言:`setLocale(locale)`(同时会同步 Vant 语言与 `document.lang`)
|
||
|
||
## 统一请求库
|
||
|
||
统一请求库实现:
|
||
|
||
- `src/utils/request.ts`
|
||
- 类型定义:`src/shared/request-types.ts`
|
||
- 使用文档:`docs/request.md`
|
||
|
||
## 特殊说明(uni-\* 痕迹)
|
||
|
||
代码中仍存在部分 `uni.*` API(例如 `uni.navigateTo` / `uni.requestSubscribeMessage`)。如果最终运行环境为纯 H5 Web,需要确认这些能力的提供方式(注入 / 替换 / 降级)。
|
||
|
||
## 协作规范
|
||
|
||
仓库协作约定见 `AGENTS.md`。
|