コード例 #1
0
        /// <summary>
        /// 设置参数值
        /// </summary>
        /// <param name="msgInfoParam">Message info parameter.</param>
        private void SetRestRequestParams(LoginInfoParam loginInfoParam)
        {
            if (!requestParams.ContainsKey("key"))
            {
                requestParams.Add("key", loginInfoParam.Key);
            }
            else
            {
                requestParams ["key"] = loginInfoParam.Key;
            }

            if (!requestParams.ContainsKey("eaction"))
            {
                requestParams.Add("eaction", loginInfoParam.Eaction);
            }
            else
            {
                requestParams ["eaction"] = loginInfoParam.Eaction;
            }

            if (!requestParams.ContainsKey("eLoginName"))
            {
                requestParams.Add("eLoginName", loginInfoParam.EloginName);
            }
            else
            {
                requestParams ["eLoginName"] = loginInfoParam.EloginName;
            }
            if (!requestParams.ContainsKey("eLoginPwd"))
            {
                requestParams.Add("eLoginPwd", loginInfoParam.EloginPwd);
            }
            else
            {
                requestParams ["eLoginPwd"] = loginInfoParam.EloginPwd;
            }

            if (!requestParams.ContainsKey("md5"))
            {
                requestParams.Add("md5", loginInfoParam.Md5);
            }
            else
            {
                requestParams ["md5"] = loginInfoParam.Md5;
            }
        }
コード例 #2
0
        private void Login()
        {
            userNameValue = edit_userName.Text.ToString();
            passwordValue = edit_userPassword.Text.ToString();
            if (string.IsNullOrEmpty(userNameValue) || string.IsNullOrEmpty(passwordValue))
            {
                Toast.MakeText(this, "用户名或密码不能为空,请填写...", ToastLength.Long).Show();
                return;
            }

            if (!EldYoungUtil.IsValidUserName(userNameValue))
            {
                Toast.MakeText(this, "请输入正确规范用户名4-20位,由中英文、数字、下划线组成", ToastLength.Short).Show();
                return;
            }
            if (!EldYoungUtil.IsPassWord(passwordValue))
            {
                Toast.MakeText(this, "请输入正确规范用户名6-20位,建议由字母、数字和符号两种以上组成", ToastLength.Short).Show();
                return;
            }

            ProgressDialogUtil.StartProgressDialog(this, GetString(Resource.String.loginMsg), true);
            //检测网络连接
            if (!EldYoungUtil.IsConnected(this))
            {
                Toast.MakeText(this, "网络连接超时,请检测网络", ToastLength.Short).Show();
                ProgressDialogUtil.StopProgressDialog();
                return;
            }

            //调用restapi service 登录
            var loginInfoParam = new LoginInfoParam()
            {
                LoginName = userNameValue, LoginPwd = passwordValue
            };

            //初始化请求参数
            SetRestRequestParams(loginInfoParam);

            var restSharpRequestHelp = new RestSharpRequestHelp(loginInfoParam.Url, requestParams);

            restSharpRequestHelp.ExcuteAsync((response) => {
                if (response.ResponseStatus == RestSharp.ResponseStatus.Completed && response.StatusCode == System.Net.HttpStatusCode.OK)
                {
                    //获取并解析返回resultJson获取安全码结果值
                    var resultJson = response.Content;
                    var loginJson  = JsonConvert.DeserializeObject <LoginJson>(resultJson);
                    if (loginJson.statuscode == "1")
                    {
                        Global.MyInfo = loginJson.data.Table[0];
                        var Uid       = Global.MyInfo.UId;

                        var guidAsAlias = Uid.Replace("-", "_");                       //使用用户guid作为推送别名
                        _jpushUtil.SetAlias(guidAsAlias);
                        //登录成功,且记住用户密码选中,才记录
                        if (cb_passWord.Checked)
                        {
                            sp_userinfo.Edit().PutString(Global.login_UserName, userNameValue).Commit();
                            sp_userinfo.Edit().PutString(Global.login_Password, passwordValue).Commit();
                            sp_userinfo.Edit().PutBoolean(Global.login_Password_Check, true).Commit();
                        }
                        RunOnUiThread(() =>
                        {
                            //跳转到功能主界面
                            var intent = new Intent(this, typeof(MainFragActivity));
                            intent.SetFlags(ActivityFlags.ClearTask | ActivityFlags.NewTask);
                            var bundle = Intent.Extras;
                            if (bundle != null)
                            {
                                intent.PutExtras(bundle);
                            }
                            StartActivity(intent);
                            this.Finish();
                            Toast.MakeText(this, "登录成功", ToastLength.Short).Show();
                            OverridePendingTransition(Android.Resource.Animation.FadeIn, Android.Resource.Animation.FadeOut);
                        });
                    }
                    else
                    {
                        RunOnUiThread(() =>
                        {
                            Toast.MakeText(this, loginJson.message, ToastLength.Short).Show();
                        });
                    }
                }
                else if (response.ResponseStatus == RestSharp.ResponseStatus.TimedOut)
                {
                    RunOnUiThread(() =>
                    {
                        Toast.MakeText(this, "网络连接超时", ToastLength.Short).Show();
                    });
                }
                else
                {
                    RunOnUiThread(() =>
                    {
                        Toast.MakeText(this, response.StatusDescription, ToastLength.Short).Show();
                    });
                }
                RunOnUiThread(() =>
                {
                    ProgressDialogUtil.StopProgressDialog();

                    return;
                });
            });
        }