Comparing version 0.0.38 to 0.0.39
234
index.js
import axios from 'axios' | ||
import { Network } from '@capacitor/network' | ||
import EventEmitter from 'fwk-events' | ||
import { App } from '@capacitor/app' | ||
App.addListener('appStateChange', ({ isActive }) => { | ||
console.log('App state changed. Is active?', isActive) | ||
if (isActive) | ||
processSAF() | ||
}) | ||
let srv | ||
@@ -14,49 +21,107 @@ let logFlag = false | ||
const api = { | ||
init: (cfg) => { | ||
conLogger('api cfg: ' + cfg) | ||
const headersDef = { | ||
// 'Access-Control-Allow-Credentials':'true', | ||
'Accept': 'application/json, text/plain, */*', | ||
'Accept-Language': 'es-ES,es;q=0.9', | ||
'Content-Type': 'application/json;charset=UTF-8' | ||
} | ||
init: (cfg) => { | ||
conLogger('api cfg: ' + cfg) | ||
const headersDef = { | ||
// 'Access-Control-Allow-Credentials':'true', | ||
'Accept': 'application/json, text/plain, */*', | ||
'Accept-Language': 'es-ES,es;q=0.9', | ||
'Content-Type': 'application/json;charset=UTF-8' | ||
} | ||
const headers = { ...headersDef, ...cfg.headers } | ||
srv = axios.create({ | ||
baseURL: cfg.url, | ||
headers: headers | ||
}) | ||
conLogger('API SERVICE initialization srv:' + srv) | ||
const headers = { ...headersDef, ...cfg.headers } | ||
srv = axios.create({ | ||
baseURL: cfg.url, | ||
headers: headers | ||
}) | ||
conLogger('API SERVICE initialization srv:' + srv) | ||
srv.interceptors.request.use(req => { | ||
conLogger('interceptor request:' + req) | ||
return req | ||
}) | ||
srv.interceptors.response.use(res => { | ||
conLogger('interceptor response: ' + res) | ||
return res.data | ||
srv.interceptors.request.use(req => { | ||
conLogger('interceptor request:' + req) | ||
return req | ||
}) | ||
srv.interceptors.response.use(res => { | ||
conLogger('interceptor response: ' + res) | ||
return res.data | ||
}, | ||
error => { | ||
const { config } = error | ||
conLogger('Error FWK-API!!!! :' + error) | ||
} | ||
// console.log('interceptor response: ', res) | ||
// return res | ||
// }, error => { | ||
// console.log('interceptor response error: ', error) | ||
// return error | ||
// // if (errorSatifiesConditions(error)) { | ||
// // return doSomething().then({ | ||
// // // could be to resend original request | ||
// // }) | ||
// // } else { | ||
// // doSomethingElse() | ||
// // } | ||
) | ||
Network.addListener('networkStatusChange', async (status) => { | ||
console.log('Network status changed', status) | ||
if (status === 'wifi' || status === 'cellular' || !status) { | ||
processSAF() | ||
} | ||
}) | ||
}, | ||
error => { | ||
const { config } = error | ||
conLogger('Error FWK-API!!!! :' + error) | ||
} | ||
async setHeaders (headers) { | ||
conLogger('setHeaders :' + headers) | ||
srv.defaults.headers = { ...srv.defaults.headers, ...headers } | ||
}, | ||
setMockFlag: (flag) => { | ||
conLogger('setMockFlag :' + flag) | ||
delete srv.defaults.headers.mockmode | ||
srv.defaults.headers.mockmode = flag | ||
}, | ||
async callSrv (method, path, params, saf = false) { | ||
const netRes = await Network.getStatus() //'wifi' | 'cellular' | 'none' | 'unknown' | ||
const status = netRes.connectionType | ||
console.log('network status:', status) | ||
// console.log('interceptor response: ', res) | ||
// return res | ||
// }, error => { | ||
// console.log('interceptor response error: ', error) | ||
// return error | ||
// // if (errorSatifiesConditions(error)) { | ||
// // return doSomething().then({ | ||
// // // could be to resend original request | ||
// // }) | ||
// // } else { | ||
// // doSomethingElse() | ||
// // } | ||
) | ||
Network.addListener('networkStatusChange', async (status) => { | ||
console.log('Network status changed', status) | ||
if (status === 'wifi' || status === 'cellular' || !status) { | ||
if (status === 'wifi' || status === 'cellular' || !status) { | ||
let res | ||
if (method === "GET") res = await srv.get(path) | ||
if (method === "POST") res = await srv.post(path, JSON.stringify(params)) | ||
if (method === "FORM") res = await srv.post(path, params) | ||
return res | ||
} | ||
else { | ||
if (saf) { | ||
const pl = { | ||
method, | ||
path, | ||
params | ||
} | ||
queueSAF(pl) | ||
} | ||
else | ||
throw new Error('offline') | ||
} | ||
}, | ||
async sendFile (path, params) { | ||
formData.append("data", params.data) | ||
const ctype = srv.defaults.headers['Content-Type'] | ||
delete srv.defaults.headers['Content-Type'] | ||
srv.defaults.headers['Content-Type'] = 'multipart/form-data' | ||
const res = await srv.post(path, formData) | ||
srv.defaults.headers['Content-Type'] = ctype | ||
return res | ||
}, | ||
async info () { | ||
const res = await srv.get('info') | ||
conLogger('info:' + res) | ||
return res | ||
}, | ||
async setLogFlag (flag) { | ||
logFlag = flag | ||
}, | ||
processSAF () { | ||
for (const elem of safList) { | ||
await callSrv(elem.method, elem.path, elem.params) | ||
await callSrv(elem.method, elem.path, elem.params) | ||
} | ||
@@ -66,67 +131,12 @@ safList = [] | ||
evt.emit('onSAFCompleted') | ||
} | ||
}) | ||
}, | ||
async setHeaders (headers) { | ||
conLogger('setHeaders :' + headers) | ||
srv.defaults.headers = { ...srv.defaults.headers, ...headers } | ||
}, | ||
setMockFlag: (flag) => { | ||
conLogger('setMockFlag :' + flag) | ||
delete srv.defaults.headers.mockmode | ||
srv.defaults.headers.mockmode = flag | ||
}, | ||
async callSrv (method, path, params, saf = false) { | ||
const netRes = await Network.getStatus() //'wifi' | 'cellular' | 'none' | 'unknown' | ||
const status = netRes.connectionType | ||
console.log('network status:', status) | ||
if (status === 'wifi' || status === 'cellular' || !status) { | ||
let res | ||
if (method === "GET") res = await srv.get(path) | ||
if (method === "POST") res = await srv.post(path, JSON.stringify(params)) | ||
if (method === "FORM") res = await srv.post(path, params) | ||
return res | ||
} | ||
else { | ||
if (saf) { | ||
const pl = { | ||
method, | ||
path, | ||
params | ||
} | ||
queueSAF(pl) | ||
} | ||
else | ||
throw new Error('offline') | ||
} | ||
}, | ||
async sendFile (path, params) { | ||
formData.append("data", params.data) | ||
const ctype = srv.defaults.headers['Content-Type'] | ||
delete srv.defaults.headers['Content-Type'] | ||
srv.defaults.headers['Content-Type'] = 'multipart/form-data' | ||
const res = await srv.post(path, formData) | ||
srv.defaults.headers['Content-Type'] = ctype | ||
return res | ||
}, | ||
async info () { | ||
const res = await srv.get('info') | ||
conLogger('info:' + res) | ||
return res | ||
}, | ||
async setLogFlag (flag) { | ||
logFlag = flag | ||
}, | ||
getEvtEmitter () { | ||
return evt | ||
}, | ||
triggerNewPendingTask (cnt) { | ||
evt.emit('onNewPendingTask', cnt) | ||
}, | ||
triggerSAFCompleted () { | ||
evt.emit('onSAFCompleted') | ||
}, | ||
}, | ||
getEvtEmitter () { | ||
return evt | ||
}, | ||
triggerNewPendingTask (cnt) { | ||
evt.emit('onNewPendingTask', cnt) | ||
}, | ||
triggerSAFCompleted () { | ||
evt.emit('onSAFCompleted') | ||
}, | ||
} | ||
@@ -136,9 +146,9 @@ export default api | ||
function queueSAF (obj) { | ||
safList.push(obj) | ||
localStorage.safList = safList | ||
evt.emit('onNewPendingTask', safList.length) | ||
safList.push(obj) | ||
localStorage.safList = safList | ||
evt.emit('onNewPendingTask', safList.length) | ||
} | ||
function conLogger (str) { | ||
if (logFlag) | ||
console.log(str) | ||
if (logFlag) | ||
console.log(str) | ||
} |
{ | ||
"name": "fwk-api", | ||
"version": "0.0.38", | ||
"version": "0.0.39", | ||
"description": "Framework with api services access(only javascript)", | ||
@@ -5,0 +5,0 @@ "main": "index.js", |
5102
140