/** * 设备绑定配网 * {deviceId,"xx",state:"1"} */ public void BindDevice(string msg) { Log.I("BindDevice: " + msg); BindDeviceModel model = SerializeHelper.FromJson <BindDeviceModel>(msg); if (model != null) { SimpleEventSystem.Publish(new BindDeviceResult(model)); } }
protected override void OnInit(QFramework.IUIData uiData) { mData = uiData as ConnectDevicePanelData ?? new ConnectDevicePanelData(); Meteors.transform.DOLocalMoveX(-2370, 5f).SetLoops(-1, LoopType.Restart); Meteors.transform.DOLocalMoveY(-470, 5f).SetLoops(-1, LoopType.Restart); Dictionary <string, object> param = new Dictionary <string, object>(); param.Add("ssid", mData.SSIDStr); param.Add("password", mData.SSIDPWD); param.Add("token", PlayerPrefsUtil.GetToken()); param.Add("userId", PlayerPrefsUtil.GetUserId()); if (Application.platform == RuntimePlatform.Android) { AndroidForUnity.CallAndroidForStartDeviceConnect(mData.SSIDStr, mData.SSIDPWD); } else if (Application.platform == RuntimePlatform.IPhonePlayer) { IOSClientUtil.StartBindDevice(param.ToJson()); } StartCoroutine(CountDown()); BtnBack.OnClickAsObservable().Subscribe(_ => { UIMgr.OpenPanel <TipPanel>(new TipPanelData() { action = TipAction.BindingBack, message = "返回后联网将不在继续,确认终止操作?", strConfirm = "确定", strCancel = "继续等待", strTitle = "终止配网", }); }).AddTo(this); BtnCheckWiFi.OnClickAsObservable().Subscribe(_ => { UIMgr.OpenPanel <BindCheckWIFIPanel>(new BindCheckWIFIPanelData(), UITransitionType.NULL); }).AddTo(this); SimpleEventSystem.GetEvent <BindDeviceResult>().Subscribe(res => { BindDeviceModel model = res.Model; if (Application.platform == RuntimePlatform.Android) { if (model.status == 1) { StartResquestForBind(model.deviceId); } else { ConnectResult(false); } } else if (Application.platform == RuntimePlatform.IPhonePlayer) { if (model.requestTag == 2 && model.deviceId.IsNotNullAndEmpty()) { StartResquestForBind(model.deviceId); } if (model.requestTag == 1) { CommonUtil.toast("获取音频接口出错"); } } }).AddTo(this); SimpleEventSystem.GetEvent <TipConfirmClick>() .Subscribe(_ => { if (_.GetAction == TipAction.BindDevice) { ShowMainPanel(); } else if (_.GetAction == TipAction.BindingBack) { StopAllCoroutines(); if (Application.platform == RuntimePlatform.IPhonePlayer) { IOSClientUtil.StopBindDevice(""); } else if (Application.platform == RuntimePlatform.Android) { AndroidForUnity.CallAndroidForStopDeviceConnect(); } Back(); } }).AddTo(this); }