本次提交实现了完整的客户拜访业务系统: 1. 新增对象存储上传服务,支持S3兼容协议的RustFS存储 2. 完善客户拜访实体与数据库表结构,补充全业务字段 3. 开发拜访台账与记录的前后端接口,包含增删改查、批量创建、状态流转等能力 4. 新增拜访表单页面与路由,支持父级菜单补全面包屑 5. 新增勘察列表页预填客户ID跳转逻辑 6. 补充UI设计文档与页面截图 7. 调整日志中间件跳过上传路由,优化RBAC权限配置
24 lines
680 B
TypeScript
24 lines
680 B
TypeScript
import request from '@/utils/request';
|
|
|
|
export interface UploadImageResult {
|
|
// 对象存储 key(用于随表单持久化)
|
|
key: string;
|
|
// 预签名访问 URL(用于即时预览)
|
|
url: string;
|
|
name: string;
|
|
size: number;
|
|
}
|
|
|
|
// 上传现场照片到对象存储(RustFS),返回对象 key 与预签名 URL
|
|
export const uploadApi = {
|
|
uploadImage: (file: File) => {
|
|
const formData = new FormData();
|
|
formData.append('files', file);
|
|
return request.post<UploadImageResult>('/upload/image', formData, {
|
|
// 显式声明 multipart,避免 axios 将 FormData 序列化为 JSON
|
|
headers: { 'Content-Type': 'multipart/form-data' },
|
|
timeout: 60000
|
|
});
|
|
}
|
|
};
|