Vue綁定用戶接口實(shí)現(xiàn)代碼示例
微博綁定用戶接口
oauth/urls.py 中添加路由
urlpatterns = [ path('weibo/binduser/', views.OauthWeiboBindUser.as_view()), # /oauth/weibo/callback/ ]
oauth/views.py 中添加試圖函數(shù)
class OauthWeiboBindUser(APIView): permission_classes = (AllowAny,) def post(self, request): # 綁定用戶, 1. 已注冊(cè)用戶, 2. 未注冊(cè)用戶 # 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': '參數(shù)不全'}) # 0.判斷是否存在此用戶 try: user = User.objects.get(username=username) except Exception as e: user = None # 1. 已注冊(cè)用戶 if user: # 1.2 , 如果存在就驗(yàn)證 密碼, 驗(yàn)證通過(guò),就綁定, 返回token,登錄成功 if user.check_password(password): ou = OauthUser(uid=weibo_uid, user=user, oauth_type='1') ou.save() payload = jwt_payload_handler(user) # 通過(guò)user對(duì)象獲取到j(luò)wt的 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': '密碼錯(cuò)誤'}) else: # 2. 未注冊(cè)用戶 # 2.1 生成新用戶, 設(shè)置用戶名密碼, 保存, 然后綁定, 返回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})
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- Vue雙向數(shù)據(jù)綁定(MVVM)的原理
- Vue自定義組件雙向綁定實(shí)現(xiàn)原理及方法詳解
- Vue Object.defineProperty及ProxyVue實(shí)現(xiàn)雙向數(shù)據(jù)綁定
- Vue循環(huán)中多個(gè)input綁定指定v-model實(shí)例
- vue中v-model對(duì)select的綁定操作
- 解決vue項(xiàng)目input輸入框雙向綁定數(shù)據(jù)不實(shí)時(shí)生效問(wèn)題
- 解決vue使用vant下拉框van-dropdown-item 綁定title值不變問(wèn)題
- vue實(shí)現(xiàn)給div綁定keyup的enter事件
- vue 通過(guò)綁定事件獲取當(dāng)前行的id操作
相關(guān)文章
利用Vue實(shí)現(xiàn)數(shù)字翻滾動(dòng)畫(huà)效果展示
這篇文章主要介紹了利用Vue實(shí)現(xiàn)數(shù)字翻滾動(dòng)畫(huà)效果,通過(guò)Vue的響應(yīng)式數(shù)據(jù)更新結(jié)合CSS3的動(dòng)畫(huà)效果,我們可以實(shí)現(xiàn)非??犰诺臄?shù)字翻滾效果,給數(shù)據(jù)可視化帶來(lái)更多動(dòng)感和吸引力,需要的朋友參考下吧2024-04-04vue給input file綁定函數(shù)獲取當(dāng)前上傳的對(duì)象完美實(shí)現(xiàn)方法
這篇文章主要介紹了vue給input file綁定函數(shù)獲取當(dāng)前上傳的對(duì)象完美實(shí)現(xiàn)方法,需要的朋友可以參考下2017-12-12Vue?關(guān)于$emit與props的使用示例代碼
父組件使用 props 把數(shù)據(jù)傳給子組件,子組件使用 $emit 觸發(fā)父組件的自定義事件,今天通過(guò)示例給大家詳細(xì)介紹下Vue?關(guān)于$emit與props的使用,感興趣的朋友一起看看吧2022-03-03基于 flexible 的 Vue 組件:Toast -- 顯示框效果
這篇文章主要介紹了基于 flexible 的 Vue 組件:Toast -- 顯示框效果,需要的朋友可以參考下2017-12-12詳解在vue-test-utils中mock全局對(duì)象
這篇文章主要介紹了詳解在vue-test-utils中mock全局對(duì)象,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-11-11vue-cli3 配置開(kāi)發(fā)與測(cè)試環(huán)境詳解
這篇文章主要介紹了vue-cli3 配置開(kāi)發(fā)與測(cè)試環(huán)境詳解,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2019-05-05vue:axios請(qǐng)求本地json路徑錯(cuò)誤問(wèn)題及解決
這篇文章主要介紹了vue:axios請(qǐng)求本地json路徑錯(cuò)誤問(wèn)題及解決,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-06-06