示例#1
0
        private void btnLogin_Click(object sender, EventArgs e)
        {
            if (txtEmail.Text.IsNullOrEmpty() || txtPasswd.Text.IsNullOrEmpty())
            {
                return;
            }
            btnLogin.Text    = "登录中,请稍候...";
            btnLogin.Enabled = false;

            var       client = new DefaultClient();
            TokenData tokenData;

            try
            {
                tokenData = client.Execute(new TokenRequest()
                {
                    Email = txtEmail.Text.Trim(), Passwd = txtPasswd.Text
                });
                client.Token = tokenData.token;

                //获取用户信息
                var user = client.Execute(new GetUserRequest(tokenData.user_id));
                if (user.enable != 1)
                {
                    throw new UserFriendlyException("你的账号已经到期,请先充值后再畅游世界"); //todo:how to charge
                }
                if (user.transfer_enable < user.u + user.d)
                {
                    throw new UserFriendlyException("哦,你的流量都用完了,请先充值吧!");
                }

                //获取节点
                var nodes  = client.Execute(new GetNodesRequest());
                var config = _controller.GetCurrentConfiguration();
                config.configs = nodes.Select(n => new Server()
                {
                    server      = n.server,
                    server_port = user.port,
                    method      = user.method,
                    password    = user.passwd,
                    timeout     = 10,
                    auth        = false
                }).ToList();
                config.enabled         = true;
                config.autoCheckUpdate = false;
                config.index           = new Random().Next(1, config.configs.Count);
                Configuration.Save(config);

                ShadowsocksControllerExtension.SetUser(user);

                Close();
            }
            catch (Exception ex)
            {
                btnLogin.Text    = "登录";
                btnLogin.Enabled = true;

                MessageBox.Show($"出错了:{ex.Message}");
            }
        }
示例#2
0
        public void GetNodesSuccess()
        {
            var c  = new DefaultClient(token);
            var ls = c.Execute(new GetNodesRequest());

            Console.WriteLine(ls.Count);
        }
示例#3
0
        public void GetUserSuccess()
        {
            var c   = new DefaultClient(token);
            var ret = c.Execute(new GetUserRequest(2));

            Console.WriteLine(ret.email);
        }
示例#4
0
        private IResponse RevokeBiz(string msg)
        {
            IResponse response = null;

            var     serverUrl = System.Configuration.ConfigurationManager.AppSettings["ServerUrl"].ToString();
            IClient client    = new DefaultClient(serverUrl, null, null);

            var dtoModel = Newtonsoft.Json.JsonConvert.DeserializeObject <UIMessageModel>(msg);

            switch (dtoModel.ActionType)
            {
            case ActionType.Sit:
            {
                var req = new Sdk.Request.SquareSitRequest()
                {
                    Biz_Content = Newtonsoft.Json.JsonConvert.SerializeObject(dtoModel.Data)
                };
                response = client.Execute(req);
            }
            break;

            case ActionType.Ready:
                break;

            case ActionType.Move:
                break;

            default:
                break;
            }

            return(response);
        }
示例#5
0
        static void Demo()
        {
            var     serverUrl = "http://localhost:28310/";
            IClient client    = new DefaultClient(serverUrl, null, null);

            var sitReq = new SquareSitRequest()
            {
                Biz_Content = Newtonsoft.Json.JsonConvert.SerializeObject(new Dictionary <string, string>()
                {
                    { "table_id", "1" }
                })
            };
            var sitRes = client.Execute(sitReq, "1");

            var readyReq = new SquareReadyRequest();
            var readyRes = client.Execute(readyReq);

            var moveReq1 = new ChessMoveRequest()
            {
                Biz_Content = Newtonsoft.Json.JsonConvert.SerializeObject(new Dictionary <string, string>()
                {
                    { "chesstype", ChessType.Cannons.ToString().ToLower() },
                    { "index", "0" },
                    { "relativex", "4" },
                    { "relativey", "2" },
                })
            };
            var moveRes1 = client.Execute(moveReq1);

            //stories
            //tom and jerry sit at board 1
            //tom ready
            //jerry ready
            //board start


            //var red = new Square("tom");
            //var black = new Square("jerry");
            //var table = new Table();

            //var ing = new Chessing("tom vs jerry at 2018.6.20 17:40");

            //table.StartChessing(ing);

            //ing.Start(true);//at red
        }
示例#6
0
        public void GetTokenSuccess()
        {
            var c   = new DefaultClient();
            var ret = c.Execute(new TokenRequest()
            {
                Email  = "*****@*****.**",
                Passwd = "wobuzd123"
            });

            Console.WriteLine(token = ret.token);
        }
        public async Task MessageTemplateSendShouldSuccess()
        {
            IWeChatClient client = new DefaultClient(ServerUrl, AppId, AppSecret);

            var requestToken = new GetAccessTokenReqeust();
            var resultToken  = await client.GetAccessToken(requestToken);

            var token = resultToken.AccessToken;

            var request = new MessageTemplateSendRequest <Template>();
            var model   = new MessageTemplateSendModel <Template>();

            model.ToUser     = OpenID;
            model.TemplateId = TemplateId;
            model.Template   = new Template
            {
                Head = new TemplateContent
                {
                    Value = "恭喜你购买成功!",
                    Color = "#173177"
                },
                ProductName = new TemplateContent
                {
                    Value = "巧克力",
                    Color = "#173177"
                },
                TotalPrice = new TemplateContent
                {
                    Value = "39.8元",
                    Color = "#173177"
                },
                PayTime = new TemplateContent
                {
                    Value = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"),
                    Color = "#173177"
                },
                Remark = new TemplateContent
                {
                    Value = "欢迎再次购买!",
                    Color = "#173177"
                }
            };

            request.Parameters = model;
            var result = await client.Execute(request, token);

            Assert.True(result.ErrorCode == 0);
        }
示例#8
0
        public async Task GetUserInfo_ShouldSuccess_WithExpectedParameters()
        {
            GetUserInfoModel model = new GetUserInfoModel
            {
                OpenID = OpenID
            };

            IWeChatClient client = new DefaultClient(ServerUrl, AppId, AppSecret);

            var requestToken = new GetAccessTokenReqeust();
            var resultToken  = await client.GetAccessToken(requestToken);

            var token = resultToken.AccessToken;

            var request = new GetUserInfoRequest();

            request.Parameters = model;
            var result = await client.Execute(request, token);

            Assert.True(result.ErrorCode == 0);
        }