webpackJsonp([24],{

/***/ 171:
/***/ (function(module, exports, __webpack_require__) {

"use strict";
/* WEBPACK VAR INJECTION */(function(Vue) {

var _config = __webpack_require__(124);

var _config2 = _interopRequireDefault(_config);

var _public = __webpack_require__(3);

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

/**
* v_wifiAdd.js
* Version: 0.1
* User: wy
* Date: 2017-09-07
* Copyright(c)  2017. U-GEN Tech.Co,Ltd. All Rights Reserved.
* 连接Wi-Fi页面
*/

_public.iot.ready(init);
function init() {
	//通用 input、按钮、dialog、loading组件
	_public.uPublic.componentsInit(['u-text', 'u-button', 'u-comm-loading', 'u-dialog', 'u-loading']);
	var app = new Vue({
		data: {
			textWiFiName: null,
			textPassword: null,
			textErrorTip: null,
			//配置组件
			componentsConfig: initComponentsConfig(),
			status: 0
		},
		mounted: function mounted() {
			resolve(this);
		},

		methods: {
			getTextWiFiName: function getTextWiFiName() {
				return this.textWiFiName;
			},
			setTextWiFiName: function setTextWiFiName(text) {
				this.textWiFiName = text;
			},
			getTextPassword: function getTextPassword() {
				return this.textPassword;
			},
			setTextPassword: function setTextPassword(pwd) {
				this.textPassword = pwd;
			},
			gettTextErrorTip: function gettTextErrorTip() {
				return this.textErrorTip;
			},
			setTextErrorTip: function setTextErrorTip(tip) {
				this.textErrorTip = tip;
			},
			getStatus: function getStatus() {
				return this.status;
			},
			setStatus: function setStatus(status) {
				this.status = status;
			},
			onPasswordChange: function onPasswordChange(text) {
				passwordChange(this, text);
			},

			//tap <
			onBackTap: function onBackTap() {
				backTap();
			},

			//tap 连接
			onConnectButtonTap: function onConnectButtonTap() {
				connectButtonTap(this);
			},

			//tap loading button
			onCommLoadingButtonTap: function onCommLoadingButtonTap() {
				commLoadingButtonTap(this);
			}
		}
	}).$mount('#app');
}

//配置组件参数
function initComponentsConfig() {
	return {
		passwordInput: {
			initParam: {
				class: 'custom-password-text',
				icon: '&#xe64d;',
				placeholder: Vue.t('wifiAdd.passwordInputTip'),
				type: 'password'
			}
		},
		//连接 button 参数
		connectButton: {
			initParam: {
				class: 'custom-button',
				text: Vue.t('btn.connect')
			}
		},
		dialog: {
			initParam: {
				class: 'custom-dialog'
			}
		},
		loading: {
			initParam: {
				class: 'custom-loading'
			}
		},
		ucommloading: {
			initParam: {
				class: 'custom-comm-loading',
				buttonText: Vue.t('btn.confirm'),
				text: 'loading',
				status: 0
			}
		}
	};
}

function resolve(self) {
	_public.iot.business.sds.getSSId({
		success: function success(response) {
			console.log(response);
			self.textWiFiName = response.data.ssid;
			console.log(self.textWiFiName);
		},
		error: function error(_error) {
			console.log(_error);
			_public.uPublic.openRequestErrorAlert(self);
		}
	});
}

function passwordChange(self, text) {
	self.textPassword = text;
	console.log('passwordChange: ' + self.textPassword);
}

//tap <
function backTap() {
	_public.iot.navigator.back();
}

//tap 连接
function connectButtonTap(self) {
	//  uComponents.showCommstatusloading(self);
	//  setTimeout(function(){
	//      self.setTextLoading(Vue.t('commstatusLoading.connectSuccess'));
	//      setTimeout(function(){
	//          //绑定成功
	//          self.setStatus(1);
	//          self.setTextLoading(Vue.t('commstatusLoading.bindSuccess'));
	//          //绑定失败
	//          //self.setStatus(2);
	//          //self.setTextLoading(Vue.t('commstatusLoading.bindFailed'));
	//          //uComponents.changeCommstatusButtonText(self,Vue.t('btn.reBound'));
	//      },3000);
	//  },3000);
	console.log(self.getTextWiFiName());

	//	self.setTextPassword('macro_scope00');
	console.log(self.getTextPassword());
	if (self.getTextPassword() == null || self.getTextPassword().trim() == '') {
		self.setTextErrorTip(Vue.t('wifiAdd.passwordInputTip'));
	} else {
		_public.iot.business.sds.findWifi({
			data: {
				model: _config2.default.mode,
				ssid: self.getTextWiFiName(),
				wifiPwd: self.getTextPassword(),
				timeout: 20000
			},
			success: function success(response) {
				console.log("findWifi");
				console.log(response);
				if (response.data == 'onProvisioning') {
					//wifi链接中
					_public.uComponents.showCommLoading(self);
				} else if (response.data == 'provisioned success') {
					//wifi连接成功，停止连接wifi
					//	    		iot.business.sds.stopFindWifi({
					//				    success: (response) => {},
					//				    error: (error) => {}
					//				});
				}
			},
			error: function error(_error2) {
				console.log(_error2);
			}
		});
		var deviceId = null;
		_public.iot.business.sds.findDevices({
			success: function success(response) {
				console.log("findDevices");
				console.log(response);
				var parameters = {};
				if (response.data) {
					var info = response.data.split(':[');
					if (info[1]) {
						var query = info[1].split(',');
						console.log(query);
						for (var i = 0; i < query.length; i++) {
							var pari = query[i].split(' = ');
							console.log(pari);
							parameters[pari[0]] = pari[1];
						}
						console.log(parameters.sn);
					}
				}
				if (parameters.sn) {
					deviceId = parameters.sn;
				}
				var productId = _config2.default.mode.substr(_config2.default.mode_type.length, 6);
				if (response.data == "joined success") {
					unbind(self, deviceId, productId);
					//		    		bind(self, deviceId, productId);
				} else if (response.data == "fail") {
					//连接失败
					_public.uComponents.changeCommLoadingStatusAndText(self, 2, Vue.t('addDevice.bindFailure'));
					self.setStatus(2);
					_public.uComponents.changeCommButtonText(Vue.t('addDevice.reBindDevice'));
					//停止查找设备
					_public.iot.business.sds.stopFindDevices({
						success: function success(response) {},
						error: function error(_error3) {}
					});
				}
			},
			error: function error(_error4) {
				console.log(_error4);
			}
		});
	}
}

//tap loading button
function commLoadingButtonTap(self) {
	if (self.getStatus() == 1) {
		//绑定成功
		_public.uComponents.hideCommLoading(self);
		_public.iot.navigator.openWindow({
			url: '../device/index.html',
			id: 'device'
		});
	} else if (self.getStatus() == 2) {
		//绑定失败
		_public.uComponents.hideCommLoading(self);
	}
}

function unbind(self, deviceId, productId) {
	_public.iot.business.api.sendCustom('lock/getLockInfo', {
		data: {
			device_id: self.deviceId
		},
		success: function success(response) {
			console.log(response);
			var data = _public.uPublic.checkResponseData(response.data);
			if (data) {
				if (data.lock_id) {
					_public.iot.business.api.sendCustom('lock/unbind', {
						data: {
							device_sn: self.getDoorlock().device_id,
							device_id: self.getDoorlock().id
						},
						success: function success(response) {
							console.log(response);
							bind(self, deviceId, productId);
						},
						error: function error(_error5) {
							console.log(_error5);
						},
						complete: function complete() {}
					});
				} else {
					bind(self, deviceId, productId);
				}
			} else {
				bind(self, deviceId, productId);
			}
		},
		error: function error(_error6) {
			console.log(_error6);
		},
		complete: function complete() {}
	});
}

function bind(self, deviceId, productId) {
	_public.iot.business.api.sendCustom('lock/bind', {
		data: {
			product_id: productId,
			device_id: deviceId,
			//			mac: parameters.mac,
			nickname: ''
		},
		success: function success(response) {
			console.log(response);
			var data = response.data;
			if (data.success) {
				_public.uComponents.changeCommLoadingStatusAndText(self, 1, Vue.t('addDevice.bindSuccess'));
				self.setStatus(1);
			}
		},
		error: function error(_error7) {
			console.log(_error7);
			_public.uComponents.changeCommLoadingStatusAndText(self, 2, Vue.t('addDevice.bindFailure'));
			self.setStatus(2);
		},
		complete: function complete() {}
	});
}
/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1)["default"]))

/***/ }),

/***/ 295:
/***/ (function(module, exports, __webpack_require__) {

module.exports = __webpack_require__(171);


/***/ })

},[295]);
//# sourceMappingURL=wifiAdd.js.map