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 相关文章推荐
地震发生中逃生十大法则
May 12 Javascript
HTML颜色选择器实现代码
Nov 23 Javascript
javascript 闭包
Sep 15 Javascript
JavaScript中判断对象类型的几种方法总结
Nov 11 Javascript
jQuery实现长按按钮触发事件的方法
Feb 02 Javascript
jQuery层动画定位滑动效果的方法
Apr 30 Javascript
discuz表情的JS提取方法分析
Mar 22 Javascript
JavaScript实现微信红包算法及问题解决方法
Apr 26 Javascript
layer弹出层取消遮罩的方法
Sep 25 Javascript
详解Vue.js 作用域、slot用法(单个slot、具名slot)
Oct 15 Javascript
countup.js实现数字动态叠加效果
Oct 17 Javascript
webpack的 rquire.context用法实现工程自动化的方法
Feb 07 Javascript
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
实现php加速的eAccelerator dll支持文件打包下载
2007/09/30 PHP
封装一个PDO数据库操作类代码
2009/09/09 PHP
使用ThinkPHP+Uploadify实现图片上传功能
2014/06/26 PHP
PHP实现图片压缩的两则实例
2014/07/19 PHP
php判断输入是否是纯数字,英文,汉字的方法
2015/03/05 PHP
session 加入redis的实现代码
2016/07/15 PHP
PHP闭包定义与使用简单示例
2018/04/13 PHP
php提取微信账单的有效信息
2018/10/01 PHP
php防止表单重复提交实例讲解
2019/02/11 PHP
laravel在中间件内生成参数并且传递到控制器中的2种姿势
2019/10/15 PHP
Laravel5.5 手动分页和自定义分页样式的简单实现
2019/10/15 PHP
Js setInterval与setTimeout(定时执行与循环执行)的代码(可以传入参数)
2010/06/11 Javascript
来自国外的14个图片放大编辑的jQuery插件整理
2010/10/20 Javascript
实现点击列表弹出列表索引的两种方式
2013/03/08 Javascript
修改file按钮的默认样式实现代码
2013/04/23 Javascript
JavaScript前端图片加载管理器imagepool使用详解
2014/12/29 Javascript
JavaScript几种数组去掉重复值的方法推荐
2016/04/12 Javascript
js实现带农历和八字等信息的日历特效
2016/05/16 Javascript
深入理解js中this的用法
2016/05/28 Javascript
JS实用技巧小结(屏蔽错误、div滚动条设置、背景图片位置等)
2016/06/16 Javascript
轻松掌握JavaScript状态模式
2016/09/07 Javascript
js 判断附件后缀的简单实现方法
2016/10/11 Javascript
如何制作幻灯片(代码分享)
2017/01/06 Javascript
基于JS实现二维码图片固定在右下角某处并跟随滚动条滚动
2017/02/08 Javascript
微信小程序日历组件calendar详解及实例
2017/06/08 Javascript
Vue入门之animate过渡动画效果
2018/04/08 Javascript
jQuery实现左右两个列表框的内容相互移动功能示例
2019/01/27 jQuery
javascript数组常见操作方法实例总结【连接、添加、删除、去重、排序等】
2019/06/13 Javascript
微信小程序之数据绑定原理解析
2019/08/14 Javascript
解决vuex数据页面刷新后初始化操作
2020/07/26 Javascript
Python3实现从文件中读取指定行的方法
2015/05/22 Python
对python中的argv和argc使用详解
2018/12/15 Python
浅析PyTorch中nn.Linear的使用
2019/08/18 Python
css3截图_动力节点Java学院整理
2017/07/11 HTML / CSS
离婚协议书范本及离婚须知
2014/10/15 职场文书
竞聘书的秘诀
2019/04/02 职场文书