mock.js 1.63 KB
const STORAGE_KEY = 'family-form-registrations';

const mockSchoolList = [
  {
    id: 'kg_001',
    name: '上海市杨浦区科技幼儿园',
    classes: [
      { id: 'kg_001_c_001', name: '小一班' },
      { id: 'kg_001_c_002', name: '中二班' },
      { id: 'kg_001_c_003', name: '大三班' }
    ]
  },
  {
    id: 'kg_002',
    name: '上海市黄浦区蓓蕾幼儿园',
    classes: [
      { id: 'kg_002_c_001', name: '小太阳班' },
      { id: 'kg_002_c_002', name: '星星班' },
      { id: 'kg_002_c_003', name: '彩虹班' }
    ]
  },
  {
    id: 'kg_003',
    name: '上海市徐汇区童心幼儿园',
    classes: [
      { id: 'kg_003_c_001', name: '亲子一班' },
      { id: 'kg_003_c_002', name: '亲子二班' },
      { id: 'kg_003_c_003', name: '亲子三班' }
    ]
  }
];

const delay = (data, timeout = 200) => new Promise((resolve) => {
  setTimeout(() => resolve(data), timeout);
});

const readRegistrations = () => {
  try {
    return JSON.parse(localStorage.getItem(STORAGE_KEY)) || [];
  } catch (error) {
    console.warn('读取家庭报名 mock 缓存失败', error);
    return [];
  }
};

const writeRegistrations = (list) => {
  localStorage.setItem(STORAGE_KEY, JSON.stringify(list));
};

export const getMockSchoolList = () => delay({
  code: 1,
  data: mockSchoolList
});

export const saveMockRegistration = (params) => {
  const list = readRegistrations();
  const now = Date.now();
  const nextItem = {
    ...params,
    id: `family_${now}`,
    updated_at: now
  };

  list.unshift(nextItem);
  writeRegistrations(list);

  return delay({
    code: 1,
    msg: '保存成功',
    data: nextItem
  }, 300);
};