import {
    getMyInfo,
    getVipInfo,
    getWxQrcode,
    getLearnCard
} from '~/api/user'
import event from '~/mixins/event'
import {
    getProducts,
    userEvent
} from '~/api/global'
import {
    createStoreBindings
} from 'mobx-miniprogram-bindings'
import {
    store
} from '~/store/index'
const app = getApp()
Page({
    behaviors: [event],
    data: {
        userInfo: {},
        vipTime: '',
        tasks: [],
        isIos: app.globalData.isIOS,
        qrCode: '',
        activationModal: false,
        activationRes: {},
        products: [],
        isPreferential: false
    },
    async onLoad() {
        // 手工绑定 
        this.storeBindings = createStoreBindings(this, {
            store,
            actions: {
                setUser: 'setUser'
            }
        })
        if (this.data.isIos) {
            let qrCode = await getWxQrcode()
            this.setData({
                qrCode: qrCode.ticketUrl
            })
        }
    },
    async onShow() {
        if (typeof this.getTabBar === 'function') {
            this.getTabBar().setData({
                selected: 4
            })
        }
        let uid = wx.getStorageSync('uid') || ''
        if (!uid) {
            getApp().callBack = (res) => {
                this.setUserInfo()
            }
        } else {
            this.setUserInfo()
        }
    },
    // 设置用户信息及vip状态
    async setUserInfo() {
        let userInfo = await getMyInfo()
        let vipTime = await getVipInfo()
        this.setUser(userInfo.user)
        this.getProducts()
        this.setData({
            userInfo,
            vipTime,
        })
    },
    paySuccess() {
        this.setUserInfo()
        this.selectComponent('#vipModal').open()
    },
    async getProducts() {
        let {
            productList: products,
            isPreferential
        } = await getProducts()
        console.log(products);
        this.setData({
            products,
            isPreferential
        })
    },
    activationCode() {
        wx.showModal({
            title: '请输入激活码',
            editable: true,
            success: async ({
                confirm,
                content
            }) => {
                if (confirm) {
                    let regexp = /^[a-zA-Z0-9]{4}$/
                    if (regexp.test(content)) {
                        let activationRes = await getLearnCard({
                            cardNo: content
                        })
                        if (activationRes.code == 200) {
                            activationRes = {
                                code: 200,
                                message: '快去朗读挑战吧!'
                            }
                        }
                        this.setUserInfo()
                        if (typeof this.getTabBar === 'function') {
                            this.getTabBar().setData({
                                mask: true
                            })
                        }
                        this.setData({
                            activationModal: true,
                            activationRes
                        })
                    } else {
                        if (typeof this.getTabBar === 'function') {
                            this.getTabBar().setData({
                                mask: true
                            })
                        }
                        this.setData({
                            activationModal: true,
                            activationRes: {
                                code: 581,
                                message: '请检查激活码输入是否正确'
                            }
                        })
                    }
                }
            }
        })
    },
    toGzh() {
        this.selectComponent('#gzh').open()
    },
    openDonutBuy({
        currentTarget
    }) {
        let product = currentTarget.dataset.product
        console.log(product);
        this.selectComponent('#donutBuy').open(product)
    },
    jump({
        currentTarget
    }) {
        let url = currentTarget.dataset.url
        console.log(url);
        wx.navigateTo({
            url: url
        });
    },
    clipboar() {
        wx.setClipboardData({
            data: this.data.userInfo.user.eid,
            success: function (res) { //成功回调函数
                wx.showToast({
                    title: '已复制',
                    icon: "none"
                })
            }
        })
    },
    closeModal() {
        this.setData({
            activationModal: false
        })
        if (typeof this.getTabBar === 'function') {
            this.getTabBar().setData({
                mask: false
            })
        }
    },

    // 分享配置
    onShareAppMessage(res) {
        // #if MP
        return {
            title: '自从用了它,家里朗朗书声,美妙极了!你家孩子也快来试试!',
            path: `/pages/index/index?uid=${wx.getStorageSync('uid')}`,
            imageUrl: 'http://reader-wx.ai160.com/images/reader/v3/375-300-1.jpg'
        }
        // #elif ANDROID
        return {
            title: '自从用了它,家里朗朗书声,美妙极了!你家孩子也快来试试!',
            userName: 'gh_50f61361ad1d',
            path: `/pages/index/index?uid=${wx.getStorageSync('uid')}`,
            imagePath: '/static/375-300-2.jpg',
            webpageUrl: 'http://www.efunbox.cn',
            withShareTicket: true,
            miniprogramType: 1,
            scene: 0,
        }
        // #endif
    },
    onShareTimeline: function () {
        return {
            title: '终于找到适合孩子的朗读神器了!动画配音,边玩边学!',
            query: `uid=${wx.getStorageSync('uid')}`,
            imageUrl: 'http://reader-wx.ai160.com/images/reader/v3/yuwen.jpg'
        }
    },
})