refactor platform admin from backend contract

This commit is contained in:
david
2026-07-28 11:08:47 +08:00
parent 899fc6186b
commit dc206f63fa
99 changed files with 755 additions and 2660 deletions

View File

@@ -1,68 +1,40 @@
# Arco Design Pro Vite
# 和气平台总后台
基于 [Arco Design Pro](https://arco.design/pro/) 的 Vue 3 中后台模板,使用 Vite 8 + Pinia + TypeScript 构建
基于 Vue 3、Vite、TypeScript、Pinia 和 Arco Design 的平台管理端。前端资源、API 路径和操作能力以后端 `resource-contract` 为基准
## 环境要求
- Node.js >= 20.19.0
- pnpm
- Go同步后端契约时使用
## 常用命令
```bash
pnpm install # 安装依赖
pnpm dev # 开发服务器
pnpm build # 生产构建
pnpm report # 构建并生成 bundle 分析报告
pnpm type:check # TypeScript 检查
pnpm lint # Biome 代码检查
pnpm lint:fix # 自动修复
pnpm install
pnpm dev
pnpm type:check
pnpm lint
pnpm contract:sync
pnpm contract:check
pnpm build
```
## 目录结构
`contract:sync``backend/api/cmd/cli resource-contract` 生成
`src/contracts/platform-resources.json`。修改后端模型或路由后必须重新同步。
```
src/
├── api/ # 接口定义(按业务域)
├── assets/ # 静态资源与全局样式
├── components/ # 全局 / 布局级组件
├── directive/ # 自定义指令
├── hooks/ # 组合式函数
├── layout/ # 页面布局
├── locale/ # i18n 入口与全局文案
├── mocks/ # Mock 数据(开发环境)
│ ├── handlers/ # 全局 mock 处理器
│ └── setup.ts # mock 启用与响应包装
├── plugins/ # 应用插件(如 HTTP 拦截器)
├── router/ # 路由与守卫
├── store/ # Pinia 状态
├── types/ # 全局类型
├── utils/ # 工具函数
└── views/ # 页面(每页可含 components/、locale/、mock.ts
config/
└── vite.config.ts # Vite 配置
public/ # 静态公共资源
```
## 实现约定
## Mock 说明
仅在开发环境(`import.meta.env.DEV`)下,`main.ts` 会动态加载 `src/mocks/index.ts`;生产构建不会打入 mockjs
- 全局 handler 位于 `mocks/handlers/`
- 页面级 mock 保留在 `views/**/mock.ts`,由 `import.meta.glob` 自动注册
- 后端 API 使用扁平资源路径,例如 `/product_info``/wallet_basic`
- 浏览器路由按业务域分组,例如 `/product/product-info`
- 普通资源复用 `views/shared/ResourcePage.vue`
- 产品、钱包、气体配送订单的状态流转通过后端业务动作执行,不直接修改状态字段。
- 关联资源统一提交业务 `identity`,不提交数据库自增 ID。
- 管理端仅提供中文界面。
## 环境变量
| 变量 | 说明 |
|------|------|
| `VITE_API_BASE_URL` | 后端 API 地址(见 `.env.development` |
| `VITE_ERROR_REPORT_URL` | 可选,配置后启用前端错误上报(`utils/error-report.ts` |
## i18n 说明
- 菜单等全局文案:`locale/zh-CN.ts``locale/en-US.ts`
- 页面文案:`views/**/locale/``components/**/locale/`,通过 `import.meta.glob` 自动聚合
## 模板标记
路由与部分功能块带有 `/** simple */``/** simple end */` 注释,表示 Arco Pro「精简版 / 完整版」的可选模块边界。
| --- | --- |
| `VITE_API_BASE_URL` | 后端 API 地址,默认 `http://localhost:12426/heqi/platform/v1` |
| `VITE_ERROR_REPORT_URL` | 可选的前端错误上报地址 |