Vue绑定用户接口实现代码示例
微博绑定用户接口
oauth/urls.py中添加路由
urlpatterns=[
path('weibo/binduser/',views.OauthWeiboBindUser.as_view()),#
/oauth/weibo/callback/
]
oauth/views.py中添加试图函数
classOauthWeiboBindUser(APIView):
permission_classes=(AllowAny,)
defpost(self,request):
#绑定用户,1.已注册用户,2.未注册用户
#1.1获取用户名,密码,weibo_uid
username=request.data.get('username')
password=request.data.get('password')
weibo_uid=request.data.get('weibo_uid')
ifnotall([username,password,weibo_uid]):
returnResponse({'code':999,'msg':'参数不全'})
#0.判断是否存在此用户
try:
user=User.objects.get(username=username)
exceptExceptionase:
user=None
#1.已注册用户
ifuser:
#1.2,如果存在就验证密码,验证通过,就绑定,返回token,登录成功
ifuser.check_password(password):
ou=OauthUser(uid=weibo_uid,user=user,oauth_type='1')
ou.save()
payload=jwt_payload_handler(user)#通过user对象获取到jwt的
payload信息
token=jwt_encode_handler(payload)#生成token
data=jwt_response_payload_handler(token,user)
data['type']='0'#指定为登录成功
returnResponse({'code':0,'msg':'登录成功','data':data})
else:
returnResponse({'code':999,'msg':'密码错误'})
else:
#2.未注册用户
#2.1生成新用户,设置用户名密码,保存,然后绑定,返回token,登录成功
user=User(username=username)
user.set_password(password)
user.save()
ou=OauthUser(uid=weibo_uid,user=user,oauth_type='1')
ou.save()
payload=jwt_payload_handler(user)
token=jwt_encode_handler(payload)
data=jwt_response_payload_handler(token,user)
data['type']='0'#指定为登录成功
returnResponse({'code':0,'msg':'登陆成功','data':data})
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。