import Vue from 'vue'
import {Toast} from 'vant';
import {services as Services} from '../../../api/index'

var qs = require('qs');

Vue.use(Toast);

const state = {
    loading: false,
    form1ImgShow:false,
    form2ImgShow:false,
    form1CodeStatus:false,//短信是否发送成功
    form2CodeStatus:false,
    isRegLogin:false//是否登录注册成功 进行下一步

}

const mutations = {
    smsVerify(state, payload) {

    }
}

const actions = {
    smsVerify({commit}, payload) {
        state.form1CodeStatus=false;
        state.loading = true;
        var params = {
            mobile: payload.mobile,
            verify: payload.verify,
            channel:1
        }
        Services.smsVerify(qs.stringify(params)).then((res) => {
            let data = res.data;
            state.loading = false;
            let form_=(payload.types=="form2")?"form2":"form1";
            state[form_+'ImgShow']=false;
            if (data.err_code == 0) {
                Toast({
                    message: data.err_msg,
                    duration: 2000
                });
                state[form_+'CodeStatus']=true;
                commit({
                    type: 'smsVerify',
                    data: data.data
                });
            }else if(data.err_code==10001||data.err_code==10002){
                Toast({
                    message: data.err_msg,
                    duration: 2000
                });
                state[form_+'ImgShow']=true;
            }else {
                Toast({
                    message: data.err_msg,
                    duration: 3000
                });
            }

        }).catch(function (err) {
            state.loading = false;
        });
    },
    actionLogin({commit}, payload) {
        state.loading = true;
        state.isRegLogin=false;
        var params = {
            account: payload.account,
            sms_verify: payload.sms_verify
        }
        Services.actionLogin(qs.stringify(params)).then((res) => {
            let data = res.data;
            state.loading = false;
            if (data.err_code == 0) {
                if(payload.form_name=="form1"){
                    Toast({
                        message: "提交成功",
                        duration: 2000
                    });
                    setTimeout(function(){
                        window.location.href="/";
                    },2000)
                    return;
                }
                state.isRegLogin=true;
                commit({
                    type: 'actionLogin',
                    data: data.data
                });
            }else {
                Toast({
                    message: data.err_msg,
                    duration: 3000
                });
            }

        }).catch(function (err) {
            state.loading = false;
        });
    },
    feedback({commit}, payload) {
        state.loading = true;
        var params = {
            type: payload.types,
            content: payload.content,
            mobile: payload.mobile,
            source:(window.location.href)
        }
        Services.feedback(qs.stringify(params)).then((res) => {
            let data = res.data;
            state.loading = false;
            if (data.err_code == 0) {
                Toast({
                    message: "需求已提交成功,客服人员会尽快与您联系",
                    duration: 3000
                });
                setTimeout(function(){
                    window.location.href="/";
                },3000)
                commit({
                    type: 'feedback',
                    data: data.data
                });
            }else {
                Toast({
                    message: data.err_msg,
                    duration: 3000
                });
            }

        }).catch(function (err) {
            state.loading = false;
        });
    }
}

const getters = {}

export default {
    state,
    mutations,
    actions,
    getters
}