1. 用户信息表功能数据表
django的ORM实现如下
class user(models.Model):UserId = models.CharField(max_length=20, verbose_name='用户id', primary_key=True)UserName = models.CharField(max_length=20, verbose_name='用户名')UserPwd = models.CharField(max_length=30, verbose_name='用户密码')phone = models.CharField(max_length=20, verbose_name='用户的手机号密码')CapitalPwd = models.CharField(max_length=20, verbose_name='资金密码')address = models.CharField(max_length=50, null=True, default=None, verbose_name='用户地址')SumBlance = models.DecimalField(default=0.0, verbose_name='用户总余额')balance = models.DecimalField(default=0.0, verbose_name='用户当前余额')BlankCe = models.DecimalField(default=0.0, verbose_name='可抢余额')superiorID = models.CharField(max_length=20, verbose_name='用户上级id')AnotherId = models.CharField(max_length=30, null=True, verbose_name='另一个appid')InvitationCode = models.CharField(max_length=20, null=True, default=None, verbose_name='用户邀请码')prices = models.CharField(null=True, max_length=50, verbose_name='临时存储')pricesw = models.CharField(null=True, max_length=50, verbose_name='临时存储1')prices1 = models.CharField(null=True, max_length=50, verbose_name='临时存储')pricesw1 = models.CharField(null=True, max_length=50, verbose_name='临时存储1')SumAnothers= models.FloatField(null=True,default=0.0, verbose_name='用户当日收益总和')class Meta:db_table = 'uneatable'verbose_name = '用户信息表'
对Message表进行数据迁移
#进行数据迁移python manage.py makemigrationspython manage.py migrate
并且在后台中对模型进行注册
class userUser(admin.ModelAdmin):passadmin.site.register(user, userUser)
2. 用户信息相关基本接口实现
2.1 用户登陆api接口功能实现
2.1.1 用户登陆api接口实现逻辑
- 从前端得打相关信息
- 进行数数据库中进行匹配
-
2.1.2 用户登陆api接口功能代码实现
在views中添加相关操作
def login(request):username, password = request.POST.get('username'), request.POST.get('password')user_list = user.objects.filter(phone=username, UserPwd=password)if user_list:data = user.objects.get(phone=username).UserIdelse:data = Nonereturn JsonResponse(data, safe=False)
在urls中添加相关操作
path('login/', views.login, name='用户登陆'),
2.2 用户注册api接口功能实现
2.2.1 用户注册api接口实现逻辑
从前端得打相关信息
- 进行数数据库中进行匹配,确保相关内容的唯一性
- 返回查询信息,看是否满足注册条件
- 满足条件的话进行注册
-
2.2.2 用户注册api接口功能代码实现
在views中添加相关操作
def register(request):Name = request.POST.get('name')SmsCode = request.POST.get('smsCode')Phone = request.POST.get('phone')Pwd = request.POST.get('pwd')Capitalpwd = request.POST.get('capitalpwd')CapitalpwdTrue = request.POST.get('capitalpwdTrue')Guided = request.POST.get('guided')Code = request.POST.get('code')# 手机号已经被注册,则不能再次注册了for i in user.objects.all():if i.phone == Phone:data = {'IsSucceed': IsNotSucceed,'Reason': '手机号已经被注册,请更换手机号'}return JsonResponse(data, safe=False)if SmsCode == Code:if Capitalpwd == CapitalpwdTrue:user_list = user.objects.filter(InvitationCode=Guided)if user_list:Sher = Users() # 用户idsupered = user.objects.get(InvitationCode=Guided).UserId # 上级iduser.objects.create(UserId=Sher, UserName=Name, phone=Phone, UserPwd=Pwd, CapitalPwd=Capitalpwd,superiorID=supered, balance=0.0, BlankCe=0.0)data = {'IsSucceed': IsSucceed,'Reason': TrueMessage}else:# 邀请码错data = {'IsSucceed': IsNotSucceed,'Reason': FalseInvitationCode}else:# 两次输入密码不同data = {'IsSucceed': IsNotSucceed,'Reason': NotSameMessage}else:data = {'IsSucceed': IsNotSucceed,'Reason': NotSmsCode}return JsonResponse(data, safe=False)
在urls中添加相关操作
path('register/', views.register, name='用户注册'),
2.3 用户修改密码api接口功能实现
2.3.1 用户修改密码api接口实现逻辑
从前端得打相关信息
- 进行数数据库中进行匹配
- 返回查询信息,得到用户的个人信息
-
2.3.2 用户修改密码api接口功能代码实现
在views中添加相关操作
def ChangePwd(request):UserId = request.POST.get('UserId')password = request.POST.get('password')NewPWD = request.POST.get('NewPWD')NewPWDtrue = request.POST.get('NewPWDtrue')if NewPWD == NewPWDtrue:if user.objects.filter(UserId=UserId, UserPwd=password):users = user.objects.get(UserId=UserId)users.UserPwd = NewPWDusers.save()data = {'IsSucceed': IsSucceed,'Reason': TrueMessage}else:data = {'IsSucceed': IsNotSucceed,'Reason': FalseMessage}else:data = {'IsSucceed': IsNotSucceed,'Reason': NotSameMessage}return JsonResponse(data, safe=False)
在urls中添加相关操作
path('ChangePwd/', views.ChangePwd, name='修改用户的登陆密码'),
2.4 用户短信接口api接口功能实现
2.4.1 用户短信api接口实现逻辑
从前端得打相关信息
- 得到用户手机的手机验证码
-
2.4.2 用户短信api接口功能代码实现
在views中添加相关操作
def shortMessage(request):Phone = request.POST.get('Phone')request.session['user'] = str(random.randint(0, 9)) + str(random.randint(0, 9)) + str(random.randint(0, 9)) + str(random.randint(0, 9))# input(request.session['user'], Phone)data = {'IsSuccess': IsSucceed,'Code': request.session['user']}return JsonResponse(data, safe=False)
在urls中添加相关操作
path('shortMessage/', views.shortMessage, name='短信'),
2.5 用户个人信息api接口功能实现
2.5.1 用户个人信息api接口实现逻辑
从前端得打相关信息
- 进行数数据库中进行匹配
-
2.5.2 用户个人信息api接口功能代码实现
在views中添加相关操作
def mine(request):UserId = request.POST.get('UserId')if user.objects.filter(UserId=UserId):users = user.objects.get(UserId=UserId)data = {'IsSucceed': True,'Message': '用户存在','UserId': users.UserId,'UserName': users.UserName,'UserPwd': users.UserPwd,'phone': users.phone,'CapitalPwd': users.CapitalPwd,'address': users.address,'AnotherId': users.AnotherId,'superiorID': users.superiorID,}else:data = {'IsSucceed': False,'Message': '用户不存在','UserId': None,'UserName': None,'UserPwd': None,'phone': None,'CapitalPwd': None,'address': None,'AnotherId': None,'superiorID': None,}return JsonResponse(data, safe=False)
在urls中添加相关操作
path('mine/', views.mine, name='用户个人信息'),
2.6 用户用户充值api接口功能实现
2.6.1 用户充值api接口实现逻辑
从前端得打相关信息
- 进行数数据库中进行匹配
- 返回查询信息,得到用户的个人信息
- 对数据相关字段进行修改
2.6.2 用户充值api接口功能代码实现
在views中添加相关操作
在urls中添加相关操作def Recharge(request):UserId = request.POST.get('UserId')Recharges = request.POST.get('Recharge')if not all([UserId, Recharges]):data = {'IsSucceed': IsNotSucceed,'Reason': NullMessage}else:if user.objects.filter(UserId=UserId):users = user.objects.get(UserId=UserId)users.SumBlance += float(Recharges)users.BlankCe = users.balance * OrderGrabbing()users.save()notes = detailed.objects.all()notes.create(UserId=UserId, UserName=users.UserName, DetailedMoney=float(Recharges),remarks=Rechargesw, detailedTime=datetimenow())data = {'IsSucceed': IsSucceed,'Reason': TrueMessage}else:data = {'IsSucceed': IsNotSucceed,'Reason': FalseMessage}return JsonResponse(data, safe=False)
path('Recharge/', views.Recharge, name='用户充值'),
