const api = {
baseUrl: 'https://127.0.0.1:3000',
/**
* @param {缓存key} key
* @param {需要存储的缓存值} value
* @param {过期时间,默认0表示永久有效} expire
*/
setCache(key, value, expire = 0) {
let obj = {
data: value, //存储的数据
time: parseInt(Date.now() / 1000), //记录存储的时间戳
expire: expire //记录过期时间,单位秒
}
uni.setStorageSync(key, JSON.stringify(obj))
},
/**
* @param {缓存key} key
*/
getCache(key) {
let val = uni.getStorageSync(key)
if (!val) {
return null
}
val = JSON.parse(val)
if (val.expire && Date.now() / 1000 - val.time > val.expire) {
uni.removeStorageSync(key)
return null
}
return val.data
},
// 获取 access_token
getAccessToken: function () {
return new Promise((resolve, reject) => {
//判断缓存是否存在
if (api.getCache('access_token')) {
resolve(api.getCache('access_token'));
}else{
let that = this;
uni.request({
url: that.baseUrl + '/api/getAccessToken',
method: 'post',
success: function (atRes) {
if (atRes.data.code == 200) {
api.setCache('access_token', atRes.data.data.access_token, atRes.data.data.expires_in-100)
resolve(atRes.data.data);
} else {
resolve(0);
}
}
});
}
})
},
}
export default api;