Exemple #1
0
        /// <summary>
        /// 获取验证码图片
        /// </summary>
        /// <param name="code">验证码类型(1:订单;其他:登录)</param>
        /// <returns>返回bitmapimage结果</returns>
        public static async Task <BitmapImage> GetVerifyCodeImageAsync(int code)
        {
            BitmapImage bmp = new BitmapImage();

            byte[] buffer = new byte[4096];
            string url    = code == 1 ? Resources.SubmitOrderVerifyCodeUrl : Resources.LoginVerifyCodeUrl;

            try
            {
                var stream = await TicketHelpers.GetStreamAsync(url);

                if (stream.Length > 0)
                {
                    using (MemoryStream ms = new MemoryStream())
                    {
                        int count = 0;
                        do
                        {
                            count = stream.Read(buffer, 0, buffer.Length);
                            ms.Write(buffer, 0, count);
                        } while (count != 0);
                        ms.Seek(0, SeekOrigin.Begin);
                        bmp.BeginInit();
                        bmp.StreamSource = ms;
                        bmp.CacheOption  = BitmapCacheOption.OnLoad;
                        bmp.EndInit();
                        bmp.Freeze();
                    }
                }
            }
            catch (Exception)
            { }

            return(bmp);
        }
Exemple #2
0
        /// <summary>
        /// 保存用户登录信息
        /// </summary>
        /// <param name="loginName">登录名</param>
        /// <param name="userPassword">密码</param>
        /// <param name="chkRemeberMe">是否记住我</param>
        /// <param name="chkAutoLogin">是否自动登录</param>
        /// <returns></returns>
        public static async Task SaveUserLoginInfoAsync(string loginName, string userPassword, bool chkRemeberMe, bool chkAutoLogin)
        {
            List <dynamic> lstUsers = await GetUserLoginInfoAsync();

            // 是否有当前用户的信息
            var user = (from u in lstUsers
                        where u.name == loginName
                        select u).FirstOrDefault <dynamic>();

            if (user == null)
            {
                if (chkRemeberMe)
                {
                    var model = new
                    {
                        name        = loginName,
                        password    = await EncryptAsync(userPassword),
                        isAutoLogin = chkAutoLogin
                    };
                    lstUsers.Add(model);
                }
            }
            else
            {
                user.password = await EncryptAsync(userPassword);

                user.isAutoLogin = chkAutoLogin;

                if (!chkRemeberMe)
                {
                    lstUsers.Remove(user);
                }
            }

            JObject jsonUser = new JObject(
                new JProperty("users", new JArray(
                                  from u in lstUsers
                                  select new JObject(
                                      new JProperty("name", u.name),
                                      new JProperty("password", u.password),
                                      new JProperty("isAutoLogin", u.isAutoLogin)
                                      )
                                  ))
                );
            await TicketHelpers.SaveFileAsync("Account", "json", jsonUser.ToString());
        }