// pages/member/index.js
Page({

    /**
     * 页面的初始数据
     */
    data: {
        userLogin       : '',   //登录状态
        avatar          : '',   //头像
        nickName        : '',   //昵称
        identityId      : '',   //用户id
        identityShow    : '',   //身份有效期
        tabType         : 2,    // 会员选项
        identitiesData  : [],
        interestData    : '',     // 会员权益
        vipsData        : '',    //会员公告
        barHeight       : getApp().globalData.statusBarHeight, // 状态栏高度
        jiaonangheight  : getApp().globalData.jiaonangheight, //胶囊高度
    },

    /**
     * 生命周期函数--监听页面加载
     */
    onLoad(options) {},

    /**
     * 生命周期函数--监听页面显示
     */
    onShow() {
        // 获取登录状态
        if(wx.getStorageSync("token")){
            this.setData({
                userLogin: true
            })

            // 获取用户信息
            this.userInfo();
        }
        // 获取身份前置
        this.identityInfo();

        // 获取身份权益
        this.openTab();
    },

    /**
     * 用户信息
     */
    userInfo() {
        wx.$api.user.home().then(res => {
            this.setData({
                userData        : res.data,
                avatar          : res.data.avatar,
                nickName        : res.data.nickname,
                identityId      : res.data.identity.id,
                identityShow    : res.data.identityShow
            })
            
        }).catch(err => {})
    },

    /**
     * 身份前置
     */
    identityInfo(){
        wx.$api.member.openModel().then(res => {
            this.setData({
                identitiesData : res.data.identities,
                vipsData       : res.data.vips
            })
            
        }).catch(err => {})
    },

    /**
     * 切换身份
     */
    typeClick(e) {
        this.setData({
            tabType: e.currentTarget.dataset.type
        })
        // 获取身份权益
        this.openTab();
    },

    /**
     * 身份权益
     */
    openTab() {
        // 3为金卡,4为钻卡
        wx.$api.member.openSee(this.data.tabType).then(res => {
            this.setData({
                interestData: res.data
            })
        }).catch(err => {})
    },

    /**
     * 截获竖向滑动
     */
    catchTouchMove(){
        return false
    },

    /**
     * 处理未登录时的转跳
     */
    userNav(e){
        let pageUrl = e.currentTarget.dataset.url
        if(wx.getStorageSync("token")){
            // 微信支付-线上支付
            if(this.data.interestData.channel.value == 1) {
                this.wxPay();
                return
            }
            // 上传打款凭证
            wx.navigateTo({
                url: pageUrl
            })
        }else{
            // 去登录
            wx.navigateTo({
                url: "/pages/login/index"
            })
        }
    },

    /**
     * 立即续费
     */
    renewTap() {
        // 微信支付-线上支付
        if(this.data.interestData.channel.value == 1) {
            this.wxPay();
            return
        }
        // 上传打款凭证-线下支付
        wx.navigateTo({
            url: "/pages/member/open/open?identity_id=" + this.data.interestData.identity_id
        })
    },

    // 微信支付
    wxPay() {
        wx.showLoading({
            title: '支付中...',
            mask : true
        })
        let that = this
        wx.login({
            success: res => {
                wx.$api.member.openid(res).then(openidRes => {
                    wx.$api.member.openIndex(that.data.interestData.identity_id,{}).then(memberRes => {
                        wx.hideLoading()
                        wx.$api.member.identityPay(memberRes.data.order_id, {
                            channel: 'miniapp',
                            openid : openidRes.data
                        }).then(PayRes => {
                            let payInfo = JSON.parse(PayRes.data.wechat)
                            wx.requestPayment({
                                timeStamp: payInfo.timeStamp,
                                nonceStr : payInfo.nonceStr,
                                package  : payInfo.package,
                                paySign  : payInfo.paySign,
                                signType : payInfo.signType,
                                success  : payInfoRes=>{
                                    if(payInfoRes.errMsg == "requestPayment:ok"){
                                        wx.showToast({
                                            title: '支付成功',
                                            icon : 'success'
                                        })
                                        setTimeout(()=>{
                                            wx.switchTab({
                                                url: '/pages/user/index'
                                            })
                                        },3000)
                                    }
                                },
                                fail  : res=>{
                                    wx.showToast({
                                        title: '取消支付',
                                        icon: 'none'
                                    })
                                }
                            })
                        }).catch(err => {})
                    }).catch(err => {})
                }).catch(err => {})
            }
        })
    },

    /**
     * 查看驳回原因
     */
    tapCause(e) {
        wx.showModal({
            title   : '驳回原因',
            content : e.currentTarget.dataset.text,
            showCancel: false,
            success : res=> {}
        })
    }
})