docs: 更新 DEV.md — API 调用规范和页面加载模式

- request 函数正确调用格式说明
- 页面数据加载标准模式(initialLoaded 守卫)
This commit is contained in:
2026-06-08 11:25:03 +08:00
parent 65c2a81486
commit 9423f15f29

41
DEV.md
View File

@@ -33,6 +33,47 @@
- API 地址统一在 `config.ts` 中配置,不要在各文件中硬编码 - API 地址统一在 `config.ts` 中配置,不要在各文件中硬编码
- 头像等用户文件 URL 只存文件名,前端拼接 `API_BASE + 路径 + 文件名` - 头像等用户文件 URL 只存文件名,前端拼接 `API_BASE + 路径 + 文件名`
## API 调用规范
### request 函数调用格式
`request` 函数**只接受一个对象参数**,格式为 `{ url, method?, data? }`
```typescript
// ✅ 正确
request({ url: '/feedback', data: params })
request({ url: '/config' })
request({ url: '/feedback', method: 'POST', data })
// ❌ 错误 — 会导致 URL 拼接为 /apiundefined
request('/feedback', { params })
request('/config', { method: 'PUT', data })
```
**原因**`request` 函数签名是 `request<T>(options: RequestOptions): Promise<T>`,第一个参数是 options 对象,不支持分开传 url 和 options。
### 页面数据加载模式
```typescript
const initialLoaded = ref(false)
onMounted(async () => {
await waitForReady()
await loadData()
initialLoaded.value = true
})
// onShow 时静默刷新,但必须有 initialLoaded 守卫
onShow(() => {
if (initialLoaded.value) loadData(true)
})
onPullDownRefresh(async () => {
await loadData()
uni.stopPullDownRefresh()
})
```
## Never 规则 ## Never 规则
- Never 修改 dist/ 目录 - Never 修改 dist/ 目录