import {
    getMyInfo,
    buyVip,
    getVipInfo,
    getLearnCard
} from '~/api/user'
import {
    getProducts
} from '~/api/global'
import {
    createStoreBindings
} from 'mobx-miniprogram-bindings'
import {
    store
} from '~/store/index'
const app = getApp()
Page({
    data: {
        userInfo: {},
        vipTime: '',
        tasks: [],
        isIos: app.globalData.isIOS,
        /*     activationModal: true,
         */
        activationModal: false,
        activationRes: {},
        products: []
    },
    onLoad() {
        // 手工绑定 
        this.storeBindings = createStoreBindings(this, {
            store,
            actions: {
                setUser: 'setUser'
            }
        })
        this.getProducts()
    },
    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.setData({
            userInfo,
            vipTime,
        })
    },
    async getProducts() {
        let {
            productList: products,
        } = await getProducts()
        this.setData({
            products,
        })
    },
    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
                        })
                        console.log(activationRes);
                        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: '请检查激活码输入是否正确'
                            }
                        })
                    }
                }
            }
        })
    },
    async toBuy({
        currentTarget
    }) {
        wx.showLoading({
            title: '提交中',
            mask: true
        })
        let res = await buyVip({
            productId: currentTarget.dataset.id
        }).finally(() => {
            wx.hideLoading()
        })
        let {
            timeStamp,
            nonceStr,
            signType,
            paySign
        } = res
        // package保留字
        wx.requestPayment({
            timeStamp,
            nonceStr,
            package: res.package,
            signType,
            paySign,
            success: (res) => {
                this.selectComponent('#vipModal').open({
                    type: 'svip'
                })
                setTimeout(() => {
                    this.setUserInfo()
                }, 1500)
            },
            fail(res) {
                wx.showToast({
                    title: "支付失败",
                    icon: "none",
                    duration: 3000
                })
            }
        })
    },
    jump({
        currentTarget
    }) {
        let url = currentTarget.dataset.url
        wx.navigateTo({
            url: url
        });
        /*      wx.openChannelsUserProfile({
               finderUserName: 'sphaBwcNkKMpmwi',
               success: (res) => {
                 console.log(res);
               },
               fail: (res) => {
                 console.log(res);
               }
             }) */
    },
    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: function (res) {
        return {
            title: '自从用了它,家里朗朗书声,美妙极了!你家孩子也快来试试!',
            path: '/pages/index/index',
            imageUrl: 'http://reader-wx.ai160.com/images/reader/v3/375-300-1.jpg'
        }
    },
    onShareTimeline: function () {
        return {
            title: '终于找到适合孩子的朗读神器了!动画配音,边玩边学!',
            query: `uid=${wx.getStorageSync('uid')}`,
            imageUrl: 'http://reader-wx.ai160.com/images/reader/v3/yuwen.jpg'
        }
    },
})