|
47
|
|
- return response(200, 'User Login Success', u'用户端登录成功', user.data)
|
|
48
|
|
-
|
|
49
|
|
-
|
|
50
|
|
-@logit
|
|
51
|
|
-@transaction.atomic
|
|
52
|
|
-def user_guest_login_api(request):
|
|
53
|
|
- """ 游客登录 """
|
|
54
|
|
- gen = get_guest_entrance_control()
|
|
55
|
|
-
|
|
56
|
|
- # 是否配置游客入口控制信息
|
|
57
|
|
- if not gen:
|
|
58
|
|
- return response(UserStatusCode.GUEST_NOT_ALLOWED)
|
|
59
|
|
-
|
|
60
|
|
- # 平台校验
|
|
61
|
|
- platform = gen.get('platform', '')
|
|
62
|
|
- if request.Android:
|
|
63
|
|
- if platform not in [GuestEntranceControlInfo.ADR, GuestEntranceControlInfo.BOTH]:
|
|
64
|
|
- return response(UserStatusCode.GUEST_NOT_ALLOWED)
|
|
65
|
|
- else:
|
|
66
|
|
- if platform not in [GuestEntranceControlInfo.IOS, GuestEntranceControlInfo.BOTH]:
|
|
67
|
|
- return response(UserStatusCode.GUEST_NOT_ALLOWED)
|
|
68
|
|
-
|
|
69
|
|
- # 版本校验
|
|
70
|
|
- if not is_version_match(request, gen):
|
|
71
|
|
- return response(UserStatusCode.GUEST_NOT_ALLOWED)
|
|
72
|
|
-
|
|
73
|
|
- # 通用唯一识别码 (Universally Unique Identifier)
|
|
74
|
|
- uuid = request.POST.get('uuid', '')
|
|
75
|
|
- # 游客字段
|
|
76
|
|
- fields = {
|
|
77
|
|
- 'user_id': CurtailUUID.uuid(UserInfo, 'user_id'),
|
|
78
|
|
- 'user_from': UserInfo.GUEST_USER,
|
|
79
|
|
- 'uuid': uuid,
|
|
80
|
|
- 'nickname': u'游客',
|
|
81
|
|
- 'user_status': UserInfo.ACTIVATED,
|
|
82
|
|
- }
|
|
83
|
|
- # 若 uuid 存在,则 get_or_create,否则 create
|
|
84
|
|
- if uuid:
|
|
85
|
|
- user, created = UserInfo.objects.select_for_update().get_or_create(user_from=UserInfo.GUEST_USER, uuid=uuid, defaults=fields)
|
|
86
|
|
- if created:
|
|
87
|
|
- user.nickname = u'游客{}'.format(user.pk)
|
|
88
|
|
- user.save()
|
|
89
|
|
- else:
|
|
90
|
|
- user = UserInfo.objects.select_for_update().create(**fields)
|
|
91
|
|
- user.nickname = u'游客{}'.format(user.pk)
|
|
92
|
|
- user.save()
|
|
93
|
|
-
|
|
94
|
|
- return response(200, 'Guest Login Success', u'游客登录成功', user.data)
|
|
95
|
|
-
|
|
96
|
|
-
|
|
97
|
|
-class UserViewSet(viewsets.ModelViewSet):
|
|
98
|
|
- """
|
|
99
|
|
- API endpoint that allows users to be viewed or edited.
|
|
100
|
|
- """
|
|
101
|
|
- queryset = User.objects.all().order_by('-pk')
|
|
102
|
|
- serializer_class = UserSerializer
|
|
103
|
|
-
|
|
104
|
|
-
|
|
105
|
|
-class GroupViewSet(viewsets.ModelViewSet):
|
|
106
|
|
- """
|
|
107
|
|
- API endpoint that allows groups to be viewed or edited.
|
|
108
|
|
- """
|
|
109
|
|
- queryset = Group.objects.all()
|
|
110
|
|
- serializer_class = GroupSerializer
|
|
111
|
|
-
|
|
112
|
|
-
|
|
113
|
|
-class LensmanInfoViewSet(viewsets.ModelViewSet):
|
|
114
|
|
- queryset = LensmanInfo.objects.all().order_by('-pk')
|
|
115
|
|
- serializer_class = LensmanInfoSerializer
|
|
116
|
|
-
|
|
117
|
|
-
|
|
118
|
|
-class UserInfoViewSet(viewsets.ModelViewSet):
|
|
119
|
|
- queryset = UserInfo.objects.all().order_by('-pk')
|
|
120
|
|
- serializer_class = UserInfoSerializer
|
|
|
7
|
+# Create your views here.
|
|
|
|
@@ -2,8 +2,7 @@
|
|
2
|
2
|
|
|
3
|
3
|
from django.conf.urls import url
|
|
4
|
4
|
|
|
5
|
|
-from account import tourguide_views
|
|
6
|
|
-from account import views as account_views
|
|
|
5
|
+from account import account_views, tourguide_views
|
|
7
|
6
|
from api import encrypt_views, mch_views
|
|
8
|
7
|
from box import views as box_views
|
|
9
|
8
|
from geo import views as geo_views
|
|
|
|
@@ -21,7 +21,7 @@ from django.conf.urls.static import static
|
|
21
|
21
|
from django.contrib import admin
|
|
22
|
22
|
from rest_framework import routers
|
|
23
|
23
|
|
|
24
|
|
-from account import views as account_views
|
|
|
24
|
+from account import account_views
|
|
25
|
25
|
from group import group_views, grouppage_views
|
|
26
|
26
|
from miniapp import views as mini_views
|
|
27
|
27
|
from photo import views as photo_views
|