コード例 #1
0
        public async Task <RegisterResultDto> Register(RegisterUserDto registerInfo)
        {
            CheckCode(registerInfo.Code);

            //可能您需要对手机号进行唯一验证..

            var user = MiCakeApp.User.Create(registerInfo.Phone, registerInfo.Password, registerInfo.Name, registerInfo.Age);
            await _userRepo.AddUserAsync(user);

            return(RegisterResultDto.RegisterSuccess(user.Id));
        }
コード例 #2
0
        public async Task <RegisterResultDto> RegisterUser(RegisterWeChatUserDto userDto)
        {
            CheckValue.NotNullOrWhiteSpace(userDto.SessionKey, "SessionKey");

            var weChatSessionInfo = await _weChatSessionStore.GetSessionInfo(userDto.SessionKey) ?? throw new ArgumentException("没有找到匹配的微信密匙信息");

            var newUser = MiCakeApp.User.Create(userDto.Phone, "abc12345", userDto.Name, userDto.Age);

            //可能你还有其它的验证逻辑,比如包括该手机号码是否已经被使用等等。
            //这些领域逻辑可能会被移动至单独的领域服务来处理.

            await _userRepository.AddAsync(newUser);

            await _wechatRepository.AddAsync(new UserWithWechat(newUser.Id, weChatSessionInfo.OpenId));

            return(RegisterResultDto.RegisterSuccess(newUser.Id));
        }