wx.login(,
header:,
method:"post",
success:function(e)
})// 傳送 res.code 到後台換取 openid, sessionkey, unionid}})
後端**
from rest_framework.views import apiview
from rest_framework.response import response
from django.core.cache import cache
import time
import hashlib
class login(apiview):
def post(self,request):
param = request.data
if param.get("code"):
data=wx_login.login(param.get("code"))
if data:
# 1 session_key+時間戳等到乙個key.(md5
md5=hashlib.md5()
md5.update(data.get("session_key").encode("utf8"))
md5.update(str(time.time()).encode("utf8"))
key=md5.hexdigest()
#2 session_key與openid做繫結等到val
val=data.get("session_key")+'&'+data.get("openid")
#3key->val存到redis,
cache.set(key,val)
#4把openid存到資料庫
user_data=models.wxuser.objects.filter(openid=data.get("openid")).first()
if not user_data:
models.wxuser.objects.create(openid=data.get("openid"))
#5把key返回給小程式
return response(})
else:
return response()
else:
return response()
wx_login
import requests
def login(code):
reponse=requests.get(url=url)
#得到的data裡面有session_key和openid。
data=reponse.json()
print(data)
if data.get("session_key"):
return data
else:
return false
settings
pay_mchid ='1415981402'
pay_apikey = 'xi34nu5jn7x2uujd8u4jiijd2u5d6j8e'
這樣登入就完成了
html就是乙個按鈕加乙個點選事件,就不寫了,主要看點選事件做了什麼
luying: function () ,
//在失敗前就已經呼叫了上面的獲取許可權,如果沒有給許可權的話,就會走這個方法。
fail()
})} else }})
},
獲取使用者資訊的許可權
因為使用者資訊可能會帶一些敏感資訊,比如說session_key或者openid等等,在前端想要獲取資訊的話,就必須請求許可權。
需要注意,這種方式是錯誤的
使用者資訊
必須要這樣寫才行,才行,這樣,在獲取請求的同時,會把一些關鍵的東西傳進點選事件裡。
獲取使用者信
js
info1: function (res)
// })
var that = this
//這個方法是用來看你session_key有沒有過期的
wx.checksession(,
header: ,
method: "post",
success: function (e)
})},
fail()
})}
微信小程式登入和授權
登入和授權的說明 登入和授權完全沒有關係 注意使用者資訊授權 服務端解密使用者授權資料 手機號授權 注意事項 在 中呼叫wx.login登入,可能會重新整理登入態。此時伺服器使用code換取的sessionkey不是加密時使用的sessionkey,導致解密失敗。建議開發者提前進行login 或者在...
小程式授權登入流程
primary open type getuserinfo bindgetuserinfo getuserinfo bindgetuserinfo 函式 事件內的引數就是使用者授權後的資訊 獲取使用者資訊按鈕的事件 getuserinfo event event detail 2 獲取code 主要...
微信小程式授權登入
在這裡插入描述 前端部分 編寫自己的介面login.wxml login.js 獲取應用例項 page 生命週期函式 監聽頁面載入 onload function options 登入 dologin function e 後端部分 後端運用的是springboot框架 專案結構 官方教程 官方流程...