//app.js
App({
  onLaunch: function () {
    // 展示本地存储能力
    var logs = wx.getStorageSync('logs') || []
    logs.unshift(Date.now())
    this.changeToken();
    // 获取用户信息
  },
  changeToken() {
    let url = '/api/user/codeToToken', t = this;
    wx.login({
      success: function (res) {
        t.post(url, { code: res.code }).then((r) => {
          wx.setStorageSync('token', r.userInfo.token)
        })
      }
    })
  },
  post: function (url, data, showLoad) {
    /** 
  * 自定义post函数,返回Promise
  * +-------------------
  * @param {String}      url 接口网址
  * @param {arrayObject} data 要传的数组对象 like: {name: 'name', age: 32}
  * +-------------------
  * @return {Promise}    promise 返回promise供后续操作
  */
    if (showLoad == undefined || showLoad){
      wx.showLoading({
        title: '加载中',
      })
    }
    wx.showNavigationBarLoading()
    var promise = new Promise((resolve, reject) => {
      //init
      let that = this,token=wx.getStorageSync('token'),header={
        'content-type': 'application/x-www-form-urlencoded',
        'token': token||''
      },postData;
      data.header ? (token ? (header['token'] = token, delete data.header):setTimeout(()=>{
        wx.navigateTo({
          url: '/pages/register/register',
        })
      },1100)):""
      //网络请求  
      wx.request({
        url: this.globalData.baseUrl + url,
        data: data,
        method: 'POST',
        header: header,
        success: function (res) {//返回取得的数据
          if (res.data.code == '1') {
            resolve(res.data.data);
          } else if (res.data.code == '201') {
            resolve(res.data);
          }else {
            wx.showToast({
              title: res.data.msg,
              icon:'none',
            })
            reject(res.data)
            if (res.data.code == '401'){
              setTimeout(()=>{
                wx.navigateTo({
                  url: '/pages/register/register',
                })
              },1200)
            }
          }
            (showLoad || showLoad == undefined) ? wx.hideLoading() : "";
          wx.hideNavigationBarLoading()
        },
        fail: function (e) {
          reject('网络出错');
          (showLoad || showLoad == undefined) ? wx.hideLoading() : "";
          wx.hideNavigationBarLoading()
        }
      })
    });
    return promise;
  },
  timeFormate(timestamp, timeType) {
    if (timestamp) {
      var timeStamp = timestamp.length == 13 ? timestamp : timestamp * 1000
      var date = new Date(timeStamp);//时间戳为10位需*1000,时间戳为13位的话不需乘1000
      var Y = date.getFullYear() + '-';
      var M = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1) + '-';
      var D = date.getDate() + ' ';
      var h = date.getHours() + ':';
      var m = (date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes());
      var s = date.getSeconds();
      if (timeType == 'YYMMDD') {
        return Y + M + D;
      } else if (timeType == 'YYMMDDHHMM') {
        return Y + M + D + " " + h + m;
      } else {
        return h + m;
      }
    }
  },
  globalData: {
    userInfo: null,
    baseUrl:'https://lqz.w.brotop.cn'
  }
})