forked from ccsens_fe/tall-mui-3
11 changed files with 102 additions and 48 deletions
@ -1,28 +1,46 @@ |
|||
/** |
|||
* 等待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.$t.storage.getStorageSync(uni.$t.app.tokenKey)) { |
|||
requestFn(); |
|||
} else { |
|||
setTimeout(() => waitTokenRequest(requestFn), 10); |
|||
} |
|||
}; |
|||
|
|||
export default { |
|||
/** |
|||
* 获取项目列表 |
|||
* @param {number} startTime 起始时间 |
|||
* @param {number} endTime 截止时间 |
|||
*/ |
|||
getProjects(startTime, endTime) { |
|||
return new Promise((resolve, reject) => { |
|||
let remote = false; |
|||
// 有缓存 且 服务端数据未返回 就先返回缓存
|
|||
uni.$t.cache |
|||
.getProjects(startTime, endTime) |
|||
.then(data => { |
|||
!remote && resolve(data); |
|||
}) |
|||
.catch(err => !remote && reject(err)); |
|||
getProjects(startTime, endTime, fn) { |
|||
let remote = false; |
|||
// 有缓存 且 服务端数据未返回 就先返回缓存
|
|||
uni.$t.cache |
|||
.getProjectsByDay(startTime, endTime) |
|||
.then(data => { |
|||
// console.log('cache data: ', data);
|
|||
!remote && fn(null, data); |
|||
}) |
|||
.catch(err => !remote && fn(err)); |
|||
|
|||
waitTokenRequest(() => { |
|||
// 拿到api数据后 再用api的数据
|
|||
uni.$u.api |
|||
.getProjects(startTime, endTime) |
|||
.then(data => { |
|||
// console.log('api data: ', data);
|
|||
remote = true; |
|||
resolve(data); |
|||
fn(null, data); |
|||
// 存api到cache里
|
|||
uni.$t.cache.putProjects(data); |
|||
}) |
|||
.catch(err => reject(err)); |
|||
.catch(err => fn(err)); |
|||
}); |
|||
}, |
|||
}; |
|||
|
Loading…
Reference in new issue