/*
 * 本时生活
 */

const app = getApp()


Page({

    /**
     * 页面的初始数据
     */
    data: {
        isLogin         : false,
        loginCode       : "",  //code
        userInfo        : {},  //用户
        iv              : '',
        encryptedData   : '',
        way             : '' //登录方式-活动
    },

    /**
     * 生命周期函数--监听页面加载
     */
    onLoad (options) {
        // 登录方式-活动
        this.setData({
            way : options.way
        })
    },

    /**
     * 生命周期函数--监听页面显示
     */
    onShow () {
        wx.login({
            success: res => {
                this.setData({
                    loginCode: res.code
                })
            }
        })
    },

    /**
     * 登录
     */
    userInfo(e){
        if(e.detail.errMsg == "getUserInfo:ok"){
            this.setData({
                isLogin         : true,
                userInfo        : e.detail.rawData,
                iv              : e.detail.iv,
                encryptedData   : e.detail.encryptedData
            })
            
            // 检查用户登录Code是否过期
            wx.checkSession({
                success: res=>{
                    this.userLogin()
                },
                fail: err=>{
                    // 登录过期重新获取code
                    wx.login({
                        success: res=>{
                            this.setData({
                                loginCode: res.code
                            })
                            // 登录
                            this.userLogin()
                        }
                    })
                }
            })
        }else{
            wx.showToast({
                title: '拒绝了登录授权',
                icon : 'none'
            })
        }
    },

    /**
     * 用户登录
     */
    userLogin(){
        let code           = this.data.loginCode,
            iv             = this.data.iv,
            encryptedData  = this.data.encryptedData

        wx.$api.enroll.record(code, iv, encryptedData).then(res=>{
            getApp().globalData.token  = res.data.token
            
            // 更新全局存储器用户状态
            getApp().globalData.isUser   = true

            
            // 写入缓存
            wx.setStorage({
                key     : 'token',
                data    : res.data.token
            })

            // 存入缓存
            app.globalData.userInfo   = res.data.users
            app.globalData.wechatUser = res.data.wechatUser_id

            this.setData({
                isLogin: false
            })

            wx.navigateTo({
                url: "/pages/chooseTel/chooseTel?way=" + this.data.way 
            })

            // 写入缓存
            wx.setStorage({
                key     : 'users',
                data    : res.data.users
            })
        })
    }

})