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在IE或Firefox下获取鼠标位置的代码
Dec 18 Javascript
js实现的折叠导航示例
Nov 29 Javascript
jQuery中live()方法用法实例
Jan 19 Javascript
js中split和replace的用法实例
Feb 28 Javascript
javascript实现支持移动设备画廊
Aug 24 Javascript
Javascript技术栈中的四种依赖注入详解
Feb 23 Javascript
vue2.0父子组件及非父子组件之间的通信方法
Jan 21 Javascript
详谈AngularJs 控制器、数据绑定、作用域
Jul 09 Javascript
Vue 中批量下载文件并打包的示例代码
Nov 20 Javascript
解决微信小程序中转换时间格式IOS不兼容的问题
Feb 15 Javascript
Javascript实现关闭广告效果
Jan 29 Javascript
React实现动效弹窗组件
Jun 21 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 导出数据到淘宝助手CSV的方法分享
2010/02/27 PHP
CURL状态码列表(详细)
2013/06/27 PHP
PHP编译安装时常见错误解决办法
2015/05/28 PHP
php自定义分页类完整实例
2015/12/25 PHP
php使用strip_tags()去除html标签仍有空白的解决方法
2016/07/28 PHP
JavaScript 动态改变图片大小
2009/06/11 Javascript
最简单的jQuery程序 入门者学习
2009/07/09 Javascript
javascript 日期常用的方法
2009/11/11 Javascript
javascript之typeof、instanceof操作符使用探讨
2013/05/19 Javascript
Javascript字符串浏览器兼容问题分析
2014/12/01 Javascript
基于BootStrap Metronic开发框架经验小结【八】框架功能总体界面介绍
2016/05/12 Javascript
Jquery实现select multiple左右添加和删除功能的简单实例
2016/05/26 Javascript
浅谈jquery拼接字符串效率比较高的方法
2017/02/22 Javascript
JavaScript基本类型值-Number类型
2017/02/24 Javascript
Vuejs仿网易云音乐实现听歌及搜索功能
2017/03/30 Javascript
javascript数组定义的几种方法
2017/10/06 Javascript
angularJs利用$scope处理升降序的方法
2018/10/08 Javascript
layui表格内放置图片,并点击放大的实例
2019/09/10 Javascript
mpvue实现小程序签到金币掉落动画(api实现)
2019/10/17 Javascript
详解Webpack4多页应用打包方案
2020/07/16 Javascript
微信小程序实现购物车功能
2020/11/18 Javascript
[01:12:40]DOTA2-DPC中国联赛 正赛 DLG vs XG BO3 第三场 1月25日
2021/03/11 DOTA
Python中使用装饰器和元编程实现结构体类实例
2015/01/28 Python
python 使用get_argument获取url query参数
2017/04/28 Python
python如何压缩新文件到已有ZIP文件
2018/03/14 Python
对pandas里的loc并列条件索引的实例讲解
2018/11/15 Python
python 日期排序的实例代码
2019/07/11 Python
Python 合并多个TXT文件并统计词频的实现
2019/08/23 Python
python构造IP报文实例
2020/05/05 Python
秘鲁购物网站:Linio秘鲁
2017/04/07 全球购物
英国快时尚女装购物网站:PrettyLittleThing
2018/08/15 全球购物
戴森西班牙官网:Dyson西班牙
2020/02/04 全球购物
八项规定整改措施
2014/02/12 职场文书
2014年高考决心书
2014/03/11 职场文书
关于长城的导游词
2015/01/30 职场文书
多人盗宝《绿林侠盗》第三赛季4.5上线 跨平台实装
2022/04/03 其他游戏