wx.login(
})} else }})
屬性型別#.......省略一下配置路由啥的
class login(apiview):
def post(self,request):
code = request.data.get('code')
print(code,type(code))
#061hmtlg0haq6d2hoykg0dlhlg0hmtlh
預設值必填
說明string
是secret
string
是js_code
string
是登入時獲取的 code
grant_type
string
是授權型別,此處只需填寫 authorization_code
返回的 json 資料報
屬性型別
說明openid
string
使用者唯一標識
session_key
string
會話金鑰
unionid
string
使用者在開放平台的唯一識別符號,在滿足 unionid 下發條件的情況下會返回,詳見 unionid 機制說明。
errcode
number
錯誤碼errmsg
string
錯誤資訊值說明
最低版本
-1系統繁忙,此時請開發者稍候再試
0請求成功
40029
code 無效
45011
頻率限制,每個使用者每分鐘100次
import requests
class login(apiview):
def post(self,request):
code = request.data.get('code')
reponse=requests.get(url)
#因為返回值是json的形式
data=reponse.json()
print(data)
import hashlib
class login(apiview):
........
if data.get("openid") and data.get("session_key"):
md5 = hashlib.md5()
md5.update(data['openid'].encode("utf-8"))
md5.update(data['session_key'].encode("utf-8"))
key = md5.hexdigest()
val =data['session_key']+"&"+data['openid']
print(key,val)
目的,標識已登入以及獲取標識,方便後續對於使用者資訊的查詢from rest_framework.response import response
from django.core.cache import cache
class login(apiview):
........
cache.set(key,val) #存快取中較少對於資料庫的壓力
has_user=models.wxuser.objects.filter(openid=data['openid']).first() #將唯一標識進行儲存
if not has_user:
models.wxuser.objects.create(openid=data['openid'])
return response( #傳送login_key其目的是為了後續可以直接去快取取對於資訊
})
var that = this
wx.login(,
success(res) )},
})}else }})
其中setdata
方法的必須物件是整個頁 微信小程式登入流程 微信登入
提高使用者體驗 制定產品策略 token 登入態是個邏輯詞彙,token可以理解為登入態的具象化 資料化,在上面的流程圖中,可以看到token是由開發者伺服器建立的乙個字元,而且需要跟openid和session key相關聯,關聯完成之後開發者伺服器將 token下發到客戶端,客戶端儲存在本地,後...
微信小程式登入流程
前言 openid與unionid 場景 假設你們公司有2個小程式。但是你們老闆想把使用者做統一處理。比如新使用者登入任意乙個小程式,就傳送傳送禮包。但是只要再乙個小程式上另過了,就不能再另乙個上面領取。unionnid 乙個使用者在多個小程式有唯一的標識 1 小程式端執行wx.login 獲取co...
微信小程式登入流程詳細記錄
一.小程式登入基本流程介紹 1.首先放一張官方文件的流程圖 過程 1.小程式端呼叫 wx.login 獲取 code 臨時登入憑證 code 只能使用一次 這一步獲取的 code 作用是表示使用者已授權獲取使用者資訊,但使用者資訊分為 非敏感資訊 和 敏感資訊,這兩者區別稍後會介紹到。3.後台呼叫 ...