feat(profile): add help screen and fix upload field name
Add dedicated Help screen to profile tab with navigation integration.
Refactor SettingsScreen to navigate to HelpScreen instead of showing placeholder alert.
Fix API upload method to use correct field names ("file" for documents, "image" for media)
based on endpoint path, resolving upload failures for file uploads.
This commit is contained in:
@@ -505,6 +505,10 @@ class ApiClient {
|
||||
|
||||
let data: ApiResponse<T>;
|
||||
|
||||
// 根据请求路径决定 form 字段名:
|
||||
// 后端 UploadFile handler 期望字段名为 "file",其余(图片/头像/封面)为 "image"
|
||||
const fieldName = path === '/uploads/files' ? 'file' : 'image';
|
||||
|
||||
if (Platform.OS === 'web') {
|
||||
// Web 端:fetch + Blob/File + FormData
|
||||
const formData = new FormData();
|
||||
@@ -513,7 +517,7 @@ class ApiClient {
|
||||
const uploadFile = new File([blob], file.name, {
|
||||
type: file.type || blob.type || 'application/octet-stream',
|
||||
});
|
||||
formData.append('image', uploadFile);
|
||||
formData.append(fieldName, uploadFile);
|
||||
|
||||
if (additionalData) {
|
||||
Object.keys(additionalData).forEach(key => {
|
||||
@@ -534,7 +538,7 @@ class ApiClient {
|
||||
const result = await fsFile.upload(`${this.baseUrl}${path}`, {
|
||||
httpMethod: 'POST',
|
||||
uploadType: UploadType.MULTIPART,
|
||||
fieldName: 'image',
|
||||
fieldName,
|
||||
mimeType: file.type,
|
||||
headers,
|
||||
parameters: additionalData,
|
||||
|
||||
Reference in New Issue
Block a user