| 
					
				 | 
			
			
				@@ -269,4 +269,75 @@ class GetList(TemplateView): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     self.menulist(menu_qs,menulist['children']) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        return list 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return list 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+class UserManagement(View): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    def get(self, request, *args, **kwargs): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        request.encoding = 'utf-8' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        operation = kwargs.get('operation') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return self.validation(request.GET, request, operation) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    def post(self, request, *args, **kwargs): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        request.encoding = 'utf-8' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        operation = kwargs.get('operation') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return self.validation(request.POST, request, operation) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    def validation(self, request_dict, request, operation): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        language = request_dict.get('language', 'en') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        response = ResponseObject(language, 'pc') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if operation == '??': 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            return 0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        else: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            tko = TokenObject(request.META.get('HTTP_AUTHORIZATION'), returntpye='pc') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if tko.code != 0: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                return response.json(tko.code) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            response.lang = tko.lang 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            userID = tko.userID 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if operation == 'getUserInfo': 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                return self.getUserInfo(userID, request_dict, response) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if operation == 'doEdit': 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                return self.doEdit(userID, request_dict, response) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if operation == 'doDelete': 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                return self.doDelete(userID, request_dict, response) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            else: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                return response.json(404) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    def getUserInfo(self, userID, request_dict, response): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        print('request_dict: ', request_dict) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        pageNo = request_dict.get('pageNo', None) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        pageSize = request_dict.get('pageSize', None) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if not all([pageNo, pageSize]): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            return response.json(444) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        page = int(pageNo) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        line = int(pageSize) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        try: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            device_user_qs = Device_User.objects.filter().all()  # values('username', 'role', 'phone', 'NickName', 'userEmail', 'data_joined', 'last_login', 'online') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            count = device_user_qs.count() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            device_users = device_user_qs[(page - 1) * line:page * line] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            user_list = [] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            for device_user in device_users: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                role = device_user.role.first() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                rid = role.rid if role else 1   # 不存在角色默认分配为'用户' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                user_list.append({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    'userID': device_user.userID, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    'username': device_user.username, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    'NickName': device_user.NickName, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    'role': Role.objects.get(rid=rid).roleName, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    'phone': device_user.phone, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    'userEmail': device_user.userEmail, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    'data_joined': device_user.data_joined.strftime("%Y-%m-%d %H:%M:%S"), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    'last_login': device_user.last_login.strftime("%Y-%m-%d %H:%M:%S"), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    'online': device_user.online, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            print('user_list: ', user_list) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            return response.json(0, {'list': user_list, 'count': count}) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        except Exception as e: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            print(e) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            return response.json(500, repr(e)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 |