import Vue from 'vue'
import {
    joinVipService
} from '../comCreate.js'
import apis1 from '../apis1.js'
import {
    Toast
} from "vant";
Vue.use(Toast);
let {
    changeState
} = apis1;

export default {

    //客变主方法（没有按钮触发）
    changeStates(type) {
        this.changeState(type)
    },

    //调用接口的方法 1001,"可以参加活动"
    // 1002,"不是会员无法参加"
    // 1003,"会员级别不足无法参加"

    changeState: function(type) {
        changeState(data => {
            // console.log(data, '客态 客变主111')
            if (data.resp_code == 0) {
                if (data.data.joinInfo.joinCodeInfo.joinCode == '1001') {
                    if(type=='0'){
                        // Toast('助力失败');
                    }
                } else if (data.data.joinInfo.joinCodeInfo.joinCode == '1002') {
                    // console.log(comCreate, '客态 客变主222')
                    joinVipService.create(data.data, submit => {
                        joinVipService.close()
                    })
                } else if (data.data.joinInfo.joinCodeInfo.joinCode == '1003') {
                    // console.log('234324');
                    joinVipService.create(data.data, submit => {
                            joinVipService.close()
                        })
                        // console.log(joinVipService, '客态 客变主333')
                }
            } else {
                Notify(data.resp_msg);
            }
        })
    },

    //bind 只调用一次，指令第一次绑定到元素时调用，可以定义一个在绑定时执行一次的初始化动作
    // inserted: 被绑定元素插入父节点时调用（父节点存在即可调用，不必存在于 document 中）。
    // update: 被绑定元素所在的模板更新时调用，而不论绑定值是否变化。通过比较更新前后的绑定值。
    // componentUpdated: 被绑定元素所在模板完成一次更新周期时调用。
    // unbind: 只调用一次， 指令与元素解绑时调用。


    //客变主 指令 （有按钮触发）
    share: {
        bind(el, binding, vnode) {
            console.log(binding, 'bind')

            function clickHandler(e) {
                // console.log(e, '22222222222bind')
                // 判断指令中是否绑定了函数
                if (binding.expression) {
                    //调用接口
                    changeState();
                }
            }
            // 给当前元素绑定个私有变量，方便在unbind中可以解除事件监听
            el.__vueClickOutside__ = clickHandler;
            document.addEventListener('click', clickHandler);
        },

        update() {
            console.log('update--bind')
        },
        unbind(el, binding) {
            // 解除事件监听
            document.removeEventListener('click', el.__vueClickOutside__);
            delete el.__vueClickOutside__;
        }
    },

}