39 lines
1.1 KiB
JavaScript
39 lines
1.1 KiB
JavaScript
import config from '@/config/index.js'
|
|||
|
|
import request from '@/utils/request.js'
|
||
|
|
import { normalizeImageUrl } from '@/api/upload.js'
|
||
|
|
|
||
|
|
export const normalizeFeedbackImageUrl = normalizeImageUrl
|
||
|
|
|
||
|
|
function normalizeFeedbackRecord(record) {
|
||
|
|
if (!record || typeof record !== 'object') return record
|
||
|
|
return {
|
||
|
|
...record,
|
||
|
|
images: Array.isArray(record.images) ? record.images.map(normalizeFeedbackImageUrl) : record.images
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
export function submitFeedback(data) {
|
||
|
|
return request.post('/feedback', {
|
||
|
|
...data,
|
||
|
|
images: Array.isArray(data?.images) ? data.images.map(normalizeFeedbackImageUrl) : data?.images
|
||
|
|
}, {
|
||
|
|
baseURL: config.apiBaseURL
|
||
|
|
})
|
||
|
|
}
|
||
|
|
|
||
|
|
export async function getMyFeedbackList(params) {
|
||
|
|
const result = await request.get('/feedback/mine', params, {
|
||
|
|
baseURL: config.apiBaseURL
|
||
|
|
})
|
||
|
|
return result && Array.isArray(result.items)
|
||
|
|
? { ...result, items: result.items.map(normalizeFeedbackRecord) }
|
||
|
|
: result
|
||
|
|
}
|
||
|
|
|
||
|
|
export async function getMyFeedbackDetail(id) {
|
||
|
|
const result = await request.get(`/feedback/mine/${id}`, {}, {
|
||
|
|
baseURL: config.apiBaseURL
|
||
|
|
})
|
||
|
|
return normalizeFeedbackRecord(result)
|
||
|
|
}
|