magiccube-vue3
Version:
vue3-js版组件库
36 lines (32 loc) • 1.12 kB
JavaScript
import MopaiIndexedDB from '../../utils/mopai-indexedbd'
const getJobCategoryOption = async (version) => {
const midb = new MopaiIndexedDB({
dbName: 'mopaiUI',
storeName: 'picker_option',
version,
})
try{
await midb.open()
const searchRes = await midb.get('category')
if(!searchRes) throw new Error('重新获取数据')
if(Date.now() - searchRes.t > 864000) throw new Error('超时重新获取数据')
return searchRes.data
} catch(e){
const response = await fetchData()
const data = response.code === 0? response?.data : []
data && midb.set('category', data)
return data
}
}
const fetchData = () => {
return new Promise((resolve) => {
const xhr = new XMLHttpRequest()
xhr.withCredentials = true
xhr.open('GET', '//mopinapi.58.com/category/listAllWithCommon?mock_apiId=61d69085acdea403d450b81a')
xhr.send()
xhr.onload = function(){
resolve(xhr.response? JSON.parse(xhr.response) : {})
}
})
}
export default getJobCategoryOption