@@ -159,6 +159,8 @@ def upgrade_api(request): |
||
| 159 | 159 |
|
| 160 | 160 |
|
| 161 | 161 |
def getPhoneNumber(request): |
| 162 |
+ user_id = request.POST.get('user_id', '')
|
|
| 163 |
+ |
|
| 162 | 164 |
wxcfg = WECHAT.get('MINIAPP', {})
|
| 163 | 165 |
|
| 164 | 166 |
appid = wxcfg.get('appID')
|
@@ -177,7 +179,7 @@ def getPhoneNumber(request): |
||
| 177 | 179 |
# "timestamp": TIMESTAMP |
| 178 | 180 |
# } |
| 179 | 181 |
# } |
| 180 |
- phone_number = get_phone_number(appid=appid, secret=secret, encryptedData=encryptedData, iv=iv, storage=RedisStorage(r)) |
|
| 182 |
+ phone_number = get_phone_number(appid=appid, secret=secret, unid=user_id, encryptedData=encryptedData, iv=iv, storage=RedisStorage(r)) |
|
| 181 | 183 |
|
| 182 | 184 |
return phone_number.get('purePhoneNumber', '')
|
| 183 | 185 |
|
@@ -7,7 +7,7 @@ from django_logit import logit |
||
| 7 | 7 |
from django_response import response |
| 8 | 8 |
from ipaddr import client_ip |
| 9 | 9 |
from pywe_membercard import get_miniapp_extraData |
| 10 |
-from pywe_miniapp import get_userinfo |
|
| 10 |
+from pywe_miniapp import get_userinfo, store_session_key, get_session_key |
|
| 11 | 11 |
from pywe_storage import RedisStorage |
| 12 | 12 |
from TimeConvert import TimeConvert as tc |
| 13 | 13 |
|
@@ -48,7 +48,9 @@ def get_userinfo_api(request): |
||
| 48 | 48 |
# u'province': u'Guangdong', |
| 49 | 49 |
# u'unionId': u'ocMvos6NjeKLIBqg5Mr9QjxrP1FA', |
| 50 | 50 |
# u'watermark': {u'appid': u'wx4f4bc4dec97d474b', u'timestamp': 1477314187}}
|
| 51 |
- userinfo = get_userinfo(appid=appid, secret=secret, code=code, encryptedData=encryptedData, iv=iv, storage=RedisStorage(r)) |
|
| 51 |
+ session_key = get_session_key(appid=appid, secret=secret, code=code) |
|
| 52 |
+ # Get Userinfo |
|
| 53 |
+ userinfo = get_userinfo(appid=appid, secret=secret, code=code, session_key=session_key, encryptedData=encryptedData, iv=iv) |
|
| 52 | 54 |
|
| 53 | 55 |
# Get or Create User |
| 54 | 56 |
user, created = UserInfo.objects.select_for_update().get_or_create(unionid=userinfo.get('unionId', ''))
|
@@ -78,7 +80,10 @@ def get_userinfo_api(request): |
||
| 78 | 80 |
user.signup_at = tc.utc_datetime() |
| 79 | 81 |
user.save() |
| 80 | 82 |
|
| 83 |
+ # Store Userinfo |
|
| 81 | 84 |
set_profile_info(user) |
| 85 |
+ # Store SessionKey |
|
| 86 |
+ store_session_key(appid=appid, secret=secret, session_key=session_key, unid=user.user_id, storage=RedisStorage(r)) |
|
| 82 | 87 |
|
| 83 | 88 |
return response(200, 'Mini App Login Success', u'微信小程序登录成功', user.brandata(brand_id=brand_id)) |
| 84 | 89 |
|
@@ -1,6 +1,6 @@ |
||
| 1 | 1 |
pywe-jssdk==1.1.0 |
| 2 | 2 |
pywe-membercard==1.0.0 |
| 3 |
-pywe-miniapp==1.1.0 |
|
| 3 |
+pywe-miniapp==1.1.3 |
|
| 4 | 4 |
pywe-oauth==1.0.6 |
| 5 | 5 |
pywe-pay==1.0.12 |
| 6 | 6 |
pywe-pay-notify==1.0.4 |