示例#1
0
        /// <summary>
        /// 发送验证码接口。此接口用于:企业电子合同平台需要腾讯云发送验证码对其用户进行验证时调用,腾讯云将向其用户联系手机(企业电子合同平台为用户开户时通过接口传入)发送验证码,以验证码授权方式签署合同。用户验证工作由企业电子合同平台自身完成。
        /// </summary>
        /// <param name="req"><see cref="SendVcodeRequest"/></param>
        /// <returns><see cref="SendVcodeResponse"/></returns>
        public SendVcodeResponse SendVcodeSync(SendVcodeRequest req)
        {
            JsonResponseModel <SendVcodeResponse> rsp = null;

            try
            {
                var strResp = this.InternalRequestSync(req, "SendVcode");
                rsp = JsonConvert.DeserializeObject <JsonResponseModel <SendVcodeResponse> >(strResp);
            }
            catch (JsonSerializationException e)
            {
                throw new TencentCloudSDKException(e.Message);
            }
            return(rsp.Response);
        }
示例#2
0
        public async Task <IActionResult> Handle(SendVcodeRequest data)
        {
            ErrorResponse validationError = this.ValidateRequest(data);

            if (validationError != null)
            {
                return(new JsonErrorResult(validationError));
            }

            try
            {
                Guid   verificationId = Guid.NewGuid();
                string code           = "111111";

                using (SqlConnection conn = sqlServer.GetConnection())
                {
                    await conn.OpenAsync();

                    using (SqlCommand cmd = sqlServer.GetSpCommand("dbo.Employee_RegisterVerificationCode", conn))
                    {
                        cmd.AddUniqueIdentifierParam("@VerificationId", verificationId);
                        cmd.AddCharParam("@Code", 6, code);
                        SqlParameter retValParam = cmd.AddReturnValue();

                        await cmd.ExecuteNonQueryAsync();

                        int retVal = retValParam.GetInt32OrDefault();
                        if (retVal < 0)
                        {
                            ErrorResponse errorResponse = this.GetErrorResponse(retVal);
                            return(new JsonErrorResult(errorResponse));
                        }
                    }
                }

                // SEND SMS

                SendVcodeResponse response = new SendVcodeResponse();
                response.VerificationId = verificationId;
                return(new JsonResult(response));
            }
            catch (Exception ex)
            {
                return(new JsonErrorResult(this.GetExceptionResponse(ex)));
            }
        }
示例#3
0
 public async Task <ApiResponse <SendVcodeResponse> > SendVerificationCode(SendVcodeRequest data)
 {
     data.ClientInfo = this._clientInfo;
     return(await new ApiMethod <SendVcodeRequest, SendVcodeResponse>(
                this._httpClient, this._controllerUriPart, "SendVcode").Call(data));
 }
示例#4
0
 public async Task <IActionResult> SendVerificationCode(SendVcodeRequest data)
 {
     return(await GetHandler <SendVerificationCode>().Handle(data));
 }
示例#5
0
 private ErrorResponse ValidateRequest(SendVcodeRequest data)
 {
     ApiValidator.ValidatePhone(data.Phone, out ErrorResponse error);
     return(error);
 }