예제 #1
0
    IEnumerator ScanQRcode()
    {
        string result = QRCode.DecodeColData(webCameraTexture.GetPixels32(),
                                             webCameraTexture.width,
                                             webCameraTexture.height);

        scaning += ".";
        if (scaning == "扫描中....")
        {
            scaning = "扫描中";
        }
        txt.text = scaning;
        if (result != "")
        {
            webCameraTexture.Stop();
            isScanner = false;
            txt.text  = "扫描成功";
            LoadingNode.OpenLoadingNode(LoadingType.Common);
            try
            {
                JsonData jd = JsonMapper.ToObject(result);
                switch (jd.TryGetString("id"))
                {
                case "1":
                    SocialModel.Instance.AddFriend(int.Parse(jd.TryGetString("content")));
                    TipManager.Instance.OpenTip(TipType.SimpleTip, "发送成功,等待通过", 1f);
                    break;

                case "2":
                    SocketClient.Instance.AddSendMessageQueue(new C2GMessage {
                        msgid          = MessageId.C2G_QueryTableInfo,
                        queryTableInfo = new QueryTableInfo()
                        {
                            tableId = jd.TryGetString("content")
                        }
                    });
                    break;

                case "3":
                    Application.OpenURL(jd.TryGetString("content"));
                    break;

                default:
                    break;
                }
            }
            catch (System.Exception)
            {
                TipManager.Instance.OpenTip(TipType.SimpleTip, "未识别的二维码");
            }
            PageManager.Instance.OpenLastPage();
        }
        yield return(new WaitForEndOfFrame());
    }