h5
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

274 lines
7.1 KiB

import store from '@/store/index';
/**
* 等待token执行api
* 没有token 就延时执行自己 直到有了token在请求
* @param {function} requestFn 执行请求的函数
*/
export const waitTokenRequest = requestFn => {
if (!requestFn || typeof requestFn !== 'function') throw new Error(`requestFn must be a function`);
if (uni.$storage.getStorageSync('anyringToken')) {
requestFn();
} else {
setTimeout(() => waitTokenRequest(requestFn), 10);
}
};
export default {
/**
* 获取广告和引导页
*/
getGuide(type, fn) {
let remote = false;
uni.$cache.getGuideByType(type).then(data => {
!remote && fn(null, data);
}).catch(err => !remote && fn(err))
uni.$u.api.getGuide(type).then(data => {
remote = true;
fn(null, data);
// 存api到cache里
uni.$cache.putGuide(data, type);
}).catch(err => fn(err))
},
/**
* 获取项目列表
* @param {number} startTime 起始时间
* @param {number} endTime 截止时间
*/
getProjects(startTime, endTime, fn) {
// let remote = false;
// if (store.getters.useStorage) {
// // 有缓存 且 服务端数据未返回 就先返回缓存
// uni.$cache
// .getProjectsByDay(startTime, endTime)
// .then(data => {
// !remote && fn(null, data);
// })
// .catch(err => !remote && fn(err));
// }
uni.$u.api
.getProjects(startTime, endTime)
.then(data => {
// remote = true;
fn(null, data);
// 存api到cache里
// uni.$cache.putProjects(data);
})
.catch(err => fn(err));
// waitTokenRequest(() => {
// // 拿到api数据后 再用api的数据
// uni.$u.api
// .getProjects(startTime, endTime)
// .then(data => {
// remote = true;
// fn(null, data);
// // 存api到cache里
// uni.$cache.putProjects(data);
// })
// .catch(err => fn(err));
// });
},
/**
* 通过项目id获取角色信息
* @param {object} params 提交的参数
*/
findShowRole(params, fn) {
// let remote = false;
// // 有缓存 且 服务端数据未返回 就先返回缓存
// uni.$cache
// .getShowRole(params.projectId)
// .then(data => {
// !remote && fn(null, data);
// })
// .catch(err => !remote && fn(err));
waitTokenRequest(() => {
// 拿到api数据后 再用api的数据
uni.$u.api
.findShowRole(params)
.then(data => {
// remote = true;
fn(null, data);
// 存api到cache里
// uni.$cache.putShowRole(params.projectId, data);
})
.catch(err => fn(err));
});
},
/**
* 根据时间基准点和角色查找定期任务
* @param {object} params 提交的参数
*/
getRegularTask(params, fn) {
// let remote = false;
// // 有缓存 且 服务端数据未返回 就先返回缓存
// uni.$cache
// .getStorageRegularTask(params)
// .then(data => {
// !remote && fn(null, data);
// })
// .catch(err => !remote && fn(err));
waitTokenRequest(() => {
// 拿到api数据后 再用api的数据
uni.$u.api
.getRegularTask(params)
.then(data => {
// remote = true;
fn(null, uni.$u.deepClone(data));
// 存api到cache里
// uni.$cache.putStorageRegularTask(params, data);
})
.catch(err => fn(err));
});
},
/**
* 根据数量查询定期任务
* @param {object} params 提交的参数
*/
getTaskByNum(params, fn) {
// let remote = false;
// // 有缓存 且 服务端数据未返回 就先返回缓存
// uni.$cache
// .getStorageRegularTask(params)
// .then(data => {
// !remote && fn(null, data);
// })
// .catch(err => !remote && fn(err));
waitTokenRequest(() => {
// 拿到api数据后 再用api的数据
uni.$u.api
.getTaskByNum(params)
.then(data => {
// remote = true;
fn(null, uni.$u.deepClone(data));
// 存api到cache里
// uni.$cache.putStorageRegularTask(params, data);
})
.catch(err => fn(err));
});
},
/**
* 根据角色查找永久的日常任务
* @param {object} params 提交的参数
*/
getPermanent(params, fn) {
// let remote = false;
// 有缓存 且 服务端数据未返回 就先返回缓存
// uni.$cache
// .getStoragePermanent(params)
// .then(data => {
// !remote && fn(null, data);
// })
// .catch(err => !remote && fn(err));
waitTokenRequest(() => {
// 拿到api数据后 再用api的数据
uni.$u.api
.getPermanent(params)
.then(data => {
// remote = true;
fn(null, data);
// 存api到cache里
// uni.$cache.putStoragePermanent(params, data);
})
.catch(err => fn(err));
});
},
/**
* 根据时间和角色查找日常任务
* @param {object} params 提交的参数
*/
getGlobal(params, fn) {
// let remote = false;
// // 有缓存 且 服务端数据未返回 就先返回缓存
// uni.$cache
// .getDailyTask(params)
// .then(data => {
// !remote && fn(null, data);
// })
// .catch(err => !remote && fn(err));
waitTokenRequest(() => {
// 拿到api数据后 再用api的数据
uni.$u.api
.getGlobal(params)
.then(data => {
// remote = true;
fn(null, data);
// 存api到cache里
// uni.$cache.putDailyTask(params, data);
})
.catch(err => fn(err));
});
},
/**
* 获取插件信息
* @param {object} params 提交的参数
*/
getOtherPlugin(params, fn) {
// let remote = false;
// 有缓存 且 服务端数据未返回 就先返回缓存
// uni.$cache
// .getPlugin(params.pluginId)
// .then(data => {
// !remote && fn(null, data);
// })
// .catch(err => !remote && fn(err));
waitTokenRequest(() => {
// 拿到api数据后 再用api的数据
uni.$u.api
.getOtherPlugin(params)
.then(data => {
// remote = true;
fn(null, data);
// 存api到cache里
// uni.$cache.putPlugin(params.pluginId, data);
})
.catch(err => fn(err));
});
},
/**
* 获取插件服务配置信息
* @param {object} params 提交的参数
*/
getConfigInfo(params, fn) {
// let remote = false;
// 有缓存 且 服务端数据未返回 就先返回缓存
// uni.$cache
// .getPlugin(params.pluginId)
// .then(data => {
// !remote && fn(null, data);
// })
// .catch(err => !remote && fn(err));
waitTokenRequest(() => {
// 拿到api数据后 再用api的数据
uni.$u.api
.getConfigInfo(params)
.then(data => {
// remote = true;
fn(null, data);
// 存api到cache里
// uni.$cache.putPlugin(params.pluginId, data);
})
.catch(err => fn(err));
});
},
};