Vue绑定用户接口实现代码示例


Posted in Javascript onNovember 04, 2020

微博绑定用户接口

oauth/urls.py 中添加路由

urlpatterns = [
path('weibo/binduser/', views.OauthWeiboBindUser.as_view()), #
/oauth/weibo/callback/
]

oauth/views.py 中添加试图函数

class OauthWeiboBindUser(APIView):
 
  permission_classes = (AllowAny,)
 
  def post(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')
    if not all([username, password, weibo_uid]):
      return Response({'code': 999, 'msg': '参数不全'})
    # 0.判断是否存在此用户
    try:
      user = User.objects.get(username=username)
    except Exception as e:
      user = None
    # 1. 已注册用户
    if user:
      # 1.2 , 如果存在就验证 密码, 验证通过,就绑定, 返回token,登录成功
      if user.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' # 指定为登录成功
        return Response({'code': 0, 'msg': '登录成功', 'data': data})
      else:
        return Response({'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' #指定为登录成功
      return Response({'code':0,'msg':'登陆成功','data':data})

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
javascript globalStorage类代码
Jun 04 Javascript
JavaScript实现统计文本框Textarea字数增强用户体验
Dec 21 Javascript
javascript中的void运算符语法及使用介绍
Mar 10 Javascript
javascript通过className来获取元素的简单示例代码
Jan 10 Javascript
Jquery实现的一种常用高亮效果示例代码
Jan 28 Javascript
JavaScript里实用的原生API汇总
May 14 Javascript
js实现键盘Enter键提交表单的方法
May 27 Javascript
javascript实现dom元素可拖动
Mar 21 Javascript
深入理解Vue 的条件渲染和列表渲染
Sep 01 Javascript
详解基于Koa2开发微信二维码扫码支付相关流程
May 16 Javascript
vue自定义指令限制输入框输入值的步骤与完整代码
Aug 30 Javascript
vue引入Excel表格插件的方法
Apr 28 Vue.js
vant picker+popup 自定义三级联动案例
Nov 04 #Javascript
解决vue-pdf查看pdf文件及打印乱码的问题
Nov 04 #Javascript
vantUI 获得piker选中值的自定义ID操作
Nov 04 #Javascript
浅谈vant组件Picker 选择器选单选问题
Nov 04 #Javascript
vue项目打包后请求地址错误/打包后跨域操作
Nov 04 #Javascript
原生JavaScript实现贪吃蛇游戏
Nov 04 #Javascript
通过实例解析javascript Date对象属性及方法
Nov 04 #Javascript
You might like
PHP5 安装方法
2007/01/15 PHP
php基于curl扩展制作跨平台的restfule 接口
2015/05/11 PHP
php解析xml 的四种简单方法(附实例)
2016/07/11 PHP
PHP实现的策略模式简单示例
2017/08/25 PHP
JQuery读取XML文件数据并显示的实现代码
2009/12/16 Javascript
关于js注册事件的常用方法
2013/04/03 Javascript
js获取IFRAME当前的URL的方法
2013/11/13 Javascript
通过js来制作复选框的全选和不选效果
2014/05/22 Javascript
js判断手机和pc端选择不同执行事件的方法
2015/01/30 Javascript
JavaScript学习小结(一)——JavaScript入门基础
2015/09/02 Javascript
移动手机APP手指滑动切换图片特效附源码下载
2015/11/30 Javascript
PHP捕捉异常中断的方法
2016/10/24 Javascript
jQuery对table表格进行增删改查
2020/12/22 Javascript
原生js实现回复评论功能
2017/01/18 Javascript
AngularJS之页面跳转Route实例代码
2017/03/10 Javascript
微信小程序如何获取手机验证码
2018/11/04 Javascript
Vue props中Object和Array设置默认值操作
2020/07/30 Javascript
bootstrap-closable-tab可实现关闭的tab标签页插件
2020/08/09 Javascript
[48:02]Ti4循环赛第三日 VG vs Liquid和NEWBEE vs DK
2014/07/12 DOTA
python网络编程学习笔记(八):XML生成与解析(DOM、ElementTree)
2014/06/09 Python
python实现上传样本到virustotal并查询扫描信息的方法
2014/10/05 Python
Python Tkinter GUI编程入门介绍
2015/03/10 Python
Python中使用PyQt把网页转换成PDF操作代码实例
2015/04/23 Python
Python中title()方法的使用简介
2015/05/20 Python
Python连接phoenix的方法示例
2017/09/29 Python
python使用 HTMLTestRunner.py生成测试报告
2017/10/20 Python
Python字典创建 遍历 添加等实用基础操作技巧
2018/09/13 Python
PyTorch中torch.tensor与torch.Tensor的区别详解
2020/05/18 Python
Django rest framework分页接口实现原理解析
2020/08/21 Python
俄罗斯在线水暖商店:Perfecto.ru
2019/10/25 全球购物
社区优秀志愿者先进事迹
2014/05/09 职场文书
缅怀革命先烈演讲稿
2014/05/14 职场文书
会计岗位职责
2015/02/03 职场文书
医生个人年终总结
2015/02/28 职场文书
社交电商模式的兴起:这些新的商机千万别错过
2019/07/26 职场文书
导游词之湖北梁子湖
2019/11/07 职场文书