示例#1
0
        static void _handleMethodCall(string method, List <JSONNode> args)
        {
            if (GlobalContext.context != null)
            {
                using (WindowProvider.of(context: GlobalContext.context).getScope()) {
                    switch (method)
                    {
                    case "pickImageSuccess": {
                        var node = args[0];
                        var dict = JSON.Parse(aJSON: node);
                        if (dict["image"] != null)
                        {
                            var image     = (string)dict["image"];
                            var imageData = Convert.FromBase64String(s: image);
                            _imageCallBack?.Invoke(obj: imageData);
                        }
                        else if (dict["imagePath"] != null)
                        {
                            var imagePath = (string)dict["imagePath"];
                            CImageUtils.asyncLoadFile(imagePath).Then(bytes => {
                                    _imageCallBack?.Invoke(obj: bytes);
                                });
                        }

                        removeListener();
                        StatusBarManager.hideStatusBar(false);
                        break;
                    }

                    case "pickVideoSuccess": {
                        var node = args[0];
                        var dict = JSON.Parse(aJSON: node);
                        if (dict["videoData"] != null)
                        {
                            var videoData = (string)dict["videoData"];
                            var data      = Convert.FromBase64String(s: videoData);
                            _videoCallBack?.Invoke(obj: data);
                        }
                        else if (dict["videoPath"] != null)
                        {
                            var videoPath = (string)dict["videoPath"];
                            CImageUtils.asyncLoadFile(videoPath).Then(bytes => {
                                    _videoCallBack?.Invoke(obj: bytes);
                                });
                        }

                        removeListener();
                        StatusBarManager.hideStatusBar(false);
                        break;
                    }

                    case "cancel": {
                        removeListener();
                        StatusBarManager.hideStatusBar(false);
                        break;
                    }
                    }
                }
            }
        }