/**
* v_index.js
* Version: 0.1
* User: zjx
* Date: 2017-09-26
* Copyright(c)  2017. U-GEN Tech.Co,Ltd. All Rights Reserved.
* 引导页面
*/

import {iot, uPublic, uComponents} from '../../public/public.js';

iot.ready(init);
function init() {
    //通用 dialog、loading组件
    uPublic.componentsInit(['u-button','u-dialog','u-loading']);
    const app = new Vue({
        data:{          
            //配置组件
            nickname: null,
            componentsConfig: initComponentsConfig()   
        },
        mounted(){
        	let self  = this;
        	getInfo(this);
			window.addEventListener('returnPage',function(event){
				console.log("in");
				getInfo(self);
			});
			let wv = iot.navigator.getCurrentWebView();
			console.log(wv);
        },
        methods:{
        	//tap 修改昵称
        	onEditNicknameTap(){
        		editNicknameTap(this);
        	},
        	//tap 修改密码
        	onEditPasswordTap(){
        		editPasswordTap();
        	},
        	onBackTap(){
        		backTap();
        	},
        	//tap 退出系统
            onLogoutButtonTap(){
                logoutButtonTap(this);
            }
        }   
    }).$mount('#app');
}

//配置组件参数
function initComponentsConfig() {
    return {
    	logoutButton: {   
            initParam: {
                class: 'custom-button',
                text: Vue.t('btn.logout')
            }
        },
        dialog: {
            initParam: {
                class: 'custom-dialog'
            }
        },
    	loading: {
            initParam: {
                class: 'custom-loading'
            }
        }
    }
}

//tap 修改昵称
function editNicknameTap(self){
	iot.navigator.openWindow({
        url: '../myInfo/editNickname.html',
        id: 'editNickname',
		extras: {
			nickname: self.nickname
		}
    });
}

//tap 修改密码
function editPasswordTap(){
	iot.navigator.openWindow({
        url: '../myInfo/editPassword.html',
        id: 'editPassword'
    });
}

function backTap(){
	iot.navigator.back();
}

function getInfo(self){
	iot.business.user.getInfo({
	    success: (response) => {
	    	let data = uPublic.checkResponseData(response.data);
			if(data){
				console.log(data);
	    		self.nickname = data.nickname;
			}else{
				
			}
	    },
	    error: (error) => {
	    	console.log(error);
//  		if(window.iotDebug){
//              iotDebug.push('end: 获取用户信息'+JSON.stringify(error));
//         	}
//	    	if (window.iotDebug) {
//              iotDebug.upload(iot,'获取用户信息');
//          }
			uPublic.openRequestErrorAlert(self);
	    },
	    complete: () => {}
	});
}

//tap 退出系统
function logoutButtonTap(self){
    uComponents.openConfirm(self, Vue.t('myInfo.logoutDialogTip'), 
       {text: Vue.t('dialog.cancel'), callback: function () {}}, 
       {text: Vue.t('dialog.confirm'), callback: function () {
       		iot.business.user.logout({
			    data: {
			        sds: true
			    },
			    success: (response) => {
			    	iot.business.websql.delMaps(['utoken', 'userinfo'], (response) => {
		                console.log(response);
		            }, (error) => {
		                console.log(error);
//		                if(window.iotDebug){
//			                iotDebug.push('end: 清除tocken失败'+JSON.stringify(error));
//			           	}
//				    	if (window.iotDebug) {
//			                iotDebug.upload(iot,'清除tocken失败');
//			            }
						uPublic.openRequestErrorAlert(self);
		            });
			    	iot.navigator.openWindow({
				        url: '../login/index.html',
				        id: 'login'
				    });
				    let wvs = plus.webview.all();
				    for (var i = 0; i < wvs.length-1; i++) {
                        plus.webview.close(wvs[i]);
                    }
			    },
			    error: (error) => {
			    	console.log(error);
//		    		if(window.iotDebug){
//		                iotDebug.push('end: 退出登陆失败'+JSON.stringify(error));
//		           	}
//			    	if (window.iotDebug) {
//		                iotDebug.upload(iot,'退出登陆失败');
//		            }
					uPublic.openRequestErrorAlert(self);
			    },
			    complete: () => {
			    	console.log("complete");
			    }
			});                    
       }}
    );
}