1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
| import request from "@/utils/request";
| import { BaseResult } from "@/models/base";
| import { getToken } from "@/utils/cache";
| import { ResultCodeEnum } from "@/enums/ResultCodeEnum";
|
| // H5 使用 VITE_APP_BASE_API 作为代理路径,其他平台使用 VITE_APP_API_URL 作为请求路径
| let baseApi = import.meta.env.VITE_APP_API_URL;
| // #ifdef H5
| baseApi = import.meta.env.VITE_APP_BASE_API;
| // #endif
|
| const AttachmentAPI = {
| // 上传单个附件文件
| uploadSingleFile(filePath: string) {
| return new Promise<BaseResult<any>>((resolve, reject) => {
| console.log("开始上传文件:", filePath);
| uni.uploadFile({
| url: `${baseApi}/app/addAttachmentFiles`,
| filePath: filePath,
| name: "files",
| header: {
| Authorization: getToken() ? `Bearer ${getToken()}` : "",
| },
| success: (uploadRes) => {
| console.log("上传响应:", uploadRes);
| try {
| const result = JSON.parse(uploadRes.data) as BaseResult<any>;
| console.log("解析后的结果:", result);
| // 业务状态码 00000 表示成功
| if (result.code === ResultCodeEnum.SUCCESS) {
| resolve(result);
| } else {
| // 其他业务处理失败
| const errorMsg = result.msg || "文件上传失败";
| console.error("上传失败:", errorMsg, result);
| uni.showToast({
| title: errorMsg,
| icon: "none",
| });
| reject({
| message: errorMsg,
| code: result.code,
| });
| }
| } catch (e) {
| console.error("解析上传响应失败:", e, uploadRes.data);
| reject({
| message: "解析上传响应失败",
| error: e,
| });
| }
| },
| fail: (error) => {
| console.error("上传请求失败:", error);
| const errorMsg = error.errMsg || "文件上传请求失败";
| uni.showToast({
| title: errorMsg,
| icon: "none",
| duration: 2000,
| });
| reject({
| message: errorMsg,
| error,
| });
| },
| });
| });
| },
|
| // 批量上传附件文件
| uploadAttachmentFiles(files: string[]) {
| return Promise.all(files.map((filePath) => AttachmentAPI.uploadSingleFile(filePath)));
| },
|
| // 报工添加附件
| addOutputAttachments(params: { id: number; attachmentId: string }) {
| return request<BaseResult<any>>({
| url: "/app/addOutputAttachments",
| method: "POST",
| data: params,
| });
| },
|
| // 查看附件列表
| listAttachmentFiles(attachmentIds: number[]) {
| return request<BaseResult<any[]>>({
| url: "/app/listAttachmentFiles",
| method: "POST",
| data: attachmentIds,
| });
| },
|
| // 删除附件文件
| deleteAttachmentFile(attachmentId: number) {
| return request<BaseResult<any>>({
| url: "/app/deleteAttachmentFile",
| method: "POST",
| data: { attachmentId },
| });
| },
| };
|
| export default AttachmentAPI;
|
|