UNPKG

rxd-wf-api

Version:

WF API Client- WeForward API请求封装

58 lines (57 loc) 1.76 kB
const getSystem = () => { const u = navigator.userAgent let system = 'PC' let isAndroid = u.indexOf('Android') > -1 || u.indexOf('Adr') > -1 //android终端 let isIOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/) //ios终端 if (isAndroid) system = 'android' if (isIOS) system = 'ios' return system } // 发送数据给原生 const postMessage = (pluginCode, message) => { if (getSystem() === 'android') { const methodName = 'window.' + pluginCode eval(methodName).postMessage(message) } else if (getSystem() === 'ios') { const methodName = 'window.webkit.messageHandlers.' + pluginCode eval(methodName).postMessage(message) } } const test = () => { if (getSystem() !== 'PC') { postMessage('pluginCenter', 'dataStorePlugin') } } const dataStorePluginResult = (params) => { console.log(params, '获取端应用的数据') if (getSystem() === 'android') { init(JSON.parse(params)) } else { init(params) } } window.dataStorePluginResult = dataStorePluginResult const statement = () => { if (getSystem() === 'android' && !window.dataStorePlugin) { window.location.reload() } postMessage('dataStorePlugin', 'WF_API_BASE_URL') postMessage('dataStorePlugin', 'WF_ACCESS_ID') postMessage('dataStorePlugin', 'WF_ACCESS_KEY') postMessage('dataStorePlugin', 'WF_ACCESS_EXPIRE') } const init = (params) => { for (let key in params) { localStorage.setItem(key, params[key]) } } const getPluginData = () => { if (getSystem() !== 'PC') { test() statement() } } export default { postMessage, getPluginData }