// /**
//  * 商品分类 Mock 处理器
//  */
// import { http, HttpResponse } from 'msw';

// // 生成分类数据
// const generateCategories = (count = 20) => {
//   const categories = [];
//   const categoryNames = [
//     '电子产品',
//     '服装鞋帽',
//     '家居用品',
//     '美妆护肤',
//     '食品饮料',
//     '运动户外',
//     '图书音像',
//     '母婴用品',
//     '汽车用品',
//     '办公用品',
//     '珠宝首饰',
//     '手机数码',
//     '家用电器',
//     '箱包皮具',
//     '玩具乐器',
//     '医疗保健',
//     '五金工具',
//     '建材装修',
//     '农资园艺',
//     '宠物用品',
//   ];

//   for (let i = 1; i <= count; i++) {
//     const createTime = new Date(Date.now() - Math.random() * 365 * 24 * 60 * 60 * 1000);
//     const updateTime = new Date(createTime.getTime() + Math.random() * 30 * 24 * 60 * 60 * 1000);

//     categories.push({
//       id: i,
//       title: categoryNames[i - 1] || `分类${i}`,
//       sort: Math.floor(Math.random() * 100),
//       status: Math.random() > 0.2 ? 1 : 0, // 80% 启用
//       create_time: createTime.toISOString().slice(0, 19).replace('T', ' '),
//       update_time: updateTime.toISOString().slice(0, 19).replace('T', ' '),
//     });
//   }

//   return categories.sort((a, b) => b.id - a.id); // 按ID倒序
// };

// // 模拟数据
// let mockCategories = generateCategories(20);

// // 分页函数
// const paginate = (data, page = 1, perPage = 10) => {
//   const start = (page - 1) * perPage;
//   const end = start + perPage;
//   const paginatedData = data.slice(start, end);

//   return {
//     data: paginatedData,
//     current_page: page,
//     per_page: perPage,
//     total: data.length,
//     last_page: Math.ceil(data.length / perPage),
//   };
// };

// // 搜索过滤函数
// const filterCategories = (categories, searchParams) => {
//   let filtered = [...categories];

//   // 按名称搜索
//   if (searchParams.name) {
//     filtered = filtered.filter((item) =>
//       item.title.toLowerCase().includes(searchParams.name.toLowerCase()),
//     );
//   }

//   return filtered;
// };

// // 排序函数
// const sortCategories = (categories, sort, order) => {
//   if (!sort) return categories;

//   return [...categories].sort((a, b) => {
//     let aVal = a[sort];
//     let bVal = b[sort];

//     // 处理数字类型
//     if (sort === 'id' || sort === 'sort') {
//       aVal = Number(aVal);
//       bVal = Number(bVal);
//     }

//     if (order === 'asc') {
//       return aVal > bVal ? 1 : -1;
//     } else {
//       return aVal < bVal ? 1 : -1;
//     }
//   });
// };

// export const categoryHandlers = [
//   // 获取分类列表
//   http.post('*/category/list', async ({ request }) => {
//     const data = await request.json();
//     const { page = 1, size = 10, sort = 'id', order = 'desc', name = '' } = data;

//     // 搜索过滤
//     let filtered = filterCategories(mockCategories, { name });

//     // 排序
//     filtered = sortCategories(filtered, sort, order);

//     // 分页处理
//     const total = filtered.length;
//     const startIndex = (page - 1) * size;
//     const endIndex = startIndex + size;
//     const list = filtered.slice(startIndex, endIndex);

//     return HttpResponse.json({
//       code: '200',
//       message: '操作成功',
//       data: {
//         list: list,
//         total: total,
//         pageNum: page,
//         pageSize: size,
//         pages: Math.ceil(total / size),
//         size: list.length,
//         startRow: startIndex + 1,
//         endRow: startIndex + list.length,
//         hasNextPage: page < Math.ceil(total / size),
//         hasPreviousPage: page > 1,
//         isFirstPage: page === 1,
//         isLastPage: page >= Math.ceil(total / size),
//         firstPage: 1,
//         lastPage: Math.ceil(total / size),
//         navigatePages: 8,
//         navigatepageNums: [],
//         navigateFirstPage: 1,
//         navigateLastPage: Math.ceil(total / size),
//         nextPage: page < Math.ceil(total / size) ? page + 1 : 0,
//         prePage: page > 1 ? page - 1 : 0,
//       },
//     });
//   }),

//   // 获取分类详情
//   http.post('*/category/detail', async ({ request }) => {
//     const data = await request.json();
//     const { id } = data;
//     const category = mockCategories.find((item) => item.id == id);

//     if (category) {
//       return HttpResponse.json({
//         code: '200',
//         message: '操作成功',
//         data: category,
//       });
//     } else {
//       return HttpResponse.json({
//         code: '500',
//         message: '分类不存在',
//         data: null,
//       });
//     }
//   }),

//   // 新增分类
//   http.post('*/category/add', async ({ request }) => {
//     const body = await request.json();
//     const { title, sort = 0 } = body;

//     if (!title) {
//       return HttpResponse.json({
//         code: '500',
//         message: '分类名称不能为空',
//         data: null,
//       });
//     }

//     const newId = Math.max(...mockCategories.map((item) => item.id)) + 1;
//     const now = new Date().toISOString().slice(0, 19).replace('T', ' ');

//     const newCategory = {
//       id: newId,
//       title,
//       sort: parseInt(sort),
//       status: 1,
//       create_time: now,
//       update_time: now,
//     };

//     mockCategories.unshift(newCategory);

//     return HttpResponse.json({
//       code: '200',
//       message: '添加成功',
//       data: newCategory,
//     });
//   }),

//   // 编辑分类
//   http.put(
//     'https://shop.trust-will.com/shop/admin/category_tag/:id',
//     async ({ params, request }) => {
//       const { id } = params;
//       const body = await request.json();
//       const { title, sort } = body;

//       const index = mockCategories.findIndex((item) => item.id == id);

//       if (index === -1) {
//         return HttpResponse.json({
//           error: 1,
//           msg: '分类不存在',
//           data: null,
//         });
//       }

//       if (!title) {
//         return HttpResponse.json({
//           error: 1,
//           msg: '分类名称不能为空',
//           data: null,
//         });
//       }

//       const now = new Date().toISOString().slice(0, 19).replace('T', ' ');

//       mockCategories[index] = {
//         ...mockCategories[index],
//         title,
//         sort: parseInt(sort || 0),
//         update_time: now,
//       };

//       return HttpResponse.json({
//         error: 0,
//         msg: '更新成功',
//         data: mockCategories[index],
//       });
//     },
//   ),

//   // 删除分类
//   http.delete('https://shop.trust-will.com/shop/admin/category_tag/:id', ({ params }) => {
//     const { id } = params;
//     const ids = id.split(',').map((item) => parseInt(item));

//     // 批量删除
//     mockCategories = mockCategories.filter((item) => !ids.includes(item.id));

//     return HttpResponse.json({
//       error: 0,
//       msg: '删除成功',
//       data: null,
//     });
//   }),

//   // 获取分类选择列表（用于其他模块选择分类）
//   http.get('https://shop.trust-will.com/shop/admin/category_tag/select', () => {
//     const selectData = mockCategories
//       .filter((item) => item.status === 1)
//       .map((item) => ({
//         value: item.id,
//         label: item.title,
//         sort: item.sort,
//       }))
//       .sort((a, b) => a.sort - b.sort);

//     return HttpResponse.json({
//       error: 0,
//       msg: 'success',
//       data: selectData,
//     });
//   }),
// ];
export const categoryHandlers = [];
