Geen omschrijving

queryBase.js 3.1KB

    /** * Created by luyanan on 18/8/27. * bridge、server、device */ /* eslint-disable one-var */ import request from '@/utils/request' var $req = { get: function(url, data, sh, eh) { request({ method: 'get', url: url, params: data }).then(res => { sh(res) }).catch(err => { console.log(err) eh(err) }) } } var objCache = { bridge: {}, server: {}, device: {} } var objHcache = { bridge: {}, server: {}, device: {} } var objCacheHandler = { bridge: function(id) { var hc = objHcache.bridge[id] $req.get('/ajax/bridge/qo?id=' + id, null, function(data) { delete objHcache.bridge[id] if (data.success) { objCache.bridge[id] = data.data for (let i = 0; i < hc.length; ++i) { hc[i](true, data.data) } } else { for (let i = 0; i < hc.length; ++i) { hc[i](false) } } }, function() { for (let i = 0; i < hc.length; ++i) { hc[i](false) } }) }, server: function(id) { var hc = objHcache.server[id] $req.get('/ajax/server/qo?id=' + id, null, function(data) { delete objHcache.server[id] if (data.success) { objCache.server[id] = data.data for (let i = 0; i < hc.length; ++i) { hc[i](true, data.data) } } else { for (let i = 0; i < hc.length; ++i) { hc[i](false) } } }, function() { for (let i = 0; i < hc.length; ++i) { hc[i](false) } }) }, device: function(id) { var hc = objHcache.device[id] $req.get('/ajax/device/qo?id=' + id, null, function(data) { delete objHcache.device[id] if (data.success) { objCache.device[id] = data.data for (let i = 0; i < hc.length; ++i) { hc[i](true, data.data) } } else { for (let i = 0; i < hc.length; ++i) { hc[i](false) } } }, function() { for (let i = 0; i < hc.length; ++i) { hc[i](false) } }) } } var cacheModel = { getBridge: function(id, handler) { var data = objCache.bridge[id] if (data) { handler(true, data) } else { if (objHcache.bridge[id]) { objHcache.bridge[id].push(handler) } else { objHcache.bridge[id] = [] objHcache.bridge[id].push(handler) objCacheHandler.bridge(id) } } }, getServer: function(id, handler) { var data = objCache.server[id] if (data) { handler(true, data) } else { if (objHcache.server[id]) { objHcache.server[id].push(handler) } else { objHcache.server[id] = [] objHcache.server[id].push(handler) objCacheHandler.server(id) } } }, getDevice: function(id, handler) { var data = objCache.device[id] if (data) { handler(true, data) } else { if (objHcache.device[id]) { objHcache.device[id].push(handler) } else { objHcache.device[id] = [] objHcache.device[id].push(handler) objCacheHandler.device(id) } } } } export default cacheModel