chenjunkai 7 years ago
parent
commit
916fcc387a
3 changed files with 35 additions and 4 deletions
  1. 2 2
      Ansjer/settings.py
  2. 2 1
      Ansjer/urls.py
  3. 31 1
      Controller/UserController.py

+ 2 - 2
Ansjer/settings.py

@@ -1,7 +1,7 @@
 import os
 
-# SERVER_TYPE = 'local'
-SERVER_TYPE = 'test'
+SERVER_TYPE = 'local'
+# SERVER_TYPE = 'test'
 # SERVER_TYPE = 'formal'
 # 根目录
 

+ 2 - 1
Ansjer/urls.py

@@ -11,7 +11,8 @@ urlpatterns = [
     url(r'^account/logout$', UserController.LogoutView.as_view(), name='logout_user'),
     url(r'^account/changePwd$', UserController.ChangePwdView.as_view(), name='change_password'),
     url(r'^account/forget$', UserController.ForgetPwdView.as_view(), name='forget_password'),
-    url(r'^accounts/email-re-pwd/$', UserController.EmailResetPwdView.as_view()),
+    url(r'^account/email-re-pwd$', UserController.EmailResetPwdView.as_view()),
+    url(r'^account/refreshTk$', UserController.refreshTokenView.as_view()),
 
     ###
     url(r'^admin/', admin.site.urls),

+ 31 - 1
Controller/UserController.py

@@ -493,7 +493,7 @@ class ForgetPwdView(TemplateView):
 
                     reset_pwd = CommonService.RandomStr(6)
                     send_data = TemplateService.email_message(type='forget', language='en')
-                    reset_link = '{server_host}/accounts/email-re-pwd/?token={token}'.format(
+                    reset_link = '{server_host}/account/email-re-pwd?token={token}'.format(
                         server_host=self.__server_host, token=token)
                     send_body = send_data['body'].format(username=email, reset_pwd=reset_pwd, reset_link=reset_link)
                     ses = SesClassObject()
@@ -560,3 +560,33 @@ class EmailResetPwdView(TemplateView):
                 return response.json(tko.code)
         else:
             return response.json(444, 'token')
+
+class refreshTokenView(TemplateView):
+    @method_decorator(csrf_exempt)
+    def dispatch(self, *args, **kwargs):
+        return super(refreshTokenView, self).dispatch(*args, **kwargs)
+
+    def post(self, request, *args, **kwargs):
+        request.encoding = 'utf-8'
+        request_dict = json.loads(request.body.decode('utf-8'))
+        return self.validation(request_dict)
+
+    def get(self, request, *args, **kwargs):
+        request.encoding = 'utf-8'
+        request_dict = request.GET
+        return self.validation(request_dict)
+
+    def validation(self, request_dict):
+        token = request_dict.get('token', None)
+        lang = request_dict.get('lang', None)
+        response = ResponseObject(lang)
+        if token is not None:
+            tko = TokenObject(token)
+            res = tko.refresh()
+            code = tko.code
+            if code == 0:
+                return response.json(0, res)
+            else:
+                return response.json(code)
+        else:
+            return response.json(444, 'token')