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 相关文章推荐
js鼠标滑过弹出层的定位IE6bug解决办法
Dec 26 Javascript
js日期、星座的级联显示代码
Jan 23 Javascript
js的2种继承方式详解
Mar 04 Javascript
js实现遮罩层划出效果是生成div而不是显示
Jul 29 Javascript
javascipt:filter过滤介绍及使用
Sep 10 Javascript
AngularJS学习笔记之基本指令(init、repeat)
Jun 16 Javascript
浅析四种常见的Javascript声明循环变量的书写方式
Oct 14 Javascript
Jquery ui datepicker设置日期范围,如只能隔3天【实现代码】
May 04 Javascript
Vue自定义指令介绍(2)
Dec 08 Javascript
webpack独立打包和缓存处理详解
Apr 03 Javascript
Vue.js移动端左滑删除组件的实现代码
Sep 08 Javascript
JS判断两个数组或对象是否相同的方法示例
Feb 28 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
人族 Terran 魔法与科技
2020/03/14 星际争霸
mayfish 数据入库验证代码
2010/04/30 PHP
zf框架的registry(注册表)使用示例
2014/03/13 PHP
PHP图片添加水印功能示例小结
2016/10/03 PHP
phpcms的分类名称和类别名称的调用
2017/01/05 PHP
PHP常见字符串操作函数与用法总结
2019/03/04 PHP
js控制div及网页相关属性的代码
2009/12/19 Javascript
jQuery怎么解析Json字符串(Json格式/Json对象)
2013/08/09 Javascript
javascript客户端遍历控件与获取父容器对象示例代码
2014/01/06 Javascript
Jquery使用val方法读写value值
2015/05/18 Javascript
谈谈javascript中使用连等赋值操作带来的问题
2015/11/26 Javascript
JS动态计算移动端rem的解决方案
2016/10/14 Javascript
vue日期组件 支持vue1.0和2.0
2017/01/09 Javascript
理解Angular的providers给Http添加默认headers
2017/07/04 Javascript
简单实现jQuery轮播效果
2017/08/18 jQuery
Vue结合SignalR实现前后端实时消息同步
2017/09/19 Javascript
JS基于设计模式中的单例模式(Singleton)实现封装对数据增删改查功能
2018/02/06 Javascript
vue cli 3.0 使用全过程解析
2018/06/14 Javascript
php中and 和 &&出坑指南
2018/07/13 Javascript
详解JavaScript数据类型和判断方法
2020/09/04 Javascript
前端vue如何使用高德地图
2020/11/05 Javascript
详解Python的collections模块中的deque双端队列结构
2016/07/07 Python
python连接mysql实例分享
2016/10/09 Python
Python批量查询域名是否被注册过
2017/06/21 Python
python的mysqldb安装步骤详解
2017/08/14 Python
Python安装pycurl失败的解决方法
2018/10/15 Python
Appium Python自动化测试之环境搭建的步骤
2019/01/23 Python
Python实现的读取文件内容并写入其他文件操作示例
2019/04/09 Python
使用pytorch和torchtext进行文本分类的实例
2020/01/08 Python
520使用Python实现“我爱你”表白
2020/05/20 Python
Python Pandas list列表数据列拆分成多行的方法实现
2020/12/14 Python
Alba Moda德国网上商店:意大利时尚女装销售
2016/11/14 全球购物
kfc实习自我鉴定
2013/12/14 职场文书
法定代表人授权委托书范本
2014/10/07 职场文书
领导干部群众路线教育实践活动剖析材料
2014/10/10 职场文书
jQuery实现广告显示和隐藏动画
2021/07/04 jQuery