blob: 1463d5dc4132e206f9684905b48d3452d785fd1a [file] [log] [blame]
22301080a93bebb2025-05-27 19:48:11 +08001import axios from 'axios';
DREW5b1883e2025-06-07 10:41:32 +08002import { api } from './auth';
22301080a93bebb2025-05-27 19:48:11 +08003
DREW7c7c6a02025-06-05 19:58:55 +08004// const API_BASE_URL = 'http://team2.10813352.xyz:8088'; // 替换为你的后端API基础URL
22301080a93bebb2025-05-27 19:48:11 +08005
6export const getAllUsers = async () => {
7 try {
DREW5b1883e2025-06-07 10:41:32 +08008 const response = await api.get(`/user/allUser`, {
22301080a93bebb2025-05-27 19:48:11 +08009 headers: {
10 Authorization: localStorage.getItem('token')
11 }
12 });
13
14 console.log("API Response:", response.data); // 打印完整响应
15
16 if (response.data && response.data.code === 200) {
17 // 修正这里:response.data.data.data 才是用户数组
18 const data = response.data.data.data;
19 return Array.isArray(data) ? data : [data];
20 } else {
21 throw new Error(response.data?.message || "未知错误");
22 }
23 } catch (error) {
24 console.error('获取用户列表失败:', error);
25 throw error;
26 }
27};
28
29export const searchUsers = async (key) => {
30 try {
DREW5b1883e2025-06-07 10:41:32 +080031 const response = await api.get(`/user/searchUser`, {
22301080a93bebb2025-05-27 19:48:11 +080032 params: { key },
33 headers: {
34 Authorization: localStorage.getItem('token')
35 }
36 });
37
38 if (response.data?.code === 200) {
39 // 提取正确的用户数组:response.data.data.data
40 const users = response.data.data.data;
41 return Array.isArray(users) ? users : [users];
42 } else {
43 throw new Error(response.data?.message || "搜索失败");
44 }
45 } catch (error) {
46 console.error('搜索用户失败:', error);
47 throw error;
48 }
49};
50
51// 修改用户权限
52export const updateUserAuthority = async (username, authority) => {
53 try {
DREW5b1883e2025-06-07 10:41:32 +080054 const response = await api.put(`/user/changeAuthority`,
22301080a93bebb2025-05-27 19:48:11 +080055 {
56 changeUsername: username,
57 authority: authority
58 },
59 {
60 headers: {
61 Authorization: localStorage.getItem('token')
62 }
63 }
64 );
65 return response.data;
66 } catch (error) {
67 console.error('修改用户权限失败:', error);
68 throw error;
69 }
70};
71
72
73// // 获取所有折扣
74// export const getAllDiscounts = async () => {
75// try {
76// const response = await axios.get(`${API_BASE_URL}/discount/all`, {
77// headers: {
78// Authorization: localStorage.getItem('token')
79// }
80// });
81
82// if (response.data && response.data.code === 200) {
83// // 确保返回的是数组格式
84// const data = response.data.data.data || response.data.data;
85// return Array.isArray(data) ? data : [data];
86// } else {
87// throw new Error(response.data?.message || "获取折扣信息失败");
88// }
89// } catch (error) {
90// console.error('获取折扣列表失败:', error);
91// throw error;
92// }
93// };
94
95// // 获取当前折扣
96// export const getCurrentDiscount = async () => {
97// try {
98// const response = await axios.get(`${API_BASE_URL}/discount/current`, {
99// headers: {
100// Authorization: localStorage.getItem('token')
101// }
102// });
103
104// if (response.data && response.data.code === 200) {
105// return response.data.data.data || response.data.data;
106// } else {
107// throw new Error(response.data?.message || "获取当前折扣失败");
108// }
109// } catch (error) {
110// console.error('获取当前折扣失败:', error);
111// throw error;
112// }
113// };
114// 修改 getAllDiscounts 和 getCurrentDiscount 方法
115export const getAllDiscounts = async () => {
116 try {
DREW5b1883e2025-06-07 10:41:32 +0800117 const response = await api.get(`/discount/all`, {
22301080a93bebb2025-05-27 19:48:11 +0800118 headers: {
119 Authorization: localStorage.getItem('token')
120 }
121 });
122
123 if (response.data && response.data.code === 200) {
124 // 更健壮的数据提取方式
125 return response.data.data?.data || response.data.data || [];
126 } else {
127 throw new Error(response.data?.message || "获取折扣信息失败");
128 }
129 } catch (error) {
130 console.error('获取折扣列表失败:', error);
131 throw error;
132 }
133};
134
135export const getCurrentDiscount = async () => {
136 try {
DREW5b1883e2025-06-07 10:41:32 +0800137 const response = await api.get(`/discount/current`, {
22301080a93bebb2025-05-27 19:48:11 +0800138 headers: {
139 Authorization: localStorage.getItem('token')
140 }
141 });
142
143 if (response.data && response.data.code === 200) {
144 // 更健壮的数据提取方式
145 return response.data.data?.data || response.data.data || null;
146 } else if (response.data?.message === "目前没有进行中的折扣") {
147 return null;
148 } else {
149 throw new Error(response.data?.message || "获取当前折扣失败");
150 }
151 } catch (error) {
152 console.error('获取当前折扣失败:', error);
153 throw error;
154 }
155};
156
157// 添加折扣
158export const addDiscount = async (discountData) => {
159 try {
DREW5b1883e2025-06-07 10:41:32 +0800160 const response = await api.post(`/discount/add`, discountData, {
22301080a93bebb2025-05-27 19:48:11 +0800161 headers: {
162 Authorization: localStorage.getItem('token')
163 }
164 });
165
166 if (response.data && response.data.code === 200) {
167 return response.data.data.data || response.data.data;
168 } else {
169 throw new Error(response.data?.message || "添加折扣失败");
170 }
171 } catch (error) {
172 console.error('添加折扣失败:', error);
173 throw error;
174 }
175};
176
177// 删除折扣
178export const deleteDiscount = async (id) => {
179 try {
DREW5b1883e2025-06-07 10:41:32 +0800180 const response = await api.delete(`/discount/delete/${id}`, {
22301080a93bebb2025-05-27 19:48:11 +0800181 headers: {
182 Authorization: localStorage.getItem('token')
183 }
184 });
185
186 if (response.data && response.data.code === 200) {
187 return true;
188 } else {
DREW5b1883e2025-06-07 10:41:32 +0800189 // 从响应中获取错误消息,如果没有则使用默认消息
22301080a93bebb2025-05-27 19:48:11 +0800190 throw new Error(response.data?.message || "删除折扣失败");
191 }
192 } catch (error) {
DREW5b1883e2025-06-07 10:41:32 +0800193 // 如果是axios错误且有响应数据,使用服务器返回的消息
194 if (error.response && error.response.data) {
195 throw new Error(error.response.data.message || "删除折扣失败");
196 }
197 // 否则使用axios错误消息或默认消息
198 throw new Error(error.message || "删除折扣失败");
22301080a93bebb2025-05-27 19:48:11 +0800199 }
200};