Compare commits
2 Commits
24166aeb62
...
9423f15f29
| Author | SHA1 | Date | |
|---|---|---|---|
| 9423f15f29 | |||
| 65c2a81486 |
41
DEV.md
41
DEV.md
@@ -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/ 目录
|
||||||
|
|||||||
@@ -2,10 +2,10 @@ import { request } from '@/utils/request'
|
|||||||
|
|
||||||
/** 获取系统配置 */
|
/** 获取系统配置 */
|
||||||
export function getConfig(): Promise<Record<string, string>> {
|
export function getConfig(): Promise<Record<string, string>> {
|
||||||
return request('/config')
|
return request({ url: '/config' })
|
||||||
}
|
}
|
||||||
|
|
||||||
/** 更新系统配置(管理员) */
|
/** 更新系统配置(管理员) */
|
||||||
export function updateConfig(data: Record<string, string>) {
|
export function updateConfig(data: Record<string, string>) {
|
||||||
return request('/config', { method: 'PUT', data })
|
return request({ url: '/config', method: 'PUT', data })
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6,15 +6,15 @@ export function submitFeedback(data: {
|
|||||||
content: string
|
content: string
|
||||||
contact?: string
|
contact?: string
|
||||||
}) {
|
}) {
|
||||||
return request('/feedback', { method: 'POST', data })
|
return request({ url: '/feedback', method: 'POST', data })
|
||||||
}
|
}
|
||||||
|
|
||||||
/** 获取反馈列表(管理员) */
|
/** 获取反馈列表(管理员) */
|
||||||
export function getFeedbackList(params?: { page?: number; pageSize?: number; status?: string }) {
|
export function getFeedbackList(params?: { page?: number; pageSize?: number; status?: string }) {
|
||||||
return request('/feedback', { params })
|
return request({ url: '/feedback', data: params })
|
||||||
}
|
}
|
||||||
|
|
||||||
/** 更新反馈状态(管理员) */
|
/** 更新反馈状态(管理员) */
|
||||||
export function updateFeedbackStatus(id: number, status: string) {
|
export function updateFeedbackStatus(id: number, status: string) {
|
||||||
return request(`/feedback/${id}/status`, { method: 'PUT', data: { status } })
|
return request({ url: `/feedback/${id}/status`, method: 'PUT', data: { status } })
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user