locky 3 жил өмнө
parent
commit
0916f1ccac

+ 1 - 0
Ansjer/urls.py

@@ -138,6 +138,7 @@ urlpatterns = [
     url(r'^v2/account/login$', UserController.v3LoginView.as_view()),
     url(r'^v3/account/login$', UserController.v3LoginView.as_view()),
     url(r'^account/oneClickLogin$', UserController.oneClickLoginView.as_view()),
+    url(r'^account/createPwd$', UserController.createPwd.as_view()),
 
     #用户删除/注销
     url(r'^account/delete$', UserController.deleteAccount),

+ 43 - 0
Controller/UserController.py

@@ -448,6 +448,49 @@ class v3ChangePwdView(TemplateView):
             return response.json(177)
 
 
+# 创建密码接口
+class createPwd(TemplateView):
+    def get(self, request, *args, **kwargs):
+        request.encoding = 'utf-8'
+        return self.validation(request.GET)
+
+    def post(self, request, *args, **kwargs):
+        request.encoding = 'utf-8'
+        return self.validation(request.POST)
+
+    def validation(self, request_dict):
+        token = request_dict.get('token', None)
+        password = request_dict.get('password', None)
+        response = ResponseObject()
+
+        if not all([token, password]):
+            return response.json(444)
+
+        try:
+            # 解密token获取userID
+            tko = TokenObject(token)
+            response.lang = tko.lang
+            if tko.code != 0:
+                return response.json(tko.code)
+            userID = tko.userID
+
+            # 解密
+            for i in range(1, 4):
+                password = base64.b64decode(password)
+                password = password.decode('utf-8')
+                password = password[i:-i]
+            update = Device_User.objects.filter(userID=userID).update(password=make_password(password))
+            if update:
+                return response.json(0)
+            else:
+                return response.json(177)
+        except Exception as e:
+            djangoLogger = logging.getLogger('django')
+            djangoLogger.exception(e)
+            print(e)
+            return response.json(500, repr(e))
+
+
 class ForgetPwdView(TemplateView):
     '''
     忘记密码