add api guest_status_api & modify api guest_login_api

Brightcells 9 years ago
parent
commit
03304ad48a
3 changed files with 32 additions and 3 deletions
  1. 29 1
      account/views.py
  2. 2 1
      api/urls.py
  3. 1 1
      utils/error/errno_utils.py

+ 29 - 1
account/views.py

@@ -210,6 +210,34 @@ def wx_authorize_api(request):
210 210
     })
211 211
 
212 212
 
213
+def guest_status_api(request):
214
+    """ 游客状态 """
215
+    gen = get_guest_entrance_control()
216
+
217
+    # 是否配置游客入口控制信息
218
+    if not gen:
219
+        return response(UserStatusCode.GUEST_NOT_ALLOWED)
220
+
221
+    # 平台校验
222
+    platform = gen.get('platform', '')
223
+    if request.Android:
224
+        if platform not in [GuestEntranceControlInfo.ADR, GuestEntranceControlInfo.BOTH]:
225
+            return response(UserStatusCode.GUEST_NOT_ALLOWED)
226
+    else:
227
+        if platform not in [GuestEntranceControlInfo.IOS, GuestEntranceControlInfo.BOTH]:
228
+            return response(UserStatusCode.GUEST_NOT_ALLOWED)
229
+
230
+    # 版本校验
231
+    if not is_version_match(request, gen):
232
+        return response(UserStatusCode.GUEST_NOT_ALLOWED)
233
+
234
+    return JsonResponse({
235
+        'status': 200,
236
+        'message': u'游客登录开启',
237
+        'data': {},
238
+    })
239
+
240
+
213 241
 def guest_login_api(request):
214 242
     """ 游客登录 """
215 243
     gen = get_guest_entrance_control()
@@ -249,7 +277,7 @@ def guest_login_api(request):
249 277
 
250 278
     return JsonResponse({
251 279
         'status': 200,
252
-        'message': u'Guest 登录成功',
280
+        'message': u'游客登录成功',
253 281
         'data': user.data,
254 282
     })
255 283
 

+ 2 - 1
api/urls.py

@@ -19,7 +19,8 @@ urlpatterns = [
19 19
 
20 20
     url(r'^u/wx/authorize$', account_views.wx_authorize_api, name='wx_authorize_api'),  # 微信用户授权
21 21
 
22
-    url(r'^u/guest$', account_views.guest_login_api, name='guest_login_api'),  # 游客登录
22
+    url(r'^u/guest/status$', account_views.guest_status_api, name='guest_status_api'),  # 游客状态(是否开启)
23
+    url(r'^u/guest/login$', account_views.guest_login_api, name='guest_login_api'),  # 游客登录
23 24
 ]
24 25
 
25 26
 # 群组相关

+ 1 - 1
utils/error/errno_utils.py

@@ -26,7 +26,7 @@ class UserStatusCode(BaseStatusCode):
26 26
     USER_PASSWORD_ERROR = StatusCodeField(400102, u'User Password Error', description=u'用户密码错误')
27 27
     USERNAME_HAS_REGISTERED = StatusCodeField(400103, u'Username Has Registered', description=u'用户名已注册')
28 28
 
29
-    GUEST_NOT_ALLOWED = StatusCodeField(400111, u'Guest Not ALLOWED', description=u'游客登录不允许')
29
+    GUEST_NOT_ALLOWED = StatusCodeField(400111, u'Guest Not ALLOWED', description=u'游客登录未开启')
30 30
 
31 31
 
32 32
 class PhotoStatusCode(BaseStatusCode):