session_key

Brightcells преди 6 години
родител
ревизия
d2356e571a
променени са 2 файла, в които са добавени 8 реда и са изтрити 3 реда
  1. 6 3
      api/mch_views.py
  2. 2 0
      miniapp/views.py

+ 6 - 3
api/mch_views.py

@@ -169,9 +169,12 @@ def upgrade_api(request):
169 169
 def getPhoneNumber(request):
170 170
     user_id = request.POST.get('user_id', '')
171 171
 
172
+    wxcfg = WECHAT.get('MINIAPP', {})
173
+
174
+    appid = wxcfg.get('appID')
175
+
172 176
     # Just for compatible because of store session_key has changed
173
-    if not user_id:
174
-        return ''
177
+    session_key = None if user_id else RedisStorage(r).get('{0}:{1}:sessionKey'.format(appid, ''))
175 178
 
176 179
     wxcfg = WECHAT.get('MINIAPP', {})
177 180
 
@@ -191,7 +194,7 @@ def getPhoneNumber(request):
191 194
     #             "timestamp": TIMESTAMP
192 195
     #         }
193 196
     # }
194
-    phone_number = get_phone_number(appid=appid, secret=secret, unid=user_id, encryptedData=encryptedData, iv=iv, storage=RedisStorage(r))
197
+    phone_number = get_phone_number(appid=appid, secret=secret, unid=user_id, session_key=session_key, encryptedData=encryptedData, iv=iv, storage=RedisStorage(r))
195 198
 
196 199
     return phone_number.get('purePhoneNumber', '')
197 200
 

+ 2 - 0
miniapp/views.py

@@ -155,6 +155,8 @@ def mini_login_api(request):
155 155
 
156 156
     # Store SessionKey
157 157
     store_session_key(appid=appid, secret=secret, session_key=session_key, unid=user.user_id, storage=RedisStorage(r))
158
+    # Just for compatible because of store session_key has changed
159
+    store_session_key(appid=appid, secret=secret, session_key=session_key, unid='', storage=RedisStorage(r))
158 160
 
159 161
     return response(200, 'Mini App Login Success', u'微信小程序登录成功', user.brandata(brand_id=brand_id))
160 162