summaryrefslogtreecommitdiff
path: root/StoneIsland/platforms/ios/www/js/sdk/_sdk.js
blob: 3b1c98a9e9bb0411a33d8d5ed7fa559d7fe43ef3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
var sdk = (function(){
  var sdk = {}
  
  sdk.env = "development"
  
  var endpoint = "https://secure.api.yoox.biz/"
  // var endpoint = "http://api.yoox.biz/"
  
  sdk.init = function(opt){
    switch (sdk.env = opt.env || "development") {
      case 'test':
        endpoint = ('window' in this ? window.location.origin + "/" : "http://lvh.me:9090/")
        break
      default:
      case 'development':
        endpoint = "/"
        break
      case 'production':
        endpoint = "https://secure.api.yoox.biz/"
        break
    }
  }
  
  sdk.path = function(api, path, cc){
    return endpoint + api + "/STONEISLAND_" + (cc || sdk.cc()) + "/" + path
  }
  
  sdk.image = function(code, size){
    return "https://cdn.yoox.biz/" + code.substr(0,2) + "/" + code + "_" + size + ".jpg"
  }
  
  sdk.cc = function(){
    return simcard.data.countryCode.toUpperCase()
    // return 'CA'
  }
  
  sdk.cms = function(){
    return "https://stone.giraffe.life"
    // return "http://staging.stone.giraffe.life"
  }

  sdk.ajax = function(opt){
    // $.ajaxSetup({
    //   // possibly: application/json; charset=utf-8"
    //   contentType: "application/json",
    // })
    if (!window.cordova) {
      return $.ajax(opt)
    }

    var method = opt.method.toLowerCase()
    var url = opt.url
    var xhrOptions = {
      method: method,
      responseType: 'json',
    }
    if (opt.headers) {
      xhrOptions.headers = opt.headers
    }
    if (opt.data) {
      if (method === 'get') {
        xhrOptions.params = sdk.stringifyParams(opt.data)
      } else {
        xhrOptions.data = opt.data
        xhrOptions.serializer = 'json'
      }
    }
    var success = function(res) {
      console.log(res.status)
      if (opt.success) {
        opt.success(res.data)
      }
    }
    var error = function(res) {
      console.error(res.status, res.error)
      if (opt.error) {
        opt.error({ responseText: res.error })
      }
    }
    console.log(url, xhrOptions)
    cordova.plugin.http.sendRequest(url, xhrOptions, success, error)
  }
  sdk.stringifyParams = function(data) {
    var strings = Object.keys(data).reduce(function(a,b) {
      a[b] = String(data[b])
      return a
    }, {})
    return strings
  }

  return sdk
})()