<template>
	<view> </view>
</template>

<script>
export default {
  data() {
    return {
      timer:null,
    }
  },
  onLoad() {
    this.login()
  },
  // 一般页面用onUnload
  // tabbar页面用onHide
  onUnload() {
    if(this.timer) {  
      clearTimeout(this.timer)
      this.timer = null
    }  
  },
  methods:{
    //---登录
    login(){
      let _this = this
      uni.getProvider({
        service: 'oauth',
        success(proRes) {
          uni.login({
            provider: proRes.provider[0],
            success: function(res) {
              if (res.code) {
                let source = ''
                if (proRes.provider[0] == 'weixin') {
                  source = 3
                } else if (proRes.provider[0] == 'alipay') {
                  source = 4
                }
                let data = {
                  code: res.code,
                  source, //微信小程序3，支付宝小程序4
                  appid:uni.getStorageSync('appid')||''
                }
                if(uni.getStorageSync('enterOptions').query){
                  data.companyId=uni.getStorageSync('enterOptions').query.companyId||''
                }
                _this.$request('wechat/wx/getUserInfoByCode', data).then(res => {
                  if (res.code == '00') {
                    let openid = res.data.openid
                    uni.setStorageSync('openid', openid)
                    let userId = res.data.userId || ''
                    let datas = { openid, source, userId }
                    _this.$request('wechatUser/login/findWxUserAndLogin', datas).then(res => {
                      //通过openid获取token
                      if (res.code == '00') {
                        let token = res.data.token || ''
                        uni.setStorageSync('token', token)
                        let createUserId = res.data.personId || ''
                        uni.setStorageSync('createUserId', createUserId)
                        let userId = res.data.userId || ''
                        uni.setStorageSync('userId', userId)
                        let enterOptions = uni.getStorageSync('enterOptions')
                        let queryTotal = ''
                        for (let key in enterOptions.query) {
                          queryTotal += '&' + key + '=' + enterOptions.query[key]
                        }
                        queryTotal = queryTotal.substr(1)
                        if (token) {
                          uni.reLaunch({
                            url: '/' + enterOptions.path + '?' + queryTotal
                          })
                          //保存当前日期
                          let oldDate=_this.$commonjs.today()
                          uni.setStorageSync('oldDate', oldDate)
                          // uni.navigateBack({
                          // 	delta:1
                          // })
                        }
                      } else {
                        uni.showToast({
                          title: res.message,
                          icon: 'none'
                        })
                      }
                    }).catch(err => {
                      uni.showToast({
                        title: '登录失败,请退出并重新登录',
                        icon: 'none'
                      })
                      _this.timer = setTimeout(() => {
                        _this.login()
                      }, 2000)
                    })
                  } else {
                    uni.showToast({
                      title: res.message,
                      icon: 'none'
                    })
                  }
                }).catch(err => {
                  uni.showToast({
                    title: '登录失败,请退出并重新登录',
                    icon: 'none'
                  })
                  _this.timer = setTimeout(() => {
                    _this.login()
                  }, 2000)
                })
              }
            }
          })
        }
      })
    }
  }
}

</script>

<style></style>
