@@ -8,6 +8,7 @@ from geo import views as geo_views |
||
8 | 8 |
from group import views as group_views |
9 | 9 |
from group import groupuser_views, lensman_views, tourguidegroup_views, tourguidegroupuser_views |
10 | 10 |
from message import views as message_views |
11 |
+from miniapp import views as mini_views |
|
11 | 12 |
from operation import views as op_views |
12 | 13 |
from pay import views as pay_views |
13 | 14 |
from photo import views as photo_views |
@@ -169,3 +170,8 @@ urlpatterns += [ |
||
169 | 170 |
url(r'^pai2/home$', group_views.pai2_home_api, name='pai2_home_api'), # 首页照片信息 |
170 | 171 |
url(r'^pai2/tginfo$', tourguidegroup_views.pai2_tginfo_api, name='pai2_tginfo_api'), # 首页旅行团信息 |
171 | 172 |
] |
173 |
+ |
|
174 |
+# Mini App |
|
175 |
+urlpatterns += [ |
|
176 |
+ url(r'^mini/userinfo$', mini_views.get_userinfo_api, name='get_userinfo_api'), # 获取用户信息 |
|
177 |
+] |
@@ -0,0 +1,4 @@ |
||
1 |
+from django.contrib import admin |
|
2 |
+ |
|
3 |
+ |
|
4 |
+# Register your models here. |
@@ -0,0 +1,4 @@ |
||
1 |
+from django.db import models |
|
2 |
+ |
|
3 |
+ |
|
4 |
+# Create your models here. |
@@ -0,0 +1,4 @@ |
||
1 |
+from django.test import TestCase |
|
2 |
+ |
|
3 |
+ |
|
4 |
+# Create your tests here. |
@@ -0,0 +1,28 @@ |
||
1 |
+# -*- coding: utf-8 -*- |
|
2 |
+ |
|
3 |
+from django.db import transaction |
|
4 |
+from logit import logit |
|
5 |
+from pywe_miniapp import get_userinfo |
|
6 |
+ |
|
7 |
+from account.models import UserInfo |
|
8 |
+from utils.error.errno_utils import UserStatusCode |
|
9 |
+from utils.error.response_utils import response |
|
10 |
+ |
|
11 |
+ |
|
12 |
+@logit |
|
13 |
+@transaction.atomic |
|
14 |
+def get_userinfo_api(request): |
|
15 |
+ appid = request.POST.get('appid', '') |
|
16 |
+ secret = request.POST.get('secret', '') |
|
17 |
+ code = request.POST.get('code', '') |
|
18 |
+ encryptedData = request.POST.get('encryptedData', '') |
|
19 |
+ iv = request.POST.get('iv', '') |
|
20 |
+ |
|
21 |
+ userinfo = get_userinfo(appid=appid, secret=secret, code=code, encryptedData=encryptedData, iv=iv) |
|
22 |
+ |
|
23 |
+ try: |
|
24 |
+ user = UserInfo.objects.select_for_update().get(unionid=userinfo.get('unionid', '')) |
|
25 |
+ except UserInfo.DoesNotExist: |
|
26 |
+ return response(UserStatusCode.USER_NOT_FOUND) |
|
27 |
+ |
|
28 |
+ return response(200, 'Mini App Login Success', u'微信小程序登录成功', user.data) |
@@ -49,6 +49,7 @@ INSTALLED_APPS = ( |
||
49 | 49 |
'geo', |
50 | 50 |
'group', |
51 | 51 |
'message', |
52 |
+ 'miniapp', |
|
52 | 53 |
'operation', |
53 | 54 |
'page', |
54 | 55 |
'pay', |
@@ -27,6 +27,7 @@ isoweek==1.3.1 |
||
27 | 27 |
jsonfield==1.0.3 |
28 | 28 |
mock==2.0.0 |
29 | 29 |
pep8==1.7.0 |
30 |
+pywe-miniapp==1.0.0 |
|
30 | 31 |
pywe-oauth==1.0.2 |
31 | 32 |
records==0.4.3 |
32 | 33 |
redis-extensions==1.0.38 |