///**
// * @flow
// */
////import _ from 'lodash'
//import moment from 'moment'
////import { Toast } from 'antd-mobile-rn'
//import DeviceInfo from 'react-native-device-info'
//import axios from 'axios'
//// import { writeLog } from '../middleware'
//import { AssetsModule, ExitRNModule } from '../native-utils'
//import { getLanuage } from '../lanuageUtils'
//import {
//  getCoreAPIRequestUrl,
//} from './APIConfig'
//import { ENV, ppkVersion } from '../constants'
//import responseCode from '../responseCode'
//
//export const APIDeps = {
//  sessionid: '',
//  ppkPath: '',
//  deviceInfo: {},
//  mobile: '',
//  agentcode: '',
//  employno: '',
//  accesstokeninfo: '',
//  source: null,
//}
//
//let accesstokeninfo = ''
//
//axios.interceptors.request.use(config => {
//  //console.log(config)
//  if (config.config.shouldLoading) {
//    AssetsModule.showToast('拼命加载中')
//  }
//  return config
//},
//err => {
//  AssetsModule.showToast('拼命加载中')
//  const msg = responseCode.networkError
//  Toast.show(msg, Toast.SHORT)
//  return Promise.reject(err)
//})
//
//axios.interceptors.response.use(response => {
//  //console.log(response)
//  if (response.config.config.hiddenLoading) {
//    AssetsModule.dismisToast()
//  }
//  if (response.data.code === '0000') {
//    return response
//  } else if (responseCode.businessError.indexOf(response.data.code) !== -1) {
//    if (AssetsModule.sendNeedLoginCode) {
//      AssetsModule.sendNeedLoginCode(response.data.code)
//    }
//    return Promise.resolve(response)
//  } else if (responseCode.needExitError.indexOf(response.data.code) !== -1) {
//    Toast.show(response.data.desc, Toast.SHORT)
//    ExitRNModule.exitRN()
//    //return Promise.resolve(response)
//  } else if (response.data.code[0] === '9') {
//    if (response.config.config.shouldHandleError) {
//      Toast.show(responseCode.systemError, Toast.SHORT)
//    }
//    return Promise.resolve(response)
//  } else if (Number(response.data.code[0]) >= 0 && Number(response.data.code[0]) <= 8) {
//    if (response.config.config.shouldHandleError) {
//      Toast.show(response.data.desc, Toast.SHORT)
//    }
//    return Promise.resolve(response)
//  }
//  if (response.config.config.shouldHandleError) {
//    Toast.show(responseCode.systemError, Toast.SHORT)
//  }
//  return Promise.resolve(response)
//}, err => {
//  AssetsModule.dismisToast()
//  if (err.message === '用户取消') {
//    return Promise.resolve(err.response)
//  }
//  if (err.toString().indexOf('Network') !== -1) {
//    Toast.show(responseCode.networkError, Toast.SHORT)
//    return Promise.resolve(err.response)
//  }
//  Toast.show(responseCode.networkError, Toast.SHORT)
//  return Promise.resolve(err.response)
//})
//
//export async function fetchCoreAPI(APICode, {
//    params,
//    method = 'POST',
//    shouldHandleError = true,
//    shouldLoading = true,      // 是否显示loading（非必传,默认为true）
//    hiddenLoading = true,
//    requestTimeout = 30 * 1000,
//  }
//) {
//  let url = getCoreAPIRequestUrl({ env: ENV, APICode })
//  const language = await getLanuage()
//  url = `${url}&language=${language}`
//  const CancelToken = axios.CancelToken
//  //console.log('url =', url)
//  APIDeps.source = CancelToken.source()
//  accesstokeninfo = await AssetsModule.getStorageValue('authToken')
//  let data
//  if (params) {
//    data = JSON.stringify(params)
//  }
//  const config = {
//    method,
//    data,
//    headers: {
//      'Content-Type': 'application/json;charset=UTF-8',
//      'x-ac-app-version': DeviceInfo.getVersion() || '',
//      'x-ac-channel-id': 'KHT',
//      'x-ac-device-id': DeviceInfo.getUniqueID() || '',
//      'x-ac-os-info': DeviceInfo.getUserAgent(),
//      'x-ac-ppk-version': ppkVersion,
//      'x-ac-sign': 'RNRNRNRNRNRN',
//      'x-ac-time': `${moment()}`,
//      'Accept': 'application/json;charset=UTF-8',
//      'x-ac-token-ticket': accesstokeninfo,
//    },
//    timeout: requestTimeout,
//    cancelToken: APIDeps.source.token,
//    config: {
//      shouldHandleError,
//      shouldLoading,
//      hiddenLoading,
//    },
//  }
//  if (method === 'GET' && !params) {
//    delete (config.data)
//  }
//  // console.log('token：', accesstokeninfo)
//  // console.log('请求参数：', config.data)
//  // console.log('请求参数：', JSON.stringify(config.data))
//
//  return new Promise((resolve, reject) => {
//    axios(url, config)
//      .then(response => {
//        if (response && response.data && response.data.code === '0000') {
//        //  console.log('response:', response)
//          resolve(response.data)
//        } else if (response && response.data) {
//          resolve(response.data)
//        } else {
//          resolve([])
//        }
//      })
//      .catch(error => {
//        Toast.show(responseCode.systemError, Toast.SHORT)
//        reject(error)
//      })
//  })
//}
