<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
                }
                _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.redirectTo({
                            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>
