@@ -275,11 +275,10 @@ WECHAT = { |
||
275 | 275 |
|
276 | 276 |
WECHAT_REDIRECT_URI = 'http://api.pai.ai/to_redirect' |
277 | 277 |
|
278 |
-WECHAT_GET_CODE_BASE = 'https://open.weixin.qq.com/connect/oauth2/authorize?appid=%s&redirect_uri=%s&response_type=code&scope=snsapi_base&state=%s#wechat_redirect' |
|
279 |
-WECHAT_GET_CODE_USERINFO = 'https://open.weixin.qq.com/connect/oauth2/authorize?appid=%s&redirect_uri=%s&response_type=code&scope=snsapi_userinfo&state=%s#wechat_redirect' |
|
280 |
-WECHAT_GET_OAUTH2_ACCESS_TOKEN = 'https://api.weixin.qq.com/sns/oauth2/access_token?appid=%s&secret=%s&code=%s&grant_type=authorization_code' |
|
278 |
+WECHAT_OAUTH2_AUTHORIZE = 'https://open.weixin.qq.com/connect/oauth2/authorize?appid={appid}&redirect_uri={redirect_uri}&response_type=code&scope={scope}&state={state}#wechat_redirect' |
|
279 |
+WECHAT_OAUTH2_ACCESS_TOKEN = 'https://api.weixin.qq.com/sns/oauth2/access_token?appid={appid}&secret={secret}&code={code}&grant_type=authorization_code' |
|
281 | 280 |
|
282 |
-WECHAT_GET_USERINFO = 'https://api.weixin.qq.com/sns/userinfo?access_token=%s&openid=%s' |
|
281 |
+WECHAT_OAUTH2_USERINFO = 'https://api.weixin.qq.com/sns/userinfo?access_token={access_token}&openid={openid}' |
|
283 | 282 |
|
284 | 283 |
# 微信支付设置 |
285 | 284 |
WXPAY_NOTIFY_SUCCESS = '<xml><return_code><![CDATA[SUCCESS]]></return_code><return_msg><![CDATA[OK]]></return_msg></xml>' |
@@ -19,7 +19,6 @@ ipython==4.0.0 |
||
19 | 19 |
jsonfield==1.0.3 |
20 | 20 |
kkconst==1.1.2 |
21 | 21 |
pep8==1.6.2 |
22 |
-pysnippets==1.0.2 |
|
23 | 22 |
pytz==2015.7 |
24 | 23 |
records==0.4.3 |
25 | 24 |
redis==2.10.5 |
@@ -5,12 +5,10 @@ import urllib |
||
5 | 5 |
|
6 | 6 |
import requests |
7 | 7 |
import shortuuid |
8 |
-from CodeConvert import CodeConvert as cc |
|
9 | 8 |
from django.conf import settings |
10 | 9 |
from django.shortcuts import redirect |
11 | 10 |
from furl import furl |
12 | 11 |
from json_response import auto_response |
13 |
-from pysnippets import dictsnippets as dsnippets |
|
14 | 12 |
from wechatpy import WeChatClient |
15 | 13 |
|
16 | 14 |
|
@@ -25,9 +23,12 @@ def get_openid(request): |
||
25 | 23 |
default_url = request.GET.get('default_url', '') |
26 | 24 |
|
27 | 25 |
if request.weixin: |
28 |
- authorize_url = settings.WECHAT_GET_CODE_USERINFO if scope == 'snsapi_userinfo' else settings.WECHAT_GET_CODE_BASE |
|
29 |
- get_code_url = authorize_url % (JSAPI['appID'], urllib.quote_plus(settings.WECHAT_REDIRECT_URI), urllib.quote_plus(redirect_url)) |
|
30 |
- return redirect(get_code_url) |
|
26 |
+ return redirect(settings.WECHAT_OAUTH2_AUTHORIZE.format( |
|
27 |
+ appid=JSAPI['appID'], |
|
28 |
+ redirect_uri=urllib.quote_plus(settings.WECHAT_REDIRECT_URI), |
|
29 |
+ scope=scope, |
|
30 |
+ state=urllib.quote_plus(redirect_url) |
|
31 |
+ )) |
|
31 | 32 |
|
32 | 33 |
return redirect(default_url if default_url else redirect_url) |
33 | 34 |
|
@@ -36,14 +37,18 @@ def to_redirect(request): |
||
36 | 37 |
code = request.GET.get('code', '') |
37 | 38 |
state = request.GET.get('state', '') |
38 | 39 |
|
39 |
- access_info = requests.get(settings.WECHAT_GET_OAUTH2_ACCESS_TOKEN % (JSAPI['appID'], JSAPI['appsecret'], code), verify=False).json() |
|
40 |
+ access_info = requests.get(settings.WECHAT_OAUTH2_ACCESS_TOKEN.format( |
|
41 |
+ appid=JSAPI['appID'], |
|
42 |
+ secret=JSAPI['appsecret'], |
|
43 |
+ code=code |
|
44 |
+ ), verify=False).json() |
|
40 | 45 |
unionid, openid, access_token = access_info.get('unionid', ''), access_info.get('openid', ''), access_info.get('access_token', '') |
41 | 46 |
|
42 |
- res = requests.get(settings.WECHAT_GET_USERINFO % (access_token, openid), verify=False) |
|
47 |
+ res = requests.get(settings.WECHAT_OAUTH2_USERINFO.format(access_token=access_token, openid=openid), verify=False) |
|
43 | 48 |
res.encoding = 'utf-8' |
44 | 49 |
userinfo = res.json() |
45 | 50 |
|
46 |
- return redirect(furl(state).add(cc.Convert2Utf8(dsnippets.filter(userinfo, ['unionid', 'openid', 'nickname', 'headimgurl']))).url) |
|
51 |
+ return redirect(furl(state).add(userinfo).url) |
|
47 | 52 |
|
48 | 53 |
|
49 | 54 |
@auto_response |