@@ -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 |