export const filter = { /** * 过滤获取到的数据 根据开始截止时间 * @param {object} data 缓存拿到的数据 * @param {number} start ms * @param {number} end ms * @returns */ projects(data, start, end) { if (!data || !data.length) return []; return data.filter(item => start <= +item.endTime && end >= +item.startTime); }, }; export default { /** * 项目列表某天的 获取 * @param {number} startTime * @param {number} endTime * @returns */ async getProjectsByDay(startTime, endTime) { try { const data = await uni.$storage.getStorage('projects'); return filter.projects(JSON.parse(data), startTime, endTime); } catch (error) { return []; } }, /** * 项目列表 存 * @param {array} data */ putProjects(data) { try { if (!data || !data.length) return; // 服务端没数据不做操作 let value = uni.$storage.getStorageSync('projects'); let locals = value ? JSON.parse(value) : []; if (!locals || !locals.length) { // 本地没数据 locals = data || []; } else { // 本地有数据 data.forEach(item => { let localData = locals.find(local => item.id === local.id); if (localData) { // 有相同数据 就用新的data里的数据 localData = item; } else { // 没有就直接存本地 locals.push(item); } }); } uni.$storage.setStorage('projects', locals); } catch (error) { console.error('error: ', error); uni.$storage.setStorage('projects', []); } }, };