six_001
This commit is contained in:
@@ -0,0 +1,76 @@
|
||||
"""
|
||||
Author: xiao 792282@qq.com
|
||||
Date: 2025-08-10 11:36:05
|
||||
LastEditors: xiao 792282@qq.com
|
||||
LastEditTime: 2025-08-17 13:38:39
|
||||
FilePath: django_小程序/同城配送工具/小程序用户授权数据.py
|
||||
Description: 这是默认设置,可以在设置》工具》File Description中进行配置
|
||||
"""
|
||||
|
||||
"""功能模块"""
|
||||
import jmespath
|
||||
from requests import post, get
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
class wei小程序服务端工具:
|
||||
"""微信登陆"""
|
||||
|
||||
@classmethod
|
||||
def 获取OPENID( cls, secret: str, js_code: str, appid: str, ) -> dict:
|
||||
"""
|
||||
@param secret: 小程序 appSecret
|
||||
@type secret: string
|
||||
@param js_code: 登录时获取的 code,可通过wx.login获取
|
||||
@type js_code: string
|
||||
@param appid: 小程序的app🆔
|
||||
@type appid: string
|
||||
@return:{"session_key":"etC7EOml89Pd8XIhTFyAOA==","expires_in":7200,"openid":"oNTAd0fm1GQAdohfbvywhGstsIPc","unionid":"ojWkM1MnLrdty0S3Vks2pYorp4MY"}
|
||||
@rtype: dict
|
||||
"""
|
||||
url = "https://api.weixin.qq.com/sns/jscode2session"
|
||||
data = {
|
||||
"appid": appid,
|
||||
"secret": secret,
|
||||
"js_code": js_code,
|
||||
"grant_type": "authorization_code"
|
||||
}
|
||||
res_data = get( url=url, params=data )
|
||||
res = res_data.json( )
|
||||
errcode = jmespath.search( data=res, expression="errcode", )
|
||||
if res_data.status_code == 200:
|
||||
if errcode is None:
|
||||
return res
|
||||
else:
|
||||
raise Exception( f"登陆错误码:{res}" )
|
||||
raise Exception( "请求login登陆时出错了" )
|
||||
|
||||
@classmethod
|
||||
def 获取手机号( cls, url, code: str ):
|
||||
"""
|
||||
@param url:
|
||||
@type url:
|
||||
@param code:
|
||||
@type code:
|
||||
@return: {'session_key': 'etC7EOml89Pd8XIhTFyAOA==', 'expires_in': 7200, 'openid': 'oNTAd0fm1GQAdohfbvywhGstsIPc', 'unionid': 'ojWkM1MnLrdty0S3Vks2pYorp4MY'}
|
||||
@rtype:
|
||||
"""
|
||||
data = {
|
||||
"code": code
|
||||
}
|
||||
res_data = post( url=url, json=data )
|
||||
res = res_data.json( ) # type: dict
|
||||
return res
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
pass
|
||||
# res = wei小程序服务端工具.获取OPENID(
|
||||
# js_code="0e1sYCkl2bCmhg4DG2ll2kheh10sYCkn", appid=paymentCategory.appid,
|
||||
# secret=paymentCategory.appsecret,
|
||||
# )
|
||||
Reference in New Issue
Block a user