index.js 1.3 KB
Newer Older
fxy060608's avatar
fxy060608 已提交
1 2
import {
  promisify
fxy060608's avatar
fxy060608 已提交
3
} from '../helpers/promise'
fxy060608's avatar
fxy060608 已提交
4 5 6

import {
  upx2px
fxy060608's avatar
fxy060608 已提交
7 8 9 10 11
} from '../service/api/upx2px'

import todoApi from './todo'

import * as baseApi from './base'
fxy060608's avatar
fxy060608 已提交
12 13 14 15 16 17 18 19 20 21 22 23 24 25

import * as api from 'uni-platform/service/api/index.js'

let uni = {}

if (typeof Proxy !== 'undefined') {
  uni = new Proxy({}, {
    get (target, name) {
      if (name === 'upx2px') {
        return upx2px
      }
      if (api[name]) {
        return promisify(name, api[name])
      }
fxy060608's avatar
fxy060608 已提交
26 27 28 29 30 31
      if (baseApi[name]) {
        return promisify(name, baseApi[name])
      }
      if (todoApi[name]) {
        return promisify(name, todoApi[name])
      }
fxy060608's avatar
fxy060608 已提交
32 33 34 35 36 37 38 39 40
      if (!__GLOBAL__.hasOwnProperty(name)) {
        return
      }
      return promisify(name, __GLOBAL__[name])
    }
  })
} else {
  uni.upx2px = upx2px

fxy060608's avatar
fxy060608 已提交
41 42 43 44 45 46 47 48
  Object.keys(todoApi).forEach(name => {
    uni[name] = promisify(name, todoApi[name])
  })

  Object.keys(baseApi).forEach(name => {
    uni[name] = promisify(name, todoApi[name])
  })

fxy060608's avatar
fxy060608 已提交
49 50 51 52 53 54 55 56 57 58 59 60
  Object.keys(api).forEach(name => {
    uni[name] = promisify(name, api[name])
  })

  Object.keys(__GLOBAL__).forEach(name => {
    if (__GLOBAL__.hasOwnProperty(name)) {
      uni[name] = promisify(name, __GLOBAL__[name])
    }
  })
}

export default uni