Ejemplo n.º 1
0
        public static TxProvider GetTxProvider(UserType userType, string userId, GetUserRegisterInfo cb = null)
        {
            if (String.IsNullOrEmpty(userId))
            {
                throw new BusinessException("初始化TxProvider失败,userId不能为空");
            }
            else
            {
                userId = userId.Trim();
            }

            //当前默认为123456
            var userPwd = "123456";

            TxProvider p;

            if (TryGetTxProvider(userId, out p))
            {
                return(p);
            }
            else
            {
                //看用户是否注册
                if (UserIsExist(userId))
                {
                    return(BuildProvider(userId, userPwd));
                }
                else
                {
                    //注册
                    var regErrorReason = String.Empty;
                    if (UserRegister(userType, userId, userPwd, cb, out regErrorReason))
                    {
                        return(BuildProvider(userId, userPwd));
                    }
                    else
                    {
                        throw new BusinessException($"{userId}注册失败。(原因:{regErrorReason})");
                    }
                }
            }
        }
Ejemplo n.º 2
0
        private static bool UserRegister(UserType userType, string userId, string userPwd, GetUserRegisterInfo cb, out string regErrorReason)
        {
            regErrorReason = String.Empty;

            try
            {
                var param = new Dictionary <string, string>();
                param.Add("userType", userType.ToString());
                param.Add("userId", userId);
                param.Add("loginPwd", userPwd);

                if (cb != null)
                {
                    var reginfo = cb.Invoke(userType, userId);
                    if (reginfo == null)
                    {
                        throw new BusinessException("未能获取到注册信息,无法完成注册");
                    }

                    param.Add("userName", reginfo.UserName);
                    param.Add("sex", reginfo.Sex.ToString());
                    param.Add("faceUrl", reginfo.FaceUrl.NullDefault());
                    param.Add("extInfo", reginfo.ExtInfo.NullDefault());
                }
                else
                {
                    //如果不穿就自动生成一个名字
                    param.Add("userName", userId);
                    param.Add("sex", "0");
                    param.Add("faceUrl", String.Empty);
                    param.Add("extInfo", String.Empty);
                }

                return(Common.WebApiHelper.Post <bool>(GetIMApiServer() + "/user/register", param.AsHttpParams()));
            }
            catch (Exception ex)
            {
                regErrorReason = ex.Message;
                return(false);
            }
        }