//app.js
import {
  request
} from "./request/index.js"
var QQMapWX = require('./qqmap/qqmap-wx-jssdk.min.js');
var qqmapsdk;
App({
  onLaunch: function () {
    let t = this;
    wx.getSystemInfo({
      success: (result) => {
        // console.log(result);
        t.globalData.statusHeight = result.statusBarHeight;
      },
    })
    if (wx.canIUse('getUpdateManager')) {
      const updateManager = wx.getUpdateManager()
      updateManager.onCheckForUpdate(function (res) {
        // console.log('onCheckForUpdate====', res)
        // 请求完新版本信息的回调
        if (res.hasUpdate) {
          console.log('res.hasUpdate====')
          updateManager.onUpdateReady(function () {
            wx.showModal({
              title: '更新提示',
              content: '新版本已经准备好,是否重启应用?',
              success: function (res) {
                console.log('success====', res)
                // res: {errMsg: "showModal: ok", cancel: false, confirm: true}
                if (res.confirm) {
                  // 新的版本已经下载好,调用 applyUpdate 应用新版本并重启
                  updateManager.applyUpdate()
                }
              }
            })
          })
          updateManager.onUpdateFailed(function () {
            // 新的版本下载失败
            wx.showModal({
              title: '已经有新版本了哟~',
              content: '新版本已经上线啦~,请您删除当前小程序,重新搜索打开哟~'
            })
          })
        }
      })
    }
    let token = wx.getStorageSync('token')
    if (token) {
      this.getCommon()
    }
  },
  onShow: function (res) {
    console.log(res);
    qqmapsdk = new QQMapWX({
      key: 'B4MBZ-3VICV-THBPQ-UCLHB-SLCEK-B7FIK'
    });
    this.getCitied()
    // 展示本地存储能力
    var logs = wx.getStorageSync('logs') || []
    logs.unshift(Date.now())
    wx.setStorageSync('logs', logs)
    // 登录
    wx.login({
      success: res => {
        // 发送 res.code 到后台换取 openId, sessionKey, unionId
      }
    })
    // 获取用户信息
    wx.getSetting({
      success: res => {
        if (res.authSetting['scope.userInfo']) {
          // 已经授权,可以直接调用 getUserInfo 获取头像昵称,不会弹框
          wx.getUserInfo({
            success: res => {
              // 可以将 res 发送给后台解码出 unionId
              this.globalData.userInfo = res.userInfo
              // 由于 getUserInfo 是网络请求,可能会在 Page.onLoad 之后才返回
              // 所以此处加入 callback 以防止这种情况
              if (this.userInfoReadyCallback) {
                this.userInfoReadyCallback(res)
              }
            }
          })
        }
      }
    })
  },
  getCitied() { // 获取城市信息
    let that = this
    wx.getLocation({
      type: 'wgs84', //默认为 wgs84 返回 gps 坐标,gcj02 返回可用于 wx.openLocation 的坐标 
      success: function (res) {
        qqmapsdk.reverseGeocoder({
          //位置坐标,默认获取当前位置,非必须参数
          //Object格式
          location: {
            latitude: res.latitude,
            longitude: res.longitude
          },
          success: function (res) { //成功后的回调
            console.log(res);
            var res = res.result;
            let city = res.ad_info.city
            that.saveCity(city)
          },
          fail: function (error) {
            console.error(error);
          },
          complete: function (res) {
            // console.log(res);
          }
        })
      },
      fail: res => {
        //如果用户点击了拒绝,就会走fail
        // console.log("点击了拒绝,authorize--fail用户拒绝过");
        // that.setData({
        //     add: false
        // })
      }
    })
    return
  },
  async getCommon() {
    let that = this
    wx.login({
      success(res) {
        console.log(res);
        request({
            url: 'api/common/getUnionid',
            method: "POST",
            data: {
              code: res.code
            }
          })
          .then(res => {
            console.log(res, 'api/common/getUnionid');
            console.log('新出的接口', res);
          }).catch(err => {
            console.log(err);
            console.log('新出的接口出错', err);
          })
      }
    })
  },
  tipsFun(item) {
    wx.showToast({
      title: item,
      icon: 'none',
      duration: 1300
    })
  },
  popSuccessTest(msg) {
    wx.showToast({
      title: msg,
      icon: '',
      duration: 1300,
      mask: true
    })
  },
  popTest(msg) {
    wx.showToast({
      title: msg,
      icon: 'none',
      duration: 1300,
      mask: true
    })
  },
  checkLogin() {
    wx.showModal({
      title: '提示',
      content: '您尚未登录,请登录后操作',
      success: function (res) {
        if (res.confirm) {
          wx.navigateTo({
            url: '/pages/authorization/authorization'
          })
        } else {
          console.log('点击取消回调')
        }
      }
    })
  },
  setPhone(mobile) {
    var myreg = /^(((13[0-9]{1})|(15[0-9]{1})|(18[0-9]{1})|(17[0-9]{1}))+\d{8})$/;
    if (mobile == '') {
      wx.showToast({
        title: '手机号不能为空',
        icon: 'none',
        duration: 1000,
      })
      return false;
    } else if (mobile.length != 11) {
      wx.showToast({
        title: '手机号长度有误!',
        icon: 'none',
        duration: 1000,
      })
      return false;
    }
    if (!myreg.test(mobile)) {
      wx.showToast({
        title: '手机号有误!',
        icon: 'none',
        duration: 1000,
      })
      return false;
    }
    return mobile
  },
  async saveCity(city) {
    let that = this
    try {
      const {
        data: {
          data
        }
      } = await request({
        url: 'api/citys/getCity',
        data: {
          city: city
        }
      })
      console.log(data, "全局城市定位");
      that.globalData.city_glob_id = data.city_id
    } catch (err) {
      console.log(err);
      that.popTest(err.msg)
    }
  },

  globalData: {
    userInfo: null,
    baseUrl: 'https://car.goorcar.com/',
    imagesUrl: 'https://car.goorcar.com/',
    statusHeight: 0,
    stores_id: '', //进入4s店id
    city_glob_id: '', // 城市定位
  }
})