Android注册功能服务端实现

注册功能服务端实现:
第一步:MemberController控制器:首先要用到一个前置处理函数,OnActionExecuting的方法,OnActionExecuting 是前置处理函数,会在所有的Action执行前执行;然后Json格式中还要进行一个日期的转换,还要实例化Model,见截图:
Android注册功能服务端实现_第1张图片
然后还需要一个ActionResult类,然后还需要一个添加一个Entity目录,需要返回控制器app那边的Vo,用于返回消息到app,Code表示消息状态,Text表示消息文本,Data返回消息时携带数据,然后需要用Json插件转换成小写;Content返回内容,SerializeObject作用是序列化这个对象,Formatting.Indented忽略空的变量,见截图:
Android注册功能服务端实现_第2张图片
在这里插入图片描述
执行的结果,如下:
在这里插入图片描述
发送短信验证码
第二步:首先需要两个参数,Json的时候需要用到,见截图:
在这里插入图片描述
首先定义一个返回的jsonReturn类型,判断手机号不为空,手机号的长度为十一,否则提示手机号不正确;需要查询该手机号是否已经注册,isRegister是个布尔类型,判断isRegister不为空,判断isRegister是否注册,因为是问号类型,所以需要点value获取真实的结果,当查询出的数据大于零的时候,已经注册,否则等等于零的时候,表示未注册。见截图:
Android注册功能服务端实现_第3张图片
判断手机已经注册了,然后获取五分钟前的时间 DateTime.Now.AddMinutes(-5),负五表示五分钟之前;查询5分钟内发送到该手机号的短信条数,SmsValidCodeRecord表记录了手机号,发送的设备id,记录了发送时间,然后发送的时间要大于等于五分钟,代表五分钟之后,然后手机号等于传递过来的手机号;查询5分钟内该设备ID对应设备请求发送的短信条数,然后设备id等于传递过来的设备id,然后Code查询出它的条。见截图:
Android注册功能服务端实现_第4张图片
然后判断手机五分钟内的条数小于五,然后发送的设备也小于五,然后就允许它发送,然后创建Random随机的函数,就让它随机生成六位数,点Next让随机的函数大于等于六位,小于7位,然后输出到控制台,用的是Debug调试,Debug.WriteLine测试调试,将随机数保存到Session中,假设发送成功后记录发送情况,myModel.SmsValidCodeRecord.Add添加发送记录,当myModel.SaveChanges保存,如果成功,Code返回二百,如果失败Code返回五百。最后使用 Newtonsoft.Json返回。见截图:
Android注册功能服务端实现_第5张图片
Android注册功能服务端实现_第6张图片
app会员注册:
第三步:首先定义一个返回的jsonReturn类型,然后判断数据的验证,判断数据不能为空,如果为空,就返回参数异常;获取session中的验证码和手机号,使用的是三目运算符,如果为空就返回空的字符串;验证app传递的手机号和验证码与session中的是否对应,设置新注册会员的一些信息,然后新增到数据库,判断myModel.SaveChanges保存成功之后,然后查询出Member会员、MemberType会员类型,会员id等于新增成功之后的会员id;如果对象不为空,Code返回二百成功,并且Data将用户信息返回到app,否则就返回失败。见截图:
Android注册功能服务端实现_第7张图片
Android注册功能服务端实现_第8张图片
Android注册功能服务端实现_第9张图片

你可能感兴趣的:(Android注册功能服务端实现)