feat: migrate app routes and business modules
This commit is contained in:
@@ -0,0 +1,39 @@
|
||||
import { hasRemoteConfig, resolveRuntimeMode } from '@/utils/runtime-config.js'
|
||||
import { normalizeFeedbackPayload } from './feedback-contract.js'
|
||||
import {
|
||||
createRequestError,
|
||||
requestStrict
|
||||
} from './request-client.js'
|
||||
|
||||
export const feedbackApi = {
|
||||
async submitFeedback(payload, requestOptions = {}) {
|
||||
const feedback = normalizeFeedbackPayload(payload)
|
||||
if (resolveRuntimeMode() !== 'remote') {
|
||||
throw createRequestError('当前为本地预览模式,反馈未提交服务器', 'WRITE_UNAVAILABLE')
|
||||
}
|
||||
return requestStrict({
|
||||
url: '/genealogy/app/feedback',
|
||||
method: 'POST',
|
||||
data: feedback
|
||||
}, {
|
||||
requireData: false,
|
||||
requestController: requestOptions.requestController ?? null
|
||||
})
|
||||
},
|
||||
|
||||
async getFeedback(requestOptions = {}) {
|
||||
if (!hasRemoteConfig()) {
|
||||
throw createRequestError('我的反馈读取需要真实服务,当前本地预览不会伪造结果', 'REMOTE_READ_REQUIRED')
|
||||
}
|
||||
const feedbackHistory = await requestStrict({
|
||||
url: '/genealogy/app/feedback',
|
||||
method: 'GET'
|
||||
}, {
|
||||
requestController: requestOptions.requestController ?? null
|
||||
})
|
||||
if (!Array.isArray(feedbackHistory)) {
|
||||
throw createRequestError('我的反馈响应不是列表', 'LIST_RESPONSE_INVALID')
|
||||
}
|
||||
return feedbackHistory
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user