# QQ登陸和用戶中心前端
# QQ 登陸python
##### 點了QQ 按鈕--京東後臺--->login_qq_url--->用戶,帳號掃碼---->京東商城--->code---->qq---token--->qqopeniddjango
* 1. 開發帳號----- 全部第三方的東西 一律公司的
2. 建立應用--appid---appkey
3. pip install QQLoginTool
3. 點擊QQ 按鈕--v-on/@click="qq_login"-->京東商城後臺
4. 京東商城後臺---->認證QQ----->登陸地址--qq_login_url cookie
## 1.實例化 # 2.獲取 QQ登陸網址 # 3.返回給前端 QQ_url
5. 用戶,帳號掃碼---->回調---京東商城後臺----codeapp
6. code ----->qq----token
7. Token---->qq--- openid
8. 是否綁定 openid 和咱們本身的用戶--綁定過----首頁網站
# 1.去表 查詢 openid 是否存在
# 加密 openid
# 2.不存在---綁定頁面顯示
# 存在-- 保持登陸狀態-首頁
# 保持登陸狀態ui
9. 沒有綁定過---綁定頁面----綁定--->首頁
1. 接收參數-- mobile pwd sms_code openid
2. 校驗參數--手機號是否存在---密碼--是否正確---圖形驗證碼---短信驗證碼
3. openid+user綁定 # 解密 前端 傳入openid 在拿openid查詢user
1. user之前存在---綁定
2. 新用user--默認建立一個用戶--綁定 #3.判斷user是否存在 不存在 新建一個 else if not user.check_password(pwd) # 4. 無論存在不存在 都綁定openid
4. 保持登陸狀態 login
5. 重定到首頁
6. 設置cookie加密
##### 2. 加解密url
* 1. ```python
pip install itsdangerous
```spa
2. 導包
3. 實例化
4. 加密 dumps
5. 解密loads
微博其實實現方法差很少
獲取uid判斷用戶是否綁定
導包
client = sinaweibopy3.APIClient(
# app_key: app_key值 app_key=settings.APP_KEY, # app_secret:app_secret 值 app_secret=settings.APP_SECRET, # redirect_uri : 回調地址 redirect_uri=settings.REDIRECT_URL )
login_url =client.get_authorize_url()
python result = client.request_access_token(code) access_token= result.access_token uid=result.uid
微博模型類
from django.db import models from utils.models import BaseModel class OAuthSinaUser(BaseModel): """ Sina登陸用戶數據 """ user = models.ForeignKey('users.User', on_delete=models.CASCADE, verbose_name='用戶') uid = models.CharField(max_length=64, verbose_name='access_token', db_index=True) class Meta: db_table = 'tb_oauth_sina' verbose_name = 'sina登陸用戶數據' verbose_name_plural = verbose_name